Introduction to Programming (IOPS332C, 2-1-1)
Lectures/ Tut and Lab evaluation to be held Online via Google Meet
Announcements, Assignment submission and Quiz evaluations via Google Classroom
Course Objective:
Course Outline:
Component | Unit |
---|---|
Unit 1 : Introduction to digital computers; introduction to programming - variables, assignments; expressions; input/output; conditionals and branching; iteration;
|
|
Unit 2: functions; recursion; arrays; introduction to pointers; structures; |
|
Unit 1 : introduction to data-procedure encapsulation; dynamic allocation; linked structures;
|
|
Unit 2: introduction to data structures - stacks and queues; time and space requirements. |
|
Working in the Windows environment
1. Brian W. Kerninghan Dennis M. Ritchie,
The C Programming Language, Prentice Hall of India. 2. E. Balaguruswamy,
Programming in ANSI C, 3. R. G. Dromey, How to Solve it by Computer, Prentice-Hall of India. . 4. Ellis Horowitz, Satraj Sahni and Susan Anderson-Freed, , Fundamentals of Data Structures in C, W. H. Freeman and Company.
5. Seymour Lipschutz ,
Data Structures, Schaum's Outlines Series, Tata McGraw-Hill. Important Instructions: 1.
Classes will be conducted using slide presentation as well as chalk-board.
Official slide sets and miscellaneous study materials from some of the main
text books will be uploaded on the web site on a regular basis. 2.
Every student is expected to have access to at least
the book : The C Programming Language, by Ritchie and Kerningham. 3.
Attendance in the classes is mandatory. If the
attendance of a student falls below 75%, he/she may will be dropped from the course after Component 2 4.
The course will consist of laboratory and take-home
assignments, which has to be done very seriously. If a student does not submit
the assignments, his/her grade will remain as incomplete. 5.
Grading Policy :
o 30%:
Component 1 - Closed book exam (10%); Take home assignment (10%) and Lab assignment (10%) o 30%:
Component 2 - Closed book exam (10%); Take home assignment (10%) and Lab assignment (10%) o 40%:
Component 3 - Closed book written exam 6.
Take home assignments : They will be assigned at the beginning of a module (announcements will be made on the course web-site every week). These assignments will not only help you in development of an in-depth idea of each topic of the course but will also serve to prepare for your written examinations.
There will be two kinds of take home assignments :
(i) Homework assignments - To be done individually. These assignments need not be submitted but it is expected that the students complete them in order to have better understanding of the concepts covered in lecture sessions. Interact with your TAs during tutorial sessions to clear your doubts regarding the homework assignments.
(ii) Group Assignments - To be done in groups of four (max). These problems will be more harder problems involving rigorous mathematical/analytical treatement or implementation based assignments. Each Unit will have two such assignments which have to be completed within a given deadline and will be evaluated in each tutorial class.
6.
Tutorial Classes : The tutorial classes scheduled every week will have a dual role in the course. First they will serve as doubt clearing sessions where the TAs will interact with the students to clear their doubts and discuss the homework assignments. The second purpose of the tutorial classes would be to assess the understanding of the concepts though evaluation of the group assignments.
7.
The lab classes will mainly consist of implementation of programming concepts discussed in class and the assignments covered in tutorial sessions. Visit the
Lab Page of the course website for details. Lecture Slides: Sl. No. Topic Practice Problems (Homework) Tutorial/Codes for Practice Helpful Resources 1. Introduction 2. Fundamental Concepts in Programming 3. Introducing C : Identifiers and Data Types 4. Expression and Assignment 5. Control Structures - Decision Making 6. Control Structures - Iteration 7. 8. Functions 1 Functions 2 : Recursion 9. 10. Arrays in C Passing Arrays to Functions Minimum within an Array of Nos. 11. 12. Character Arrays: Strings 2-D Arrays 13. 14. Pointers 1 Pointers 2 call_reference_using_pointers.c 15. 16. Strings Revisited - Pointers for Strings Command Line Arguments 17. Structures accessing_members_of_strucutres.c comparing_strcture_variables.c 18. Dynamic Memory Allocation 19. File Handling in C
[ Slides ]
[ Slides ]
[ Slides ]
-----------