Announcements
- (18 Nov) : End-Semester exam question paper and solutions with marking scheme.
- (11 Nov) : Seating Arrangement for End-Sem examination to be conducted on 16.11.2016.
- (26 Oct) : Lab handouts: Linux Basics.
- (24 Oct) : All friday lab batch students have been shifted to Wednesday and Thursday for lab-11. Details can be found here.
- (24 Oct) : Timings and JTA to student mapping for course project evaluation can be found here.
- (22 Oct) : Solutions to Graded Lab-6.
- (21 Oct) : Quiz-2 question paper. and solutions.
- (18 Oct) : Seating Arrangement for Quiz-2 to be conducted on 21.10.2016.
- (13 Oct) : Grading guidelines for GL4 and GL5.
- (08 Oct) : Solutions to Graded Lab-5.
- (07 Oct) : Please find the project team registration form here.
- (03 Oct) : Solutions to Ungraded Lab-4.
- (26 Sep) : Solutions to Graded Lab-4.
- (21 Sep) : Solutions to Ungraded Lab-3.
- (15 Sep) : Mid-sem solutions and marking scheme.
- (06 Sep) : Solutions to Graded Lab-3.
- (29 Aug) : Theory help session (in Hindi) will be conducted every Tuesday, from 8.30pm to 10.30pm, at B-101, New CSE Building.
- (27 Aug) : Solutions to Graded Lab-2.
- (25 Aug) : Solutions to Graded Lab-1.
- (24 Aug) : Seating Arrangement for Quiz-1 to be conducted on 26.08.2016.
- (23 Aug) : Solutions to Ungraded Lab-2.
- (23 Aug) : Solutions to Ungraded Lab-1.
- (08 Aug) : First help session scheduled on 08/08/2016.
- (26 July) : Allocation of students to lab session can be found here.
- (22 July) : Lab-0 will be on 27/07/2016, 28/07/2016 and 29/07/2016.
- (22 July) : Regular classes started this week (26/07/2016, 27/07/2016).
Lecture Slides
- (26 July) Lecture1: Introduction, Prutor, Course Plan
- (29 July) Lecture2: How Computers Work
- (01 Aug) Lecture3: Number Representations, Variables, Data Types, and Expressions
- (04 Aug) Lecture4: Programming Idioms and Program Design
- (09 Aug) Lecture5: Conditional Execution
- (12 Aug) Lecture6: General Loops
- (16 Aug) Lecture7: Loop Invariants
- (19 Aug) Lecture8: Common Mathematical Functions
- (23 Aug) Lecture9: Functions
- (26 Aug) Lecture10: Functions continued, Arrays
- (26 Aug) Lecture11: Arrays continued
- (02 Sep) Lecture12: Review
- (14 Sep) Lecture13: Recursive Functions
- (20 Sep) Lecture14: Recursive Functions
- (21 Sep) Lecture15: Structures and Objects
- (27 Sep) Lecture16: Object-oriented Programming and Classes
- (07 Oct) Lecture17: Object-oriented Programming and Classes continued, Standard Library
- (18 Oct) Lecture18: Inheritance
Lab Schedule
Lab # |
Week | Nature of the lab | Description/Remarks |
Lab 0 |
27/07/2016, 28/07/2016, 29/07/2016 |
Ungraded |
Writing, saving, submitting lab assignments on the Prutor
platform |
Lab 1 |
03/08/2016, 04/08/2016, 05/08/2016 |
Ungraded |
Turtle Programming and basic Loops (via repeat) |
Lab 2 |
10/08/2016, 11/08/2016, 12/08/2016 |
Graded |
Turtle Programming and basic Loops (via repeat) |
Lab 3 |
17/08/2016, 18/08/2016, 19/08/2016 |
Ungraded |
--- |
Lab 4 |
24/08/2016, 25/08/2016, 26/08/2016 |
Graded |
--- |
Lab 5 |
31/08/2016, 01/09/2016, 02/09/2016 |
Graded |
--- |
Mid Sem Week |
|||
Lab 6 |
14/09/2016, 15/09/2016, 16/09/2016 |
Ungraded |
--- |
Lab 7 |
21/09/2016, 22/09/2016, 23/09/2016 |
Graded |
--- |
Lab 8 |
28/09/2016, 29/09/2016, 30/09/2016 |
Ungraded |
--- |
Lab 9 |
05/10/2016, 06/10/2016, 07/10/2016 |
Graded |
--- |
Lab 10 |
17/10/2016, 13/10/2016, 14/10/2016 |
Ungraded |
Lab 10 to be conducted on 12/10/2016 is postponed to 17/10/2016. |
Lab 11 |
19/10/2016, 20/10/2016, 21/10/2016 |
Graded |
--- |
Lab 12 |
26/10/2016, 27/10/2016, 28/10/2016 |
Ungraded |
--- |
The help sessions will be conducted on Mondays.
Help Sessions
We plan to hold help sessions on Mondays. For each help session, we will float a form which you need to fill up to attend the help session. You are the best judge to decide whether you need to attend a help session or not but some of the reasons why you may want to attend the help session are:
- You want to do more practice of programming with our help. Note that this should be restricted to the programs we have given you for this week.
- You are not so comfortable with your programming experience this week. The numbers given below may change from week to week.
By way of example, for the first week, we have given 8 questions. If you have been able to 6 or more questions and have checked that you are getting the correct images, you are doing well and perhaps do not need to attend the help session. If you have done only 3 or less than 3 questions then I strongly encourage you to come for help session.Our experience of help session shows that many students fill up the form casually but do not come for the help session. Since we need to schedule human resource in the form of TAs, this wastes the time of the TAs. Hence if you fill up the form, you MUST ATTEND the help session. If you fill the form but do not attend the help session, there will be some kind of penalty (say marking you absent for the week in the lab etc.) If we find too many instances of such a behaviour the quantum of the penalty will be suitably enhanced.
- You have some doubt about the concepts covered in the lecture so far.
Informal Course View
This course provides students with an entry-level foundation in computer programming. The goals of the course are to develop the programming ability in students, and to improve their proficiency in applying the computing fundamentals to their field of study. Topics include overview of high-level languages, introduction to C/C++ Library, basic data types, function definitions and declarations, conditional and iteration statement, array and string manipulation, recursive programming, introduction to searching and sorting and introduction to structures and pointers. In summary, the basic aim is to teach the student to program in C/C++ at a level where they are able to eventually write programs to help solve their everyday engineering, science and technology related problems.
Formal Course View
This course provides an
introduction to problem solving with computers using a
modern language such as Java or C/C++. Topics covered will
include :
- Utilization : Developer fundamentals such as editor, integrated programming environment, Unix shell, modules, libraries.
- Programming features :Ability to translate from the informal description of an algorithm learned in the mathematics classroom into the constructs provided by the programming language.
- Applications : Sample problems in engineering, science, text processing, and numerical methods.
Textbooks
- An Introduction to Programming through C++, McGraw Hill Education, 2014, by Abhiram Ranade