Principles of Programming Languages (CS-6002)

CS-6002 - Principles of Programming Languages RGPV notes CBGS

RATIONALE

The purpose of this subject is to cover the underlying concepts and techniques used in Programming Languages. It provides general idea related to operating & Programming environment.


PREREQUISITE

The students should have general idea about programming language . In addition, a familiarity with Elementary and Structured Data Types is needed for better understanding.


Syllabus

UNIT 1: Language Evaluation Criteria, influences on Language design, Language categories, Programming Paradigms – Imperative, Object Oriented, functional Programming , Logic Programming. Programming Language Implementation – Compilation and Virtual Machines, programming environments. Issues in Language Translation: Syntax, Semantics, Stages, analysis and synthesis, Parse Tree, CFG and BNF grammar.

UNIT 2: Data types: Introduction, primitive, character, user defined, array, associative, record, union, Pointer and reference types, design and implementation uses related to these types. Names, Variable, concept of binding, type checking, strong typing, type compatibility, named constants, variable initialization. Sequence control with Expressions, Conditional Statements, Loops, Exception handling.

UNIT 3: Subprograms and Blocks: Fundamentals of sub-programs, Scope and lifetime of variable, static and dynamic scope, Design issues of subprograms and operations, local referencing environments, parameter passing methods, overloaded sub-programs, generic sub-programs, design issues for functions overloaded operators, co routines.

UNIT 4: Abstract Data types: Abstractions and encapsulation, introductions to data abstraction, Static and Stack-Based Storage management. heap based storage management. Garbage Collection. object oriented programming in small talk, C++, Java, C#, PHP, Perl . Concurrency: Subprogram level concurrency, semaphores, monitors, massage passing, Java threads, C#threads.

UNIT 5: Exception handling, Exceptions, exception Propagation, Exception handler in C++ and Java. Logic Programming Language: Introduction and overview of logic programming, basic elements of prolog, application of logic programming. Functional Programming Languages: Introduction, fundamentals. Introduction to 4GL.


Chameli Devi Group Of Institutions [NOTES]


Suggested Reading

1. Tucker, “Programming Languages: Principles and paradigms “, Tata McGraw –Hill.
2. Cavlo Ghezzi & Mehdi Jazayeri " Programming Languages Concepts", Willey India
3. Sebesta,”Concept of programming Language”, Pearson Edu
4.Terrance W Pratt, "Programming Languages: Design and Implementation" Pearson Edu. 5 Louden, “Programming Languages: Principles & Practices” , Cengage Learning
6 E Horowitz, "Programming Languages", 2nd Edition, Addison Wesley

List of Practicals

1.Design of lexical Analyzer using lex/flex.
2.Case study of working of virtual machine .
3.Memory Implementation of 2D and 3D Array .
4.Design a web page in PHP .
5.Implementation of pointers in C++.
6.Write a program in Java to implement exception handling.
7.Write a program in C++ to implement different parameter passing Methods.
8.Write a program in Java to implement concurrent execution of a job using threads.
9.Implement different types of functions used in Prolog .
10.Implement Inheritance, Encapsulation & Polymorphism in C#.


You May Also Like

Comments

Popular posts from this blog

Ergonomics (ME-7004)

Internet of Things (CS-6005)

Computational Methods in Structural Engineering (CE-6005)