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

Fall semester 2026
Class room: A2.508

Teaching Assistant Nguyen The Binh
Teaching Assistant
Nguyen The Binh

Email / MS Teams:
ITCSIU23003@student.hcmiu.edu.vn

Support for labs, assignments, and course-related questions


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: 20%
  • C4 - Final Exam: 50%
  • 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
    19/9
    Introduction
    02
    26/9
    Lexical Analysis
    03
    03/10
    Lexical Analysis (cont.)
    04
    10/10
    Exercises and Revision
    Assigment 1
    06
    17/10
    Syntax Analysis
    07
    24/10
    Syntax Analysis + Exercises
    08
    31/10
    Midterm Week
    No class
    09
    07/11
    Midterm Test
    10
    14/11
    Semantic Analysis
    Invited talk:
    How to build DSL?
    10
    21/11
    Functional & Logical Programming
    11
    28/11
    Name - Binding - Scope
    Assigment 2
    12
    05/12
    Design Patterns in PPL
    13
    12/12
    Code Optimization
    14
    19/12
    Code Generation
    15
    26/12
    Revision & Course Review