Course name: Principles of Programming Language (Code: IT092IU)

Spring semester 2026
Class room: A1.402
Teaching Assistant: Nguyen The Binh; Contact him via email/Teams: ITCSIU23003@student.hcmiu.edu.vn

Course Learning Outcomes

The following are the official course goals agreed upon by the faculty for this course, i.e., students can undestand:
  • A wide range of programming paradigms
  • How different programming languages evolved
  • The differences in problem domains and language suitability
  • The basic features of programming language translation
  • Implementation techniques for selected language constructs

  • Textbooks

  • [R1] Robert W. Sebesta, Concepts of programming languages 10th, 2012
  • [R2] Alfred Aho, Jeffrey Ullma, Ravi Sethi, Monica Lam, Compilers: Principles, Techniques, and Tools 2nd, 2007

  • Grading scheme

  • C1 - Class participation/in-class quiz/exercises: 10%
  • C2 – Assignments: 15%
  • C3 - Midterm Exam: 30%
  • C4 - Final Exam: 40%
  • C5 - Extra credit will be granted periodically for clever or creative solutions: 5%

  • Course Materials and Communications

  • Handouts, ebooks, and related materials for this course are available on Blackboard (https://blackboard.hcmiu.edu.vn)
    Any assigment will be submitted to Blackboard by the announced due date and time.
    Assignments will be graded based on program performance and documentation.
  • The MS Team discussion board is used for all non-personal, course-related communication with the instructor and TA.

  • Tentative Class Schedule

    WEEK
    DATE
    TOPIC
    NOTE
    01
    14/01
    Introduction
    02
    21/01
    Lexical Analysis
    03
    28/01
    Lexical Analysis (cont.)
    04
    04/02
    Exercises and Revision
    Assigment 1
    05
    25/02
    Syntax Analysis
    06
    04/03
    Syntax Analysis (cont.)
    Invited talk:
    How PPL can be used to build chatbot
    07
    11/03
    Exercises + Revision
    08
    18/03
    Midterm Test
    No class
    09
    25/03
    Semantic Analysis
    10
    01/04
    Functional & Logical Programming
    11
    08/04
    Name - Binding - Scope
    Assigment 2
    12
    15/04
    Design Patterns in PPL
    13
    22/04
    Code Optimization
    14
    29/04
    Code Generation
    15
    06/05
    Revision & Course Review