Welcome to Abstractions and Paradigms Course (CS 152) and the associated Laboratory (CS 154).
This is the web page for the course as well as the lab.

The schedule of lectures can be found in the Lectures section.
Lab assignments will be available at the start of the lab session, in the Lab Assignments section.

Course Contents

Review of the program development process, Issues in program design, Structured programming, Data and control abstractions, Programming with assertions. Reasoning about programs and proving correctness of programs.

Ideas behind imperative, applicative, object oriented and logic programming paradigms such as typing, expressions, pure functions, recursion, higher order functions, encapsulation, inheritance, goal satisfaction, backtracking, unification. Some ideas behind implementation of the paradigms.
Course to be centered around problems and applications that demonstrate the main themes.

Lab Contents

The lab will closely follow the lectures in the course. We will be using Scheme as the language for the programming assignments. See the Resources section for online versions of the course textbook, Scheme documentation and other useful material.

Lab assignments will be available at the start of the lab session, in the Lab Assignments section. You have to complete the lab assignments during the lab timings and submit your work before you leave.

Timings

The course is in Slot 5 : Wed- 9:30 to 11:00, Friday - 9:30 to 11:00, in Room S9
The lab is on Wed 2:00 - 4:00 pm in Old Software Lab.

Grading and Weightages

The course (CS 152) and lab (CS 154) will be graded separately.

The course (CS 152) will have:
Quizzes - 20%
Midsemester - 30%
Endsemester - 50%

The lab (CS 154) will have many assignments of approximately equal weightage.

Attendance Policy

I may sometimes take attendance in class to:
  • Get to know your names.
  • Give consideration to borderline cases during grading.
  • Encourage you to be on time. If you walk in after I have called your name, you will be marked *absent*. :-)
  • Last modified on 5 Feb 2008 4:27pm.