0% found this document useful (0 votes)
11 views

PPL Syllabus Copy

The document outlines the syllabus for the course CS515PE: Principles of Programming Languages at JNTU Hyderabad, aimed at third-year B.Tech CSE students. It covers various programming paradigms, syntax and semantics, data types, subprograms, concurrency, and functional and logic programming languages. The course includes prerequisites, objectives, outcomes, and detailed units of study, along with recommended textbooks and references.

Uploaded by

upender
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

PPL Syllabus Copy

The document outlines the syllabus for the course CS515PE: Principles of Programming Languages at JNTU Hyderabad, aimed at third-year B.Tech CSE students. It covers various programming paradigms, syntax and semantics, data types, subprograms, concurrency, and functional and logic programming languages. The course includes prerequisites, objectives, outcomes, and detailed units of study, along with recommended textbooks and references.

Uploaded by

upender
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

R18 B.Tech.

CSE Syllabus JNTU HYDERABAD

CS515PE: PRINCIPLES OF PROGRAMMING LANGUAGES (Professional Elective - I)

III Year B.Tech. CSE I-Sem L T P C


3 0 0 3
Prerequisites
1. A course on “Mathematical Foundations of Computer Science”
2. A course on “Computer Programming and Data Structures”

Course Objectives
Introduce important paradigms of programming languages
To provide conceptual understanding of high-level language design and implementation
Topics include programming paradigms; syntax and semantics; data types, expressions and
statements; subprograms and blocks; abstract data types; concurrency; functional and logic
programming languages; and scripting languages

Course Outcomes
Acquire the skills for expressing syntax and semantics in formal notation
Identify and apply a suitable programming paradigm for a given computing application
Gain knowledge of and able to compare the features of various programming languages

UNIT - I
Preliminary Concepts: Reasons for Studying Concepts of Programming Languages, Programming
Domains, Language Evaluation Criteria, Influences on Language Design, Language Categories,
Language Design Trade-Offs, Implementation Methods, Programming Environments
Syntax and Semantics: General Problem of Describing Syntax and Semantics, Formal Methods of
Describing Syntax, Attribute Grammars, Describing the Meanings of Programs

UNIT - II
Names, Bindings, and Scopes: Introduction, Names, Variables, Concept of Binding, Scope, Scope
and Lifetime, Referencing Environments, Named Constants
Data Types: Introduction, Primitive Data Types, Character String Types, User Defined Ordinal Types,
Array, Associative Arrays, Record, Union, Tuple Types, List Types, Pointer and Reference Types, Type
Checking, Strong Typing, Type Equivalence
Expressions and Statements: Arithmetic Expressions, Overloaded Operators, Type Conversions,
Relational and Boolean Expressions, Short Circuit Evaluation, Assignment Statements, Mixed-Mode
Assignment
Control Structures – Introduction, Selection Statements, Iterative Statements, Unconditional
Branching, Guarded Commands.

UNIT - III
Subprograms and Blocks: Fundamentals of Sub-Programs, Design Issues for Subprograms, Local
Referencing Environments, Parameter Passing Methods, Parameters that Are Subprograms, Calling
Subprograms Indirectly, Overloaded Subprograms, Generic Subprograms, Design Issues for
Functions, User Defined Overloaded Operators, Closures, Coroutines
Implementing Subprograms: General Semantics of Calls and Returns, Implementing Simple
Subprograms, Implementing Subprograms with Stack-Dynamic Local Variables, Nested Subprograms,
Blocks, Implementing Dynamic Scoping
Abstract Data Types: The Concept of Abstraction, Introductions to Data Abstraction, Design Issues,
Language Examples, Parameterized ADT, Encapsulation Constructs, Naming Encapsulations

80
R18 B.Tech. CSE Syllabus JNTU HYDERABAD

UNIT - IV
Concurrency: Introduction, Introduction to Subprogram Level Concurrency, Semaphores, Monitors,
Message Passing, Java Threads, Concurrency in Function Languages, Statement Level Concurrency.
Exception Handling and Event Handling: Introduction, Exception Handling in Ada, C++, Java,
Introduction to Event Handling, Event Handling with Java and C#.

UNIT - V
Functional Programming Languages: Introduction, Mathematical Functions, Fundamentals of
Functional Programming Language, LISP, Support for Functional Programming in Primarily Imperative
Languages, Comparison of Functional and Imperative Languages
Logic Programming Language: Introduction, an Overview of Logic Programming, Basic Elements of
Prolog, Applications of Logic Programming.
Scripting Language: Pragmatics, Key Concepts, Case Study: Python – Values and Types, Variables,
Storage and Control, Bindings and Scope, Procedural Abstraction, Data Abstraction, Separate
Compilation, Module Library. (Text Book 2)

TEXT BOOKS:
1. Concepts of Programming Languages Robert. W. Sebesta 10/E, Pearson Education.
2. Programming Language Design Concepts, D. A. Watt, Wiley Dreamtech, 2007.

REFERENCE BOOKS:
1. Programming Languages, 2nd Edition, A.B. Tucker, R. E. Noonan, TMH.
2. Programming Languages, K. C. Louden, 2nd Edition, Thomson, 2003

81

You might also like