Principles of Programming Languages
Principles of Programming Languages
Home
Second Year of Engineering (2019 Course)
210256: Principles of Programming Languages
Teaching Scheme: Credit Examination Scheme:
TH: 03 Hours/Week 03 Mid_Semester(TH): 30 Marks
End_Semester(TH): 70 Marks
Prerequisite Courses, if any: Fundamentals of Data Structures, Object Oriented Programming,
Fundamentals of programming language.
Companion Course, if any: Software Engineering, Data Structures and Algorithms, Project based
learning
Course Objectives:
To learn basic principles of programming languages and programming paradigms
To learn structuring the data and manipulation of data, computation and program structure
To learn Object Oriented Programming (OOP) principles using Java Programming Language
To learn basic concepts of logical and functional programming language
Course Outcomes:
On completion of the course, student will be able to–
CO1: Make use of basic principles of programming languages
CO2: Able to develop a program with Data representation and Computations
CO3: Able to develop programs using Object Oriented Programming language : Java
CO4: Develop application using inheritance, encapsulation, and polymorphism
CO5: Able to demonstrate Applet and Multithreading for robust application development
CO6: Able to develop a simple program using basic concepts of Functional and Logical
programming paradigm
Course Contents
Unit I Fundamentals of Programming (06 Hours)
Importance of Studying Programming Languages, History of Programming Languages, Impact of
Programming Paradigms, Role of Programming Languages, Programming Environments. Impact of
Machine Architectures: The operation of a computer, Virtual Computers and Binding Times.
Programming paradigms- Introduction to programming paradigms, Introduction to four main
Programming paradigms- procedural, object oriented, functional, and logic & rule based.
#Exemplar/Case A case study: Retail Sales application
Studies
Mapping of Course CO1
Outcomes for Unit I
Unit II Structuring the Data, Computations and Program (06 Hours)
Elementary Data Types : Primitive data Types, Character String types, User Defined Ordinal Types,
Array types, Associative Arrays, Record Types, Union Types, Pointer and reference Type.
Expression and Assignment Statements: Arithmetic expression, Overloaded Operators, Type
conversions, Relational and Boolean Expressions, Short Circuit Evaluation, Assignment Statements,
Mixed mode Assignment.
Statement level Control Statements: Selection Statements, Iterative Statements, Unconditional
Branching.
Subprograms: Fundamentals of Sub Programs, Design Issues for Subprograms, Local referencing
Environments, Parameter passing methods.
Abstract Data Types and Encapsulation Construct: Design issues for Abstraction, Parameterized
Abstract Data types, Encapsulation Constructs, Naming Encapsulations
57
SE (Computer Engineering) syllabus (2019 Course)
Savitribai Phule Pune University
Learning Resources
Text Books:
1. T. W. Pratt, M. V. Zelkowitz, "Programming Languages Design and Implementation‖, 4 th
Ed, PHI, ISBN 81-203-2035-2.
2. Sebesta R., "Concepts of Programming Languages", 4th Edition, Pearson Education, ISBN-
81-7808-161-X.
3. Herbert Schildt, "The Complete Reference Java", 9th Ed, TMH,ISBN: 978-0-07-180856-9.
Reference Books:
1. Dr.R. Nageshwar Rao, "Core Java: An Integrated Approach", Dreamtech Press
2. Deugo, ―Java Gems‖, Cambridge University Press, ISBN 10: 0521648246 ISBN 13:
9780521648240
3. Carl Townsend ,”Programming in turbo PROLOG”, Tata-McGraw Hill
4. Ivan Bratko, “ Prolog Programming for Artificial Intelligence”, Wesley Publishers Limited
5. Winston P., Klaus B., Horn P., "LISP", 3rd Edition, Pearson Education, 81 - 7808 -155-5
6. Carlo Ghezzi, Mehdi Jazayeri, ―Programming Language Concepts‖,3rd Ed, Wiley
Publication ISBN : 978-81-265-1861-6.
CO2 3 3 3 3 2 1 - 1 2 1 3 3
CO3 3 3 3 3 3 2 1 3 2 1 3 3
CO4 3 3 3 3 3 2 1 3 2 1 3 3
CO5 3 3 3 3 3 2 1 3 2 1 3 3
CO6 3 3 3 3 3 2 1 3 2 1 3 3
59
SE (Computer Engineering) syllabus (2019 Course)