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
Administrative Information
Lectures: Mon/Wed 4:00-5:30 PM, NH 109.
Instructor: Kenny Zhu
- ERB-535 Phone: 817-272-3721 Email: kenny[dot]zhu@uta[dot]edu
Office hours: Wed 1-2 PM
Teaching Assistant:
Weiran (Peter) Zhang
Email: wxz9630[at]mavs.uta.edu
Office hours: Fri 2-4 PM @ 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: 15%
- Tutorial participation: 5% (bonus)
- Assignments: 20%
- Project: 20%
- Final Exam: 45%
Schedule
| Week | Date | Topic |
Slides | Resources | Homework |
Copyright (c) Kenny Q. Zhu, 2012-2026.