This is a webpage for the course CS2013 Systems Programming offered in July-Nov 2025 at the Department of Computer Science and Engineering at IIT Palakkad.
Administrative information
- Location: A01-109, First floor computer Lab of Saraswati Academic Building, Sahyadri Campus, IIT Palakkad.
- Slot: PA4 + R4 (@Thursdays, 2.00 - 4.45 PM and 5.10 - 6.00 PM)
- Instructor: Dinesh
- Credits : 3 (1 lecture + 3 lab)
- Syllabus: See here
- Moodle page: See here
- Participants 39 - (UG CSE - 36, Dual degree CSE - 3, UG DS -??, Audit - TBD)
Course TAs
Roll no | Name | Contact hours |
---|---|---|
152402002 | Anna Merry Cheriyan | TBD |
112504001 | Chikkala Kiran Babu | TBD |
Junior TA | TBD |
For email, add @iitpkd.ac.in
to the roll numbers.
Schedule
# | Day | Topic | Class materials |
---|---|---|---|
01 | July 31 | Overview; Using git ; Basic shell scripting |
Summary 01 Readings 01 Practise 01 |
02 | Aug 02 | Advanced shell scripting; Version control git
|
|
03 | Aug 07 | Basics of C programming; Pointers | |
Aug 14 | Solving problems via C programming - I | ||
04 | Aug 21 | Solving problems via C programming - II | |
05 | Aug 28 | Advanced C programming | |
06 | Sep 04 | Functions; Calling conventions; Recursion | |
07 | Sep 11 | Lab test 1 👩🏻💻💡 (Labs 01 – 05) | |
08 | Sep 18 | User defined types and its use | |
09 | Sep 25 | Debugging (gdb ) and handling memory leaks (valgrind ) |
|
Oct 02 | Holiday due to Gandhi Jayanti | ||
10 | Oct 09 | Coding across multiple files; Makefile | |
11 | Oct 16 | Lab test 2 👩🏻💻💡 (Labs 06 – 09) | |
12 | Oct 23 | Coding across multiple files; Testing | |
13 | Oct 30 | Basics of C++ ; OOP ; Overloading | |
14 | Nov 06 | Templates; STL in C++ | |
15 | Nov 13 | Multithreading in C; Profilers (gprof ) / Buffer session |
Evaluation
Following is the tentative evaluation policy
Evaluation | Item | Weight | Remarks |
---|---|---|---|
Continuous
|
Weekly labs | 25% | See the schedule |
Weekly lab quiz | 5% | During the first 15 minutes of each session | |
Terminal
|
Lab test 1 | 15% | Likely ~ Sep 11, 2025 (Thur) |
Lab test 2 | 15% | Likely ~ Oct 16, 2025 (Thur) | |
Lab end exam | 40% | Likely ~ Nov 15 - 17, 2025 |
All activities related to this course (classes, evaluations and exams) will happen in A01-109, first floor computer lab of the Saraswati academic building, Sahyadri Campus, IIT Palakkad.
About
The key objective of this course is to familiarise the students in fundamental and time tested tools that help in improving their productivity. A secondary objective is to gain a deeper understanding of computing principles, basics of programming, algorithms and basic data structures using C/C++. The understanding gained is meant to equip the students to handle subsequent courses in Data structures, Compilers, Operating systems and Networking.
Upon completing the course successfully, the students will be able to:
-
Use command line tools in navigating and managing a linux machine - processes, file systems and related resources.
-
Maintain a large code base using version control and using it along with development tools to build test cases as well as debug programs.
-
Write shell scripts to automate repetitive tasks using common Unix commands and processing large text data using regular expressions.
-
Build and debug C programs that uses systems libraries or system calls and making them performant.
References
- Computer Systems - A programmer’s perspective by Randal E Bryant, David R O’Hallaron. Check here for copies at IITPKD library.