COL100 lecture notes: 20-21 Sem 2

Instructors: Ragesh Jaiswal and Aaditeshwar Seth

Course background
You will learn the following aspects in the course: We hope that with these skills and strong concepts, you will be able to learn how to use new tools on your own, write your own programs to solve basic computation requirements in your disciplines, and hopefully learn new programming languages on your own.

Key reference book for C programming: Programming in C, by Stephen G. Kochan. Available online here.

Thanks to Prof. Partha Pratim Das from IIT Kharagpur for his original powerpoint slides that we have adapted for this course.

Lecture hours: Mondays and Thursdays, 9:30-11:00am, delivered on Impartus.

Tutorials: TBD

Lab details
The lab assignments and lab schedule can be found here. Assignments will be given weekly. We will use Piazza (class code = COL100) for discussions and Gradescope (class code = 86X7JZ) for assignment submissions.

Tentative dates for the 4 lab exams are as follows: Course policies: Read here.

Lecture notes

Class 1, 2: Introduction to computing and computers [slides]
Class 3, 4: Number systems, data types, and expression evaluation [slides]
Class 5, 6: Conditionals [slides]
Class 7, 8, 9: Loops [slides]
Class 10, 11: Number representation and bit operations [slides]

Class 12, 13: Arrays [slides]

Class 14: 2D arrays and strings

Class 15, 16: Functions [slides]

Class 17, 18, 19, 20: Recursion, sorting, searching [slides]

Class 21, 22: Pointers [slides]

Class 22: Structures [slides]

Extra: Dynamic memory allocation [slides]