Principles of Programming Languages (CS-6002) - B.E RGPV CBCS & CBGS Scheme Notes
Principles of Programming Languages (CS-6002)
Principles of Programming Languages (CS-6002) RGPV notes CBGS Bachelor of engineering

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.


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

Follow Author Here:

Services

COMPLETELY FREE !!!

Yup, everything is free....

NO REGISTRATION REQUIRED

User doesn't have to register for accessing the files, all the files are free & universally accessible without any condition or restriction.

RESPONSIVE DESIGN & USER-FRIENDLY

Our webpages are responsive & user-friendly, which means it will automatically adjust according to your device screen size and you will find stuff without ant hustle.

DIRECT DOWNLOAD LINKS WITH HIGN SPEED

All the files are uploaded on our super-fast servers so that they can be easily downloaded with high speed.

NEW PROJECTS

For providing a better experience to our users we are developing our Android application, the application will have a lot of awesome features so stay tuned ;).

AWESOME SUPPORT TEAM

Our AI-powered Chatbots are always here to help you so, feel free to ask any question or report if you face any problem. Our team also monitors all chatbots traffic & they will contact you if chatbot fails to help.

Contact Us