Programming in C
Systems programming in C — pointers, memory, and the language every OS still speaks.
§ 1Calendar
- Quiz 1—
- Quiz 2—
- End-term examination—
§ 2Previous Year Questions
No papers uploaded yet.
§ 3Resources
Course material2
-
Drive folder
drive.google.comIITM login required
-
Course YouTube channel
youtube.com
Notes1
-
Course notes
Notes and study material for this course.
iitmbsdegree.inby IITM BS Students' Corner
Syllabus
The official course syllabus, transcribed from the IITM BS Data Science & Applications course booklet.
§ 1Course Description
This course provides a practical introduction to C programming, with an emphasis on writing and debugging programs. By the end of the course, students will be able to write, compile, and run C programs, use debugging tools to identify and fix errors, apply language constructs and the standard library to implement basic data structures and algorithms, and understand the role of the operating system and program interaction with it.
Lectures-Tutorials-Practicals-Credits: 4-0-0-4
§ 2Faculty
- Prof. Nitin Chandrachoodan, Department of Electrical Engineering, IIT Madras
§ 3Week-by-week
Week 1: Computer architecture basics; Memory and computation models; Split memory architecture; Loops, conditions, and branches; Memory-I/O communication; Introduction to programming and C.
Week 2: Number representation; Negative numbers and hexadecimal; Floating-point representation; Character encoding; Instruction encoding; Compilation process; Role of operating systems.
Week 3: Writing first C program; Structure of C programs; Variables; Operators.
Week 4: Structured programming; Control flow in C; Control flow examples; Loops in C.
Week 5: Functions and modular programming; Runtime concepts; Recursion; Scope in C.
Week 6: Pointers and memory concepts; Endianness; Alignment; Pointer-variable relationships; Compiler optimizations.
Week 7: Arrays; Pointer arithmetic; Strings in C; String functions.
Week 8: Structures in C; Struct examples; Typedef; Unions; Enums.
Week 9: Memory management; Heap and stack; Dynamic memory allocation; Multidimensional arrays.
Week 10: File handling in C; Text and binary modes; Bit manipulation.
Week 11: Macros in C; Macro examples; Header files; Multifile projects; Compilation process.
OPPE
Practice material for the Programming in C online proctored programming exams. No practice material has been shared for it yet. If you have some, please send it in.