'Computer Programming' is a course offered in the second semester of  B. Tech. programs at the School of Engineering, Amrita Vishwa Vidyapeetham.

Preamble

This course provides the foundations of programming. Apart from the usual mechanics of a typical programming language, the principles and methods will form the main focus of this course. Shift from learn to program to programming to learn forms the core of this course.

Prerequisite(s) : 19CSEXXX Problem Solving and Algorithmic Thinking

Course Outcomes

CO Statement Level
CO1 Understand the typical programming constructs: data (primitive and compound), control, modularity, recursion etc. thereby to understand a given program L2
CO2 Understand and analyze a given program by tracing, identify coding errors and debug them L2
CO3 M a k e use of the programming constructs appropriately and effectively while developing computer programs L3
CO4 Develop computer programs that implement suitable algorithms for problem scenarios and applications L3

CO-PO Mapping

COs PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 PSO1 PSO2
CO1 1             1            
CO2 1 1 1         1            
CO3 1 2 2         2            
CO4 2 3 2         3            

Unit 1

Introduction and Review of C language constructs. Functions – inter function communication, standard functions, scope. Recursion – recursive definition, recurivse solution, designing recursive functions, limitations of recursion. Arrays – 1D numeric, searching and sorting, 2D numeric arrays.

Unit 2

Pointers: introduction, compatibility, arrays and pointers, Dynamic memory allocation, arrays of pointers, pointer arithmetic. Strings: fixed length and variable length strings, strings and characters, string input, output, array of strings, string manipulation functions, sorting of strings.

Unit 3

Structures: structure vs array comparison, complex structures, structures and functions, Union. Files and streams, file input output, command line arguments.

Evaluation Pattern: I

TEXTBOOK:

  • Forouzan BA, Gilberg RF. Computer Science: A structured programming approach using C. Third Edition, Cengage Learning; 2006.

REFERENCES:

  • yron Gott Programming With C. Fourth Edition, McGrawHill,; 2018.
  • rian W. Kernighan and Dennis M. Ritchie. The C Programming Language. Second Edition, Prentice Hall, 1988.
  • Eric S. Robe Art and Science of C. Addison Wesley; 1995.
  • Jeri Hanly and Elliot Koffman. Problem Solving and Program Design in C. Fifth Edition, Addison Wesley (Pearson); 2007.