06CS846 Programming languages syllabus for CS


Part A
Unit-1 INTRODUCTION NAMES SCOPE AND BINDINGS – 1 7 hours

Language design; Programming language spectrum; Why study programming languages? Compilation and interpretation; Programming environments. Names, scope, and bindings: Concept of binding time; Object lifetime and storage management; Scope rules and implementing scope.

Unit-2 NAMES, SCOPE, AND BINDINGS 1 CONTROL FLOW 1 7 hours

The binding of reference environments; Binding within a scope; Separate compilation. Control Flow – 1: Expression evaluation.

Unit-3 CONTROL FLOW 2 6 hours

Structured and unstructured flow; Sequencing; Selection; Iteration; Recursion; Non-determinacy.

Unit-4 DATA TYPES 1 6 hours

Type systems; Type checking; Records and variants; Arrays.

Part B
Unit-5 DATA TYPES 2 7 hours

Strings; Sets; Pointers and recursive types; Lists; Files and Input/Output; Equality testing and assignment.

Unit-6 Subroutines and Control Abstraction 1 6 hours

Review of stack layout; Calling sequences; Parameter passing; Generic subroutines and modules; Exception handling.

Unit-7 CONTROL ABSTRACTION 2 DATA ABSTRACTION, OBJECT ORIENTATION 6 hours

Control abstraction – 2: Coroutines. Data Abstraction, Object Orientation: Object oriented programming; Encapsulation and Inheritance; Dynamic method binding; Multiple inheritance; Object oriented programming revisited.

Unit-8 FUNCTIONAL LANGUAGES, LOGIC LANGUAGES SCRIPTING LANGUAGES 7 hours

Functional Labguages: Origins; Concepts; An overview of scheme; Evaluation order revisited; Higher-order functions; Functional programming in perspective. Logic Languages: Concepts; Prolog; Logic programming in perspective. Scripting Languages: Common characteristics.

Last Updated: Tuesday, January 24, 2023