M.Sc. CSIT Syllabus

Principles of Programming Languages

Course Title: Principles of Programming Language
Full Marks: 45 + 30
Course No: C.Sc. 618
Pass Marks: 22.5 + 15
Nature of the Course: Theory + Lab
Credit Hrs: 3

Course Description:

Design, evaluation, implementation issues of programming language. Data types, data abstraction, sequence control, procedural abstraction, parameter passing techniques, scope, storage management, object oriented approach, concurrency, co routines and overview of a few high level programming languages.Course Objectives:•Introduce the design and implementation issue of high level programming languages. •Principles for the evaluation of procedural, object‐ oriented and concurrent programming languages.

Unit 1:

1.1. Introductory Concepts: 4hrs

History of the development of programming language, Reason for studying concept of Programming Language, Programming Language Domains, Attributes of Programming Language, Standardization, Programming Environments.

1.2. Language Design Issue: 3hrs

Different architectures, Virtual Machine and Binding times

1.3. Translation Issues: 7hrs

Translation; Syntax and Semantics: Syntatic criteria, Syntatic elements, Formal methods of describing syntax – BNF, RG, Parse tree, Ambiguity, Parsing Algorithm ;Semantic modeling – attribute grammar, denotational semantics.

Unit2:

2.1. Data Types: 4hrs

Introduction, Specification and Implementation of primitive and other data
types, Declaration, initialization and assignment, Type checking and conversion.

2.2.Abstract Data Type, Information hiding, Encapsulation, Type Equivalence, Storage Management (static, stack‐based, heap‐based). 4hrs

2.3. Inheritance: 3hrs

derived class, abstract class, object, message, and polymorphism.

Unit 3:

3.1. Sequence Control with basic statement, Sequence Control with arithmetic statement, Sequence Control with non arithmetic statement, Sequence Control between statements. 4hrs

3.2. Subprogram control: 4hrs

Introduction, Subprogram sequence control, Parameter transmission, Scope (static/dynamic) and lifetime, Block Structure, Local referencing environment.

Unit 4:

4.1.Distributed Processing: 4hrs

Exceptions, Propagation and Exception handlers, Co routines, Parallel Programming

4.2.Paradigms and Languages (Overview): 8hrs

Procedural (FORTRAN & C),Block Structure (PASCAL),Object Oriented (C++, SMALLTALK), Functional( LISP), and Logic (PROLOG).

Text Book:

  1. T.W. Pratt and M.V. Zelkowitz , Programming Languages: Design and Implementation. Prentice Hall.

Reference Book:

  1. R.W. Sebesta , Concepts of Programming Languages, Addison Wesley, ISBN : 0‐201385961
About Author

Prince Pudasaini

Previous Post