CS11001 : Programming and Data Structures (LTP: 3 1 0, Credits 4)

Detailed Syllabus:

Introduction to digital computers;

Introduction to programming in C - variables, assignments; expressions; input/output;

Conditionals and branching; iteration;

Functions; recursion; arrays;

Introduction to pointers;


Introduction to data-procedure encapsulation;

Dynamic allocation;

Linked structures;

Introduction to data structures - stacks and queues;

Time and space requirements.

Text Books:

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.

Evaluation Procedure

Class Test : 20 marks

Mid Semester Examination : 30 marks

End Term Examination : 50 marks

Presentations for the class:


Basics of a Digital Computer

Variables and Data Types

More on Data Types

Assignments in C

More on Assignments

Conditions and Branching

Conditions and Branching (contd.)

Loops (contd.)

Functions without Recursions

Functions without Recursions (contd.)

Introduction to Arrays

Recursions and Functions

Numbers in Computers

The IEEE Floating Point Numbers (IEEE 754 Format)

More Examples on Recursions

Multi-dimensional Arrays

Pointers to Pointers (Introduction to Pointers)

Pointers to Pointers (Introduction to Pointers)

Pointers to 2-D arrays

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)

ADT and The List ADT

Implementing the List ADT with Linked Lists

The Stack ADT

The Stack ADT (contd.)

The queue ADT

The queue ADT and some applications of ADT

Growth of Functions: The big O

An Introduction to Analysis of Algorithms

Important Links

The PDS Help Line (Please see this website for more questions, answers and materials related to this course.)

Some Programs for the course. (Note the codes are uncommented.

Copy the file cprog.tar in a folder and type the following commands:

1. cd folder, 2. tar -xvf cprog.tar

in the command prompt of your machine.)