Programming and Data Structures Theory (CS10001)
Autumn semester 2019-20
Announcements
- Important instructions for End-semester exam:
- Make sure to write your (1) Name, (2) Roll number, and (3) Section on the answer booklet. More than 800 students are writing the exam, spread across 10 sections. It will be impossible to find your answer script unless you write all the three information.
- Each question has a blank or a box provided for the answer. Your final answer should be written exactly on the blank or within the box. We will check only what is written on the blank or inside the box.
- Syllabus for End-semester exam: all topics covered in the semester.
- Second class test on October 30, 2019. See important information.
- Important instructions for Mid-semester exam:
- Make sure to write your (1) Name, (2) Roll number, and (3) Section on the answer booklet. More than 800 students are writing the exam, spread across 10 sections. It will be impossible to find your answer script unless you write all the three information.
- Each question has a blank or a box provided for the answer. Your final answer should be written exactly on the blank or within the box. We will check only what is written on the blank or inside the box.
- Syllabus for Mid-semester exam: all topics up to Structures.
- First class test on August 28, 2019. See important information.
- Classes start from July 29, 2019.
Teachers
- Sections 11, 12: Indranil Sengupta (isg @ iitkgp . ac . in)
- Sections 13, 14: Jayanta Mukhopadhyay (jay @ cse . iitkgp . ac . in)
- Sections 15, 16: Sudip Misra (smisra @ sit . iitkgp . ac . in)
- Sections 17, 18: Saptarshi Ghosh (saptarshi @ cse . iitkgp . ac . in)
- Sections 19, 20: Soumya K. Ghosh (skg @ cse . iitkgp . ac . in)
Course evaluation
- Mid-semester: 30%
- End-semester: 50%
- Two Class Tests and attendance: 20%
Resources
Textbooks
- The C Programming Language -- by Kernighan and Ritchie
- Programming with C -- by Gottfried
- Programming in ANSI C -- by Balagurusamy
- Data Structures -- by Lipschutz
- Data Structures using C and C++ -- by Langsam, Augenstein, Tanenbaum
Other resources
Lectures (tentative schedule)
Date |
Nos. hours (expected) |
Slides |
Topics |
29/07--02/08 |
4 |
pdf |
Introduction, Flowcharts, data types, variables and constants, operators, expression, assignment, basic I/O |
05/08--09/08 |
4 |
pdf |
Control statements - Branching / decision, Looping |
12/08--16/08 |
2-3 |
pdf |
Functions and recursion |
19/08--23/08 |
4 |
Arrays (pdf) |
Functions and recursion (contd.), Arrays and strings |
28/08 (Wednesday): CLASS TEST 1. Syllabus up to functions and recursion.
Model solution (pdf)
|
26/08--30/08 |
3 |
Strings (pdf)
2-D Arrays (pdf)
|
Strings (contd.), 2-d arrays, using arrays and strings with functions |
02/09--06/09 |
3 |
pdf |
Structures, Arrays of structures, use of structures with functions |
09/09--13/09 |
2-3 |
Pointers-revision (pdf) |
Arrays of structures (contd.), Doubt clearing |
16/09--24/09: MID-SEMESTER EXAMINATION. Syllabus up to Structures.
Question (pdf)
Model solution (pdf)
|
25/09--04/10 |
3-4 |
Dynamic Allocation (pdf)
2D-arrays and pointers (pdf)
|
Relationship of pointers with arrays and structures, dynamic memory allocation (slides on pointers and structures included in previous slide set) |
05/10--09/10: Autumn break |
10/10--18/10 |
4 |
Number systems (pdf)
Files and Cmd-line-args (pdf)
|
Number systems, Files, Command line arguments |
21/10--25/10 |
3 |
pdf |
Linked list, abstract data types |
30/10 (Wednesday): CLASS TEST 2. Syllabus: Dynamic memory allocation of 1D and 2D arrays, Number systems, File handling, plus topics covered before mid-semester (such as arrays, functions, etc).
Question (pdf)
Model solution (pdf)
|
28/10--01/11 |
3 |
pdf |
Stacks and Queues - implementation using arrays and linked lists. Applications of stack. |
04/11--08/11 |
3 |
pdf |
Searching algorithms: linear, binary. Sorting algorithms: selection-sort, insertion-sort, bubble-sort, quick-sort, merge-sort. |
25/11: END-SEMESTER EXAMINATION
Question (pdf)
Model solution (pdf)
|
|