Introduction to Computing (GEL 103)
Instructor: Dr. Sujata Pal
TA: Ritu Kapur
Students: 2nd Semester 2016 batch
Year: 2016-2017
Prerequisite: Nil
Course Objectives:
• Learn basics of computers
• Learn to create and execute C programs using computers
• Learn to write efficient algorithms in term of time and space complexities
Syllabus:
Connection between mathematics and computation. The main abstractions in computation (processor, storage, communication) and their realization in architecture. Introduction to elementary software artifacts (IDEs, compilers, operating systems, etc.) for creating and executing programs. Elementary and inductive data types and their representation in high- level languages; integers, strings, reals, sequences, etc. Rigorous specification of problems and solutions over these types.
Data structures such as arrays. Elementary control structures in an imperative model. Assertions, representational invariants and loop invariant. Encapsulation of data. Objects and classes
Concept of an Algorithm; termination and correctness. From algorithms to programs; specification, top-down development and step wise refinement. Use of high level programming Language for the systematic development of programs.
Introduction to the design and implementation of correct and efficient maintainable programs. Efficiency issues in programming; time and space measures.
Reference Books:
Evaluation:
Mid-term : 15%
End-term : 30%
Quiz (3) : 15% (Best 3 out of 4)
Project : 15%
Lab Assignments (07) : 20% (Best 7 out of 10)
Attendance & Class performance : 5%
Note: The attendance requirement will be a minimum of 75% of the classes actually held