PRINCIPLES OF PROGRAMMING LANGUAGES

Paper Code: 
BCA 304
Credits: 
04
Periods/week: 
04
Max. Marks: 
100.00
Objective: 

This course is focused on the study of general language-design and evaluation concepts.

 

11.00
Unit I: 

Preliminaries: Reasons for studying concepts of Programming languages, Programming domains, Language evaluation criteria, Influences on language design, Language categories, and design trade-offs, Implementation Methods, Programming Environments.

Evolution of the Major Programming Languages (Historical Background & Design Process): Pseudocodes, IBM 704 and FORTRAN, LISP, ALGOL 60, COBOL, BASIC, PL/I, APL, SIMULA 67, ALGOL 68, Prolog, Ada, Smalltalk, C++, Java.

 

12.00
Unit II: 

Describing Syntax & Semantics: Introduction, General Problem & Formal Methods, Recursive Descent Parsing, Attribute Grammars, Dynamic Semantics.

Lexical and Syntax Analysis.

 

13.00
Unit III: 

Names, Bindings, Type Checking, and Scopes: Introduction, names, variables, concept of binding, type checking, strong typing, type compatibility, scope & lifetime, referencing environments, named constants, variable initialization.

Data Types: Introduction, Primitive data types, character string types, user-defined ordinal types, array types, associative arrays types, record types, union types, set types, pointer types.

 

12.00
Unit IV: 

Expressions and Assignment Statements: Introduction, Arithmetic expressions, overloaded operators, type conversions, Relational & Boolean expressions, short-circuit evaluation, assignment statements, mixed-mode assignment.

Statement Level Control structures: Introduction, compound, selection & iterative statements, unconditional branching.

 

 

12.00
Unit V: 

SubPrograms: Introduction, Fundamentals, design issues, Local referencing environment, Parameter passing Methods,  separate & independent compilation, design issues for functions, coroutines.

Abstract Data Types: Concept of abstraction, encapsulation, introduction to abstraction, design issues.

Object Oriented Programming: Introduction, basic concepts, design issues for object-oriented languages

ESSENTIAL READINGS: 
  1. Robert W. Sebesta , “Concepts of Programming Languages”, Seventh Edition Pearson Education Asia.

 

Academic Year: