Information information
Data and File Structures Laboratory | aka PDS Lab
MTech (CS) First Year First Semester |
Syllabus
Marks distribution : Assignments (~ 10) : Lab Tests (~ 5) = 50 : 50
There will be no Mid-Sem or End-Sem examination for this course.
Schedule : 2 Lab Sessions per week -- 3 hours per Session (typically)
Venue : CSSC Lab - I, 4th Floor, S N Bose Bhavan (Library Building)
Lecture schedule for a typical week will be as follows. Changes, if any, will be notified in the Lab.
| Time | Mon | Tue | Wed | Thu | Fri |
|---|---|---|---|---|---|
| 14:15 - 17:00 | -- | -- | Lab Session | -- | Lab Session |
Programming Environment
If CS16XX is your ISI MTech CS roll number, login to the CSSC virtual machine as follows:
$ ssh mtc16XX@192.168.64.35If you want to access gedit editor for programming, login to the virtual machine as follows:
$ ssh -X mtc16XX@192.168.64.35Follow Lecture 1 and the Bash Cheat-Sheet to get yourself acquainted with the basics of GNU/Linux.
The file structure within your home directory, located at /user1/mtc16/mtc16XX/ on the virtual machine, and accessible through $ cd after you have logged in, should preferably be as follows.
Please note, and try to adhere to, the naming convention of the program files as well.
/user1/mtc16/mtc16XX/
|
+-- dfslab/
+-- assignments/
| +-- assign1/
| | |- cs16XX-assign1-prog1.c
| | |- cs16XX-assign1-prog2.c
| | |- cs16XX-assign1-prog3.c
| | |- cs16XX-assign1-prog4.c
| | `- README.txt
| |
| +-- assign2/
| +-- assign3/
| +-- ... etc.
|
+-- labsessions/
| +-- pds20160720/
| | |- cs16XX-20160720-prog1.c
| | |- cs16XX-20160720-prog2.c
| | `- README.txt
| |
| +-- pds20160722/
| +-- pds20160727/
| +-- ... etc.
|
+-- labtests/
| +-- labtest1/
| | |- cs16XX-labtest1-prog1.c
| | |- cs16XX-labtest1-prog2.c
| | |- cs16XX-labtest1-prog3.c
| | `- README.txt
| |
| +-- labtest2/
| +-- labtest3/
| +-- ... etc.
|
`-- miscellaneous/
Lectures lectures
| Day | Date | Topic | Note | Ref |
|---|---|---|---|---|
| 1 | 20 Jul 2016 | Introduction to Linux [SSG] | Slides [PDF] | (B3), (B16) |
| 2 | 22 Jul 2016 | Preliminaries in C [RiB] | -- | -- |
| 3 | 27 Jul 2016 | Arrays and Pointers [RiB] | -- | -- |
| 4 | 29 Jul 2016 | Arrays and Pointers [RiB] | -- | -- |
| 5 | 3 Aug 2016 | Functions and Recursion [SSG] | -- | -- |
| 6 | 5 Aug 2016 | Files, I/O and Buffer [SSG] | Code [cat] | -- |
| 7 | 10 Aug 2016 | Linked Lists, Stack and Queue [MM] | Slides [PDF] | -- |
| 8 | 12 Aug 2016 | Linked Lists, Stack and Queue [MM] | Slides [PDF] | -- |
Assignments assignments
Assignments constitute 50% of the total marks (tentatively 10 assignments in total).
| Assignment | Uploaded | Clarification | Submission | Note | Marks |
|---|---|---|---|---|---|
| Assignment 1 | 20-07-2016 | 22-07-2016 | 27-07-2016 | -- | TBA |
| Assignment 2 | 06-08-2016 | 10-08-2016 | 12-08-2016 | -- | TBA |
Lab Tests tests
The Lab tests constitute 50% of the total marks (tentatively 5 lab tests in total).
| Test | Date | Question | Solution | Marks/Comments |
|---|---|---|---|---|
| 1 | 13-08-2016 (tentative) | TBA | TBA | TBA |
| 2 | 03-09-2016 (tentative) | TBA | TBA | TBA |
Instructors
Teaching Assistants
To be announced.
Announcements
- Assignment 1 posted (due on 27/07/2016).
- Basic course information posted.
- Course website is now online.
Study Material
-
(B1) The C Programming Language
B. W. Kernighan and D. M. Ritchie
Prentice Hall, India -
(B2) How to Solve it by Computer
R. G. Dromey
Pearson Education -
(B3) The Unix Programming Environment
B. W. Kernighan and R. Pike
Prentice Hall, India -
(B4) Introduction to Algorithms
T. H. Cormen, C. E. Leiserson, R. L. Rivest and C. Stein
MIT Press -
(B5) Fundamentals of Data Structures
E. Horowitz and S. Sahni
Universities Press -
(B6) Data Structure Techniques
T. A. Standish
Addison Wesley -
(B7) The C++ Programming Language
Bjarne Stroustrup
Addison Wesley -
(B8) C++ - The Complete Reference
Herbert Schildt
McGraw Hill Education (India) -
(B9) Object-Oriented Programming in C++
Robert Lafore
SAMS -
(B10) Programming Languages Design and Implementation
T. W. Pratt and M. V. Zelkowitz
Pearson -
(B11) Fundamentals of Data Structures in C
E. Horowitz, S. Sahni and S. Anderson-Freed
Silicon Press -
(B12) Data Structures and Algorithm Analysis in C++
Mark A. Weiss
Pearson -
(B13) Algorithms
Robert Sedgewick and Kavin Wayne
Addison-Wesley Professional -
(B14) The Practice of Programming
Brian Kernighan and Rob Pike
Addison-Wesley Professional -
(B15) Programming Pearls
Jon Bentley
Pearson -
(B16) The Linux Command Line
William Shotts
No Starch Press -
(B17) The GNU Make Manual
R. M. Stallman, R. McGrath and P. D. Smith
Free Software Foundation -
(B18) Randomized Algorithms
Rajeev Motwani and Prabhakar Raghavan
Cambridge University Press
