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)