Introduction to Programming

Administrivia

Schedule

Upto the mid-semester examination, this course will be co-located with the Data and File Structures Laboratory course.

Classes: 14:15 onwards on Mondays, Wednesdays, and Thursdays
Practice sessions / lab tests: 14:15 onwards on Fridays (the schedule for lab tests will be announced beforehand).

Marks distribution

Assignments: 40%. All assignments will be given after the mid-semester examination. If you are doing this course, but not doing the Data and File Structures Laboratory course, please do the assignments for that course up to the mid-semester examination. Your marks in these assignments will not count for this course, but you are likely to find them useful as practice / warm-up problems.
Mid-semester examination: 10%
End-semester examination: 50%

Material

Slides Programmes
Preliminaries blood-groups.c,     gcd.c
Basics of C
Functions - I
Functions - II
Structures and unions- I common.h,     student-data.c
Odds and ends
Lazy evaluation, static variables, function pointers, etc.

Problem sets

Misc. programming problems - 1
Misc. programming problems - 2 problem2.1.c,     problem2.4.c
Misc. programming problems - 3 permutation.c
Misc. programming problems - 4
Misc. programming problems - 5
Misc. programming problems - 6
Misc. programming problems - 7
Misc. programming problems - 8

Homework assignments

Homework 1 Test cases
Homework 2 Test cases

Submission instructions

  1. File naming convention. Please strictly adhere to the conventions specified in the PDS Lab for the top-level file. For supporting files, if the names have been specified in the homework, please use these names. Otherwise, choose appropriate names for any additional files that you use.
  2. Create a single shell script named compile.sh that contains the commands required to compile your programs.
  3. Please put ALL your files (source files for all problems + compile.sh) in a single directory named cs15xx-hwy (where y == homework number). Create a tarball from this directory using the following command:
    $ tar czf cs15xx-hwy.tgz ./cs15xx-hwy
  4. Mail the tarball to mandar.mitra@gmail.com. Use "Homework y" as your subject line.

Final examination

2015 Solution

Instructions

  1. All programs should be written in C.
  2. Please strictly adhere to the following conventions for naming your files. The main file for problem number i should be named cs15xx-probi.c, where 15xx is your roll number. Any supporting files should be named cs15xx-probi-aux1.c, cs15xx-probi-aux1.h, cs15xx-probi-aux2.c, and so on.
  3. Create a single shell script named compile.sh that contains the commands required to compile all your programs.
  4. Please put ALL your files in a single directory named cs15xx. Create a tarball from this directory using the following command:
    $ tar czf cs15xx.tgz ./cs15xx.
  5. Mail the tarball to mandar.mitra@gmail.com. Use Programming End-sem as your subject line.
  6. You may consult your notes, manual pages or other documentation available on your machine, but you will be permitted Internet access only when submitting your answer.
  7. For Question 4, please submit a written answer in the provided answer sheet in addition to your program. Your answer should clearly describe the data structure and algorithm that you use, using diagrams if necessary.
  8. You may also submit a brief written answer / solution sketch for the other problems. Your programs will be tested using randomly generated test cases. Even if your programs do not work correctly on these test cases, you may get partial credit based on your written answers.

Other resources


Last modified: Mon Feb 1 10:52:43 IST 2016