CS 152  Abstractions and Paradigms for Programming

The Plan for Syllabus Coverage and Evaluation

Spring 2014



Quiz 1
 
Midsem
Quiz 2
Endsem
An optional extra Quiz to improve performance
(will be conducted between Quiz 2 and Endsem)
Take Home Assignments, attendance and participation
10
20
10
50
10
10
Reds  
and
pink
Reds and
Violets
and
pink
Greens
and
pink

Reds,
Violets,
Greens,
Browns
and
pink

Browns
and
pink
Programs, program design tasks, implementation projects



Course Content

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 of the ideas behind the implementation of the paradigms.


Course to be centered around problems and applications that demonstrate the main themes.



Books

Harold Abelson, Gerald Jay Sussman and July Sussman, 
Structure and Interpretation of Computer Programs, 2nd edition, The MIT Press, 1996. 

David A. Watt, Programming Language Concepts and Paradigms, Prentice-Hall, 1990. 

Rajeev Sangal, Programming Paradigms in Lisp, McGraw Hill, 1991.