Course Title: 
Structure and Interpretation of Computer Programs
Course Code: 
Year Taught: 
Postgraduate (PG)
School of Arts and Sciences
School of Engineering

'Structure and Interpretation of Computer Programs' is a course offered in M. C. A. (Master of Computer Applications) program at Amrita Vishwa Vidyapeetham.

Introduction to the Elements of Programming Languages: Different Types of Programming Languages -Modeling Programming Languages, Computability versus Complexity,Computer Science for Computation.

Introduction to LISP and Scheme - Building Abstractions with Procedures - The Elements of Programming Procedures and the Process they Generate – Formulating Abstractions with Higher-Order Procedures.

Building Abstractions with Data: Introduction to Data Abstraction- Hierarchical Data and the Closure Property – Symbolic Data – Multiple Representations for Abstract Data – Systems with Generic Operations.

Modularity, Objects, and State: Assignment and Local state – The Environment Model of Evaluation – Modeling with Mutable Data – Concurrency- Streams.

Metalinguistic Abstraction: The Metacircular Evaluator – Lazy Evaluation - Variation on a Scheme- Nondeterministic Computing – Logic Programming – Introduction to PROLOG.

  • Abelson H and Sussman G J, “Structure and Interpretation of Computer Programs”, Second Edition, MIT Press, 2005.
  • Sebesta R W, “Concepts of Programming Languages”, Tenth Edition, Addison Wesley, 2009.
  • Pierce B C, “Types and Programming Languages”, MIT Press, 2002.
  • Sethi R, “Programming Languages Concepts and Constructs”, Second Edition,Addison Wesley, 1996.
  • T W Pratt and Marvin V Z, “Programming Languages: Design and Implementation”, Third Edition, Prentice Hall, 1995.