Programming for Problem Solving (ES-CS201)
10 units: · L-T-P 3L+1T/week.
Detailed syllabus
Unit 1 (8 hours)
Introduction to Programming Introduction to components of a computer system (disks, memory, processor, where a program is stored and executed, operating system, compilers etc.) -. Idea of Algorithm: steps to solve logical and numerical problems. Representation of Algorithm: Flowchart/Pseudocode with examples. From algorithms to programs; source code, variables (with data types) variables and memory locations, Syntax and Logical Errors in compilation, object and executable code-
Unit 2 (2 hours)
Arithmetic expressions and precedence
Unit 3 (6 hours)
Conditional Branching and Loops Writing and evaluation of conditionals and consequent branching Iteration and loops
Unit 4 (6 hours)
Arrays Arrays (1-D, 2-D), Character arrays and Strings
Unit 5 (6 hours)
Basic Algorithms Searching, Basic Sorting Algorithms (Bubble, Insertion and Selection), Finding roots of equations, notion of order of complexity through example programs (no formal definition required)
Unit 6 (5 hours)
Function Functions (including using built in libraries), Parameter passing in functions, call by value, Passing arrays to functions: idea of call by reference
Unit 7 (5 hours)
Recursion (4 -5 lectures) Recursion, as a different way of solving problems. Example programs, such as Finding Factorial, Fibonacci series, Ackerman function etc. Quick sort or Merge sort.
Unit 8 (4 hours)
Structure Structures, Defining structures and Array of Structures
Unit 9 (2 hours)
Pointers Idea of pointers, Defining pointers, Use of Pointers in self- referential structures, notion of linked list (no implementation)
Unit 10
File handling (only if time is available, otherwise should be done as part of the lab)
Source: official document