Course ID: CS1101
Course Credits: 4
Course Type: Foundation
Pre-requisites: None
Course ID: CS1101
Course Credits: 4
Course Type: Foundation
Pre-requisites: None
What you’ll learnVIEW COURSE VIDEOS
Course structure & Assessments
5 credit course, weekly online assignments, 2 in-person invigilated quizzes, 1 in-person invigilated end term exam & OPPE(s). For details of standard course structure and assessments, visit Academics page.
WEEK 1 | How a Computer works, Generalized Memory and Computations, Split Memory Architecture, Loops, Conditions & Branches, Communication between Computer Memory and Outside World, What is Programming, Introduction to C Language |
WEEK 2 | Data Representation: Number Representation in a Computer, Negative Number and Hexadecimal Representation, Floating Point Representation, Character Representation and Encoding, Instructions Encoding, Compilation: Program Compilation, Role of Operating System in a Computer |
WEEK 3 | Introduction to C Programming: Structure of a C program, Variables in C, Operators in C, Expression |
WEEK 4 | Control Statement: Structured Programming, Introduction to Control Flow in C, Conditional statement: if-else-if, switch, Loops: for and while |
WEEK 5 | Function and Scope: Why Functions, Functions in C, What is a Runtime, Recursion, Scopes |
WEEK 6 | Pointer: Introduction to Pointers, Endianness, Alignment, Pointers & Variables, Compiler Optimizations |
WEEK 7 | Array: Introduction to Arrays, Pointer Arithmetic, Examples of Pointer Arithmetic, String: Strings in C, String Functions |
WEEK 8 | Structured Data and Custom Type: Introduction to struct in C, typedef, union, enum |
WEEK 9 | Dynamic Memory: Heap and Stack Frames, Dynamic Memory Allocation in C, Multidimensional Arrays |
WEEK 10 | File Handling: Introduction to File Handling, File Handling in Text Mode, File Handling in Binary Mode, Bit Manipulation |
WEEK 11 | Preprocessor and Multifile Project: Introduction to Macros, Include File, Multifile Projects in C, Compilation Process of C Programs |
WEEK 12 | Refresher Free Week |
Prescribed Books
The following are the suggested books for the course:
“The C programming language”, Kernighan and Ritchie
Online references
About the Instructors
Nitin Chandrachoodan received his BTech (electronics and communication engineering) from IIT Madras in 1996, and PhD from the University of Maryland at College Park in 2002, in the area of high-level synthesis techniques for mapping DSP algorithms to architectures. He has been with the department of electrical engineering at IIT Madras since 2004, where he is currently an professor.
His research interests include digital systems design and design automation tools and techniques, as well as design of embedded systems with a special focus on assistive technologies. He has taught graduate courses on digital integrated circuit design and on mapping algorithms to architectures, and a UG course on data structures and algorithms, as well as a laboratory course on digital design using FPGAs. He is an associate editor of the Springer Journal of Signal Processing Systems.
Other courses by the same instructor: CS2101 - Embedded C Programming , EE2103 - Digital System Design , EE3102 - Control Engineering , - Humanities Elective , - Humanities Elective , - Humanities Elective , - Humanities Elective , - Humanities Elective , - Humanities Elective and - Humanities Elective