Course Name: Principles of Programming Languages
Course Code: xxx
Course URL: http://www.startertutorials.com/ppl/
Course Prerequisites:
Students should have a solid mathematical foundation, good programming skills in an imperative or object-oriented language and be familiar with basic data structures and algorithms. These prerequisites are covered in the following courses:
- C Programming (CP)
- Object Oriented Programming through C++ (OOP C++)
- Object Oriented Programming through Java (OOP Java)
- Data Structures (DS)
- Engineering Mathematics (M-I, M-II)
- Mathematical Foundations of Computer Science (MFCS)
- Finite Language and Automata Theory (FLAT)
Course Objectives: To learn the key concepts and to get a basic understanding of the most popular programming paradigms and languages, including their strengths and weaknesses and to learn writing small programs in different programming languages.
Course Outcomes:
Following are the key outcomes for this course:
- Ability to describe the syntax and semantics of programming languages and gain practical knowledge in lexical analysis and parsing phases of a compiler
- Ability to assess the merits and demerits of different constructs in programming languages
- Ability to design and implement sub programs in various programming languages
- Knowledge regarding different programming language features like object-orientation, concurrency, exception handling and event handling
- Knowledge regarding functional paradigm and ability to write small programs using Scheme and ML
- Knowledge regarding logic paradigm and ability to write small programs using Prolog
Text Books:
- Concepts of Programming Languages, Robert W. Sebesta, Tenth Edition, Addison Wesley, 2012 [T1]
- Programming Languages, Principles & Paradigms, Second Edition, Allen B Tucker, Robert E Noonan, TMH [T2]