CS10001 - Programming and Data Structures, Autumn 2018.

Instructors:

Sections 9&10: Prof. Sandip Chakraborty
Sections 11&12: Prof. Bivas Mitra
Sections 13&14: Prof. Niloy Ganguly
Sections 15&16: Prof. K. Sreenivasa Rao

Teaching Assistants:

Sections 9&10: Aditya Bhagwat, Jagriti Jalal, Indrajit Mazumdar, Jonna Sankaraganesh
Sections 11&12: Madiraju Srilakshmi, Arunavo Banerjee, Binny Mathew, Kumud Tripathi
Sections 13&14: Madhumita Mallick, Anupam Banerjee, Tamoghna Ojha, Srijeeta Maity
Sections 15&16: Kishore Kumar R, Pradeep R, Saikat Biswas, Soumya Majumdar

Class Timings & Venues:

Sections 9&10: Mon (10:00-10:55) + Wed (8:00-9:55), NR-122 (Nalanda Complex).
Sections 11&12: Mon (10:00-10:55) + Wed (8:00-9:55), NR-222 (Nalanda Complex).
Sections 13&14: Thurs (9:00-9:55) + Fri (11:00-12:55), NR-122 (Nalanda Complex).
Sections 15&16: Thurs (9:00-9:55) + Fri (11:00-12:55), NR-222 (Nalanda Complex).

Test Dates:

Class Test 1: 29 Aug 2018 (Wednesday). Timing: 7:00 p.m. to 8:00 p.m. Sitting Arrangement    Questions    Solutions
MidSem: 20 Sep 2018 (Thursday). Questions    Solutions
Class Test 2: 31 Oct 2018 (Wednesday). Timing: 6:30 p.m. to 7:30 p.m. Sitting Arrangement    Questions    Solutions
EndSem: (Practice) Questions    Solutions

Syllabus: (i) Basic expression evaluation (ii) conditions: if ... else, switch ... case (iii) inline and simple macro definitions (iv) loops: for, while, do ... while, continue (v) integer arithmetic and integer data representation, IEEE 754 floating point arithmetic (vi) pointer manipulation (vii) 1-D and 2-D arrays (viii) strings (ix) functions (call by value, call by reference) (x) recursion (xi) sorting -- selection sort, insertion sort, bubble sort, merge sort (xii) complexity analysis -- big-O, big-Omega, big-theta, worst case and best case analysis. (xiii) structures (xiv) single linked lists (xv) stacks and queues

Lecture slides:

1. Introduction, Variables, Costants and I/O
2. Expressions and Assignment
3. Conditional Statements
4. Loops
5. Arrays
6. Functions
7. Recursion
8. Structures
9. Number Systems
10. Pointer Basics
11. Pointers Arrays Structures
12. Pointers Parameters Strings
13. Pointers Dynamic Memory Allocation
14. 2D Arrays
14. Sorting
14. File, CmdLine

Course Materials:

• Programming with C, Byron Gottfried.

• The C Programming Language, Brian W Kernighan, Dennis M Ritchie.

• Data structures, S. Lipschutz, Schaum’s Outline Series

• Materials of some of the previous PDS Theory courses are available here

Evaluation:

Mid-sem Exam: 30%
End-sem Exam: 50%
Two Class Tests: 20%

Course Rules:

Attendance is mandatory. Institute Policy regarding attendance: “If a student does not have a minimum of 80% attendance in a subject, he/she can be deregistered from the subject at the discretion of the subject teacher”
Leave Policy: It must be due to either medical reasons (must be certified by the B.C. Roy Technology Hospital) or the student should get prior permission from Dean (Academic).