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

Principles of Programming Languages

Uploaded by

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

Principles of Programming Languages

Uploaded by

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

Savitribai Phule Pune University

Savitribai Phule Pune University

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

#Exemplar/Case Data representation and computations in Retail Sales


Studies
Mapping of Course CO2
Outcomes for Unit II
Unit III Java as Object Oriented Programming Language- (06 Hours)
Overview
Fundamentals of JAVA, Arrays: one dimensional array, multi-dimensional array, alternative array
declaration statements ,String Handling: String class methods, Classes and Methods: class
fundamentals, declaring objects, assigning object reference variables, adding methods to a class,
returning a value, constructors, this keyword, garbage collection, finalize() method, overloading
methods, argument passing, object as parameter, returning objects, access control, static, final,
nested and inner classes, command line arguments, variable -length arguments.
#Exemplar/Case Demonstrate classes , objects, data, methods for Online Banking System
Studies using Java
Mapping of Course CO3
Outcomes for Unit III
Unit IV Inheritance, Packages and Exception Handling (06 Hours)
using Java
Inheritances: member access and inheritance, super class references, Using super, multilevel
hierarchy, constructor call sequence, method overriding, dynamic method dispatch, abstract
classes, Object class. Packages and Interfaces: defining a package, finding packages and
CLASSPATH, access protection, importing packages, interfaces (defining, implementation, nesting,
applying), variables in interfaces, extending interfaces, instance of operator. fundamental,
exception types, uncaught exceptions, try, catch, throw, throws, finally, multiple catch clauses,
nested try statements, built-in exceptions, custom exceptions (creating your own exception sub
classes). Managing I/O: Streams, Byte Streams and Character Streams, Predefined Streams, Reading
console Input, Writing Console Output, Print Writer class.
#Exemplar/Case Demonstrate inheritance, Packages and interface forOnline Banking System
Studies using Java
Mapping of Course CO4
Outcomes for Unit IV
Unit V Multithreading in Java (06 Hours)
Concurrency and Synchronization, Java Thread Model: Thread priorities, Synchronization,
Messaging, Main Thread, Creating thread: Implementing Thread using thread class and Runnable
interface. Creating multiple threads using isAlive() and join()
Web Based Application in Java: Use of JavaScript for creating web based applications in java,
Introduction to javascript frameworks- React, Vue, Angular
#Exemplar/Case Demonstrate Multithreading for Gaming
Studies
Mapping of Course CO5
Outcomes for Unit V
Unit VI Logical and Functional Programming (06 Hours)
Functional Programming Paradigm: Understanding symbol manipulation, Basic LISP functions,
definitions, predicates, conditionals and scoping, Recursion and iteration, Properties List array and
access functions, Using lambda definitions, printing, reading and atom manipulation. Logic
Programming Paradigm: An Overview of Prolog, Syntax and Meaning of Prolog Programs, Lists,
Operators, Arithmetic, Using Structures: Example Programs
#Exemplar/Case Demonstrate Functional and Logic Programming for Software Project
Studies Management.
Mapping of Course CO6
Outcomes for Unit VI
58
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.

@The CO-PO mapping table


PO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1 3 2 2 2 2 1 - 1 2 - 1 3

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)

You might also like