List of Courses
- COMP3258 Functional Programming
The course teaches the basics of functional programming using the language Haskell. The main goal is to introduce students to fundamental programming concepts such as recursion, abstraction, lambda expressions and higher-order functions and data types. The course will also study the mathematical reasoning involved in the design of functional programs and techniques for proving the properties of functions so defined. With the adoption of lambda expressions, recent versions of Java, C++ or C#, functional programming and related programming techniques are becoming increasingly more relevant even for programmers of languages that are not traditionally viewed as functional. This course is important to introduce students to such techniques.
Instructor: Bruno C. d. S. Oliveira
TA team:
- Spring 2025: Yicong Luo
- Fall 2023: Xu Xue
- Fall 2022: Xu Xue
- Fall 2021: Jinhao Tan, Shengyi Jiang
- Fall 2018: Xuejing Huang, Baber Rehman
- Fall 2017: Xuan Bi, Ningning Xie
- Spring 2017: Xuan Bi
- COMP3259 Principles of Programming Languages
This course covers central concepts in programming languages, language design and implementation, and programming paradigms.The course will have a practical focus, encouraging students to implement a progressively more sophisticated programming language illustrating various concepts and ideas from functional, imperative and object-oriented programming. These concepts include for example static scoping, closures, inheritance, mutable state, and type systems. All such features are widely used by many existing programming languages.
The programming language Haskell, which is a functional language, will be used in for the coursework and will serve as a prime example of a modern, functional language. Haskell is an obvious choice for this class because of its excellent support for declaring the abstract syntax of a programming language and writing various analyses over that syntax.
Instructor: Bruno C. d. S. Oliveira
TA team:
- Spring 2025: Qianyong Wan
- Spring 2024: Litao Zhou
- Spring 2023: Litao Zhou
- Spring 2022: Yaozhu Sun
- Spring 2021: Yaoda Zhou
- Spring 2020: Yaoda Zhou, Baber Rehman
- Spring 2019: Ningning Xie
- Spring 2018: Jinxu Zhao, Xuejing Huang
- Fall 2016: Xuan Bi
- Spring 2015: Xuan Bi
- Fall 2014: Xuan Bi