Course Administration
Course Coordinator
Foo Yong Qi
Instructor & Ph.D. Student
Email: yongqi@nus.edu.sg
Course Outline
- Course Introduction
- Course Administration
- Functional Programming
- Introduction to Haskell
- Types
- Types and Type Systems
- Polymorphism
- Algebraic Data Types
- Pattern Matching
- Typeclasses
- What Are Typeclasses?
- Important Typeclasses
- Typeclasses and Typeclass Instances
- Railway Pattern
- Functors
- Applicative Functors
- Validation
- Monads
- Monads
- Commonly-Used Monads
- Monad Transformers
- Concurrent Programming
- Concurrent Programming with Threads
- Parallel Programming
- Software Transactional Memory
- Course Conclusion
Graded Items
Item | Weightage |
---|---|
Assignment 1 | 20% |
Assignment 2 | 20% |
Assignment 3 | 20% |
Practical Exam | 40% |
The Practical Exam is planned to be during the last lecture.
Plagiarism Notice
Assignments are on programming... standard plagiarism rules apply.
No code sharing!
- ChatGPT (and similar tools) is allowed for learning only
- Using LLMs to generate code is not allowed
- NUS takes a strict view of plagiarism and cheating
- Disciplinary action will be taken against students who violate NUS Student Code of Conduct
- No part of your assignment can come from any other source
- No discussion and sharing of solutions during exams