P.S.R.R.
COLLEGE OF ENGINEERING
(Approved by AICTE and Affiliated to Anna University, Chennai)
Sevalpatti, Sivakasi 626140, Virudhunagar District.
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
COURSE PLAN
CCS358 PRINCIPLES OF PROGRAMMING LANGUAGES L-T-P C
300 3
B.E/B.TECH COMPUTER SCENCE Sem: V Category: PC
Programme:
AND ENGINEERING
Faculty Name SUBBALAKSHMI.P Academic Year 2023-24
To understand and describe syntax and semantics of programming languages
OBJECTIVE:
To understand data, data types, and basic statements
To understand call-return architecture and ways of implementing them
To understand object-orientation, concurrency, and event handling in programming
languages
To develop programs in non-procedural programming paradigms .
Course Outcomes: The students will be able to
CO1: Describe syntax and semantics of programming languages
CO2: Explain data, data types, and basic statements of programming languages
CO3: Design and implement subprogram constructs
CO4: Apply object-oriented, concurrency, and event handling programming constructs and Develop
programs in Scheme, ML, and Prolog
CO5: Understand and adopt new programming languages
COURSE CONTENTS
Modes
S. Referenc Proposed Cumulative
Topics Of
No e Books Hours Hours
Delivery
UNIT I – SYNTAX AND SEMANTICS
1 Evolution of programming languages BB 2 2
2 Describing syntax BB 1 3
3 Context-free grammars BB 1 4
4 Attribute grammers BB 1 5
TB1
5 Describing semantics BB 1 6
6 Lexical analysis BB 1 7
7 Parsing – recursive-descent BB 2 9
8 Bottom up parsing BB 1 10
UNIT II – DATA, DATA TYPES, AND BASIC STATEMENTS
9 Names – variables – binding BB 2 12
10 Type checking – scope – scope rules BB 1 13
11 Lifetime and garbage collection BB 1 14
12 Primitive data types – strings – array types – associative arrays BB 1 15
13 Record types- union types BB 1 16
Pointers and references – Arithmetic expressions- overloaded TB1 BB 2 18
14
operators
15 Type conversions – relational and boolean expressions BB 1 19
16 Assignment statements – mixed mode assignments BB 1 20
17 Control structures – selection – iterations BB 1 21
18 Branching – guarded statements BB 1 22
UNIT III SUBPROGRAMS AND IMPLEMENTATIONS
19 Subprograms – design issues –– overloaded methods BB 2 24
20 Local referencing – parameter passing BB 1 25
21 Generic methods BB 1 26
22 Design issues for functions BB 1 27
23 Semantics of call and return TB1 BB 1 28
24 Implementing simple subprograms BB 2 30
25 Stack and dynamic local variables BB 1 31
26 Nested subprograms BB 1 32
27 Blocks – dynamic scoping BB 1 33
UNIT IV OBJECT-ORIENTATION, CONCURRENCY,AND EVENT HANDLING
28 Object-orientation TB1 BB 1 34
29 Design issues for OOP languages BB 1 35
30 Implementation of object-oriented constructs BB 2 37
31 Concurrency – semaphores – monitors BB 2 39
32 Message passing – threads BB 1 40
33 Statement level concurrency BB 1 41
34 Exception handling BB 1 42
35 Event handling BB 1 43
UNIT V FUNCTIONAL AND LOGIC PROGRAMMING LANGUAGES
36 Introduction to lambda calculus BB 1 44
37 Fundamentals of functional programming languages BB 2 46
38 Programming with Scheme BB 1 47
TB1
39 Programming with ML BB 1 48
40 Introduction to logic and logic programming BB 2 50
41 Programming with Prolog BB 1 51
42 Multi-paradigm languages BB 1 52
TEXT BOOKS:
1. Robert W. Sebesta, “Concepts of Programming Languages”, Twelfth Edition (Global Edition),
Pearson, 2022.
2. Michael L. Scott, “Programming Language Pragmatics”, Fourth Edition, Elsevier, 2018.
3. R. Kent Dybvig, “The Scheme programming language”, Fourth Edition, Prentice Hall, 2011.
4. Jeffrey D. Ullman, “Elements of ML programming”, Second Edition, Pearson, 1997.
5. W. F. Clocksin and C. S. Mellish, “Programming in Prolog: Using the ISO Standard”, Fifth Edition,
Springer, 2003.
CO’s PO’s PSOs
1 2 3 4 5 6 7 8 9 10 11 12 1 2 3
1 2 2 3 2 1 - - - - - - 3 2 3 -
2 3 3 3 2 2 - - - - - - 3 2 3 -
3 3 3 3 2 2 - - - - - - 3 2 3 -
4 3 3 3 3 2 2 - - - - - - 3 2 -
5 3 3 3 3 3 3 2 2 1 3 1 3 3 3 -
AVg. 2.8 2.8 3 2.4 2 2.5 2 2 1 3 1 3 2.4 2.8 -
1 - low, 2 - medium, 3 - high, ‘-' - no correlation
Faculty In charge HOD/CSE PRINCIPAL