CSE3302/CSE5307 Programming Languages (Programming Language Concepts)
Course Summary
Welcome to the world of programming languages!
A small number of concepts underline the hundreds of programming languages that have been designed and implemented. This course introduces the concepts that serve as a basis for programming languages. It aims to provide the students with a basic understanding and appreciation of the various essential programming language constructs, programming paradigms, evaluation criteria and language implementation issues. The course covers concepts from functional, imperative,
object-oriented, logic programming and optionally scripting languages.
These concepts are demonstrated by incrementally adding
more features to a simple functional language called Lambda
Calculus to eventually arrive at a full-fledged, user-friendly
general purpose programming language. At the end of the
course, a number of modern programming languages from various
paradigms are presented as case studies.
Latest News and Announcements
- June 18, 2025: The course website is open now.
- Aug 20, 2025: Assignment 1 is released. For this first assignment, please submit your solution (with code) to Wonjun's email address below.
- Aug 27, 2025: Assignment 2 is released. From this week onward, please submit your solution to Canvas. But the assignment sheets will continue to be released on the course website!
- Aug 27. 2025: Wonjun's office hour is Thursday, 10am - 12pm.
Administrative Information
Lectures: Mon/Wed 2:30-3:50 PM, ERB-129.
Instructor: Kenny Zhu
- ERB-535 Phone: 817-272-3721 Email: kenny[dot]zhu@uta[dot]edu
Office hours: Wed 4-5PM
Teaching Assistant:
Wonjun Park
Email: wxp7177@mavs.uta.edu
Office hours: Thu 10AM-12PM @ ERB-316
Reference Textbooks:
- Types and Programming Languages by Benjamin C. Pierce, The MIT Press.
- Practical Foundations for Programming Languages by Robert Harper, Cambridge University Press.
- Programming Languages Principles and Paradigms by Allen Tucker and Robert Noonan, McGraw Hill / 2009-5-1.
- Programming Languages: Application and Interpretation by Shriram Krishnamurthi, Brown, Online.
Assessment:
- In-class quizzes: 10%
- Tutorial participation: 5% (bonus)
- Assignments: 30%
- Project: 30%
- Final Exam: 30%
Schedule
Copyright (c) Kenny Q. Zhu, 2012-2025.