ESC101 Introduction to Programming, Spring 2020

Re-exam instructions (updated 1st Oct 2020)

  1. Please make sure you are able to log into prutor. If you can't, please contact nitinks@cse.iitk.ac.in immediately.
  2. The syllabus is the entire ESC101 syllabus.
  3. The format of the exam will be familiar to you. I have eschewed adding any innovations.
  4. If your network gives you trouble during the course of the exam, you will have the option to withdraw from the exam. But you will have to let me know this before the exam ends.
  5. I will be accessible on Zoom throughout the exam in case people have any questions. Link
  6. The exam will be open book, open notes, open internet.
  7. I will grade everyone's exam personally.

Re-exam instructions (updated 18th Sept 2020)

  1. The re-exam will be conducted on prutor. Details will be communicated to you shortly after the 21st.
  2. The syllabus will be the entire ESC101 syllabus.
  3. We will run a short practice test on 27th Sept to familiarize people with the interface and question formats
  4. The re-exam will count for 42% of your grade, viz. it will replace the weight assigned to your lab end-sem and theory end-sem. The weightage for the theory mid-sem and lab mid-sem exams will return to their original values as a consequence of this change.
  5. Grading policy for the course will be the same as the grading policy of the course under normal circumstances.
  6. Since it is not currently possible to communicate with you as a group, and I don't want to selectively release information to some people and not to others, please monitor the course website for further updates.

Lecture: 1200-1250 MTW in L-20 (LHC)

Labs: 1400-1700 MTWTh in CC-02 (NCL)

Tutorial: 1200-1250 F in Tut Block

Office hours (by appointment)

Lecture date Topics covered Materials
6th Jan Talking to a Turing Machine Slides: pptx, pdf
7th Jan Basic structure of C programs Slides: pptx, pdf
8th Jan Printing outputs Slides: pptx, pdf
13th Jan Taking inputs Slides: pptx, pdf
14th Jan Data types Slides: pptx, pdf
15th Jan More on types Slides: pptx, pdf
20th Jan Operators, precedence and associativity Slides: pptx, pdf
21st Jan If-else Slides: pptx, pdf
22nd Jan switch-case Slides: pptx, pdf
27th Jan Loops: for Slides: pptx, pdf
28th Jan Loops: while/do while Slides: pptx, pdf
29th Jan Major Quiz 1 -
3rd Feb Functions (basics) Slides: pptx, pdf
4th Feb Functions (usage) Slides: pptx, pdf
5th Feb Functions (scope, macros) Slides: pptx, pdf
10th Feb Intro to arrays Slides: pptx, pdf
11th Feb Arrays (contd.) Slides: pptx, pdf
12th Feb Arrays and functions Slides: pptx, pdf
24th Feb Strings Slides: pptx, pdf
25th Feb More about strings Slides: pptx, pdf
29th Feb Multidimensional arrays Slides: pptx, pdf
2nd Mar Intro to pointers Slides: pptx, pdf
3rd Mar More pointers, malloc Slides: pptx, pdf
4th Mar More about memory allocation Slides: pptx, pdf
16th Mar Recap Slides: pptx, pdf, Practice problems , Solutions
17th Mar Pointers and arrays Slides: pptx, pdf
18th Mar Pointers and arrays (contd.) Slides: pptx, pdf
23rd Mar Major Quiz 2 cancelled
24th Mar Recursion Slides: pptx, pdf, Practice problems , Solutions
25th Mar Intro to structures Slides: pptx, pdf
30th Mar Structures (contd.) Slides: pptx, pdf
31st Mar Linked lists Slides: pptx, pdf
1st Apr Using linked lists Slides: pptx, pdf, Practice problems
6th Apr Stacks, queues and DP Slides: pptx, pdf
7th Apr Searching Slides: pptx, pdf
8th Apr Sorting algorithms Slides: pptx, pdf
14th Apr Sorting algorithms (contd.) Slides: pptx, pdf, Practice problems
15th Apr File I/O Slides: pptx, pdf
16th Apr Future directions, et finis Slides: pptx, pdf

Resources

Zoom hangout link

Course schedule

Find your section in this list. (Revised, 13th Jan 2020)

Read a basic introduction to the prutor system here.

Gottfried's book.

Sign up for extra lessons here.

Sign up for srivalab experiments here (extra-curricular).