Programming Languages (CSCI 374)
Spring Semester 2025
The instructor for CSCI 374 this semester is
Course Description
(From the Syllabus:)
"The goal of this course is to provide a foundation for understanding, designing, and
implementing programming languages. In this course we will study essential concepts and structures found
in modern programming languages. We will not focus on any one particular language, but rather
we will examine features found in many different languages.
We will also compare different programming paradigms, including imperative,
functional, logic, and object-oriented. We will study the specification of
programming language syntax and semantics, and the verification of program properties."
Course Syllabus
Course Announcements
Final Exam: 3:30 PM ~ 5:30 PM, May 20, 2025
Homework #4: Due by Final Exam (Specific questions for each chapter can be found at the end of lecture note 8, 11, and 12)
- Chapter 8 Problems in the text book
- Chapter 9, 10 Problems (refer lecture note for specific questions)
- Chapter 10 Problems in the text book
- 10.8: Pascal allows gotos with nonlocal targets. How could such statements be handled if static chains were used for
nonlocal variable access?
- 10.9: The static-chain method could be expanded slightly by using two static links in each activation record instance
where the second points to the static grandparent activation record instance. How would this approach affect the time required
for subprogram linkage and nonlocal references?
Project 2 ML Project: Due by Final Exam
Homework #3: Due by April 24, 2025
Project 1 (pdf format): Due by March 25, 2025.
Please submit your project in one pdf file containing both source code with proper comments and outputs
Homework #2: Due by March 11, 2025
Homework #1: Due by Feb 20, 2025
Class lecture notes
Class Reading Materials
Last modified:
May 8, 2025 8:55
by Jinwoo Kim