CS3005 · BS elective · 4 credits

Programming in C

Systems programming in C — pointers, memory, and the language every OS still speaks.

Instructor Prof. Nitin Chandrachoodan Term As offered Prereq CS1002

§ 1Calendar

  • Quiz 1—
  • Quiz 2—
  • End-term examination—

§ 2Previous Year Questions

No papers uploaded yet.

§ 3Resources

Course material2

Notes1

CS3005 · BS elective · 4 credits

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

§ 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.

CS3005 · BS elective · 4 credits

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.