Module 1: Introduction to Programming (6 Lectures)
- Introduction to components of a computer system
- 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, type casting/type conversion
- Run time environment (static, dynamic location), storage classes
- Syntax and logical errors in compilation, object and executable code
Module 2: Operators (3 Lectures)
- Arithmetic expressions/arithmetic operators
- Relational operators
- Logical operators
- Bitwise operators and precedence
Module 3: Conditional Branching and Loops (5 Lectures)
- Writing and evaluation of conditionals and consequent branching
- Iteration and loops
Module 4: Arrays (4 Lectures)
- Array declaration & initialization, bound checking
- Arrays (1-D, 2-D), Character arrays and Strings
Module 5: Basic Algorithms (6 Lectures)
- Searching (linear search, binary search etc.)
- Basic sorting algorithms (bubble, insertion and selection)
- Finding roots of equations
- Notion of order of complexity through example programs
Module 6: Function (4 Lectures)
- Introduction & writing functions, scope of variables
- Functions (including using built in libraries)
- Parameter passing in functions, call by value
- Passing arrays to functions: idea of call by reference
Module 7: Recursion (5 Lectures)
- Recursion, as a different way of solving problems
- Example programs, such as finding factorial, Fibonacci series, reverse a string using recursion
- Quick sort or Merge sort
Module 8: Structure/Union (3 Lectures)
- Structures, accessing structure elements
- Way of storage of structure element, defining structures and array of structures
- Basic definition of union, comparison between structure & union with example
Module 9: Pointers (5 Lectures)
- Idea of pointers, defining pointers
- Use of Pointers in self-referential structures
- Notion of linked list (no implementation)
- Pointer to pointer, pointer to array, pointer to strings
- Array of pointer, pointer to function, pointer to structure
Module 10: File Handling
(Only if time is available, otherwise should be done as part of the lab)