CS 152
Abstractions and Paradigms for Programming Spring 2014
Slot 4 LCC12
Monday 11:35
Tuesday 8:30
Thursday 9:30
Lab Slot: CS154 Monday 2-5 New Software Lab
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.
2014 Spring Course Plan 2014