Introduction to digital computers;
Introduction to programming in C - variables, assignments; expressions; input/output;
Conditionals and branching; iteration;
Functions; recursion; arrays;
Introduction to pointers;
Structures;
Introduction to data-procedure encapsulation;
Dynamic allocation;
Linked structures;
Introduction to data structures - stacks and queues;
Time and space requirements.
Brian W. Kernighan and Dennis M. Ritchie, The C Programming Language, Prentice Hall of India.
E. Balaguruswamy, Programming in ANSI C, Tata McGraw-Hill.
Byron Gottfried, Schaum's Outline of Programming with C, McGraw-Hill.
Seymour Lipschutz, Data Structures, Schaum's Outlines Series, Tata McGraw-Hill.
Ellis Horowitz, Satraj Sahni and Susan Anderson-Freed, Fundamentals of Data Structures in C, W. H. Freeman and Company.
R. G. Dromey, How to Solve it by Computer, Prentice-Hall of India.
Other materials will be announced/distributed as the class progresses.
Class Test : 20 marks
Mid Semester Examination : 30 marks
End Term Examination : 50 marks
Conditions and Branching (contd.)
Functions without Recursions (contd.)
The IEEE Floating Point Numbers (IEEE 754 Format)
Pointers to Pointers (Introduction to Pointers)
Pointers to Pointers (Introduction to Pointers)
Pointers to 2-D arrays (contd.)
Pointers to functions and Introduction to Structures
Structures and Self Referential Structures
Dynamic Memory Allocation and Abstract Data Types (ADT)
Implementing the List ADT with Linked Lists
The queue ADT and some applications of ADT
Growth of Functions: The big O
An Introduction to Analysis of Algorithms