Principles of Programming Languages

Course Name: Principles of Programming Languages
Course Code: R1622056
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]
  •                                       sebesta-textbook


  • Programming Languages, Principles & Paradigms, Second Edition, Allen B Tucker, Robert E Noonan, TMH [T2]
    
 Tucker-Textbook

No comments

JavaFX Scene Builder

  This is an article about the JavaFX Scene Builder. You will get a short introduction about the installation and usage of the software. The...