CS2030 Java — Map of Content
NUS CS2030 Programming Methodology II. Notes from lectures, recitations, labs, and concept distillation. Covers OOP, generics, interfaces, polymorphism, functional programming, streams, lazy evaluation, functors and monads.
Top-level reference
- Finals-Prep — exam prep summary
- Syntax — syntax notes
- Syntax-Cheatsheet — extended syntax cheatsheet
- Thinking — meta-notes on how to approach problems
Concepts (Java/)
OOP fundamentals
Relationships & polymorphism
Interfaces & generics
- Generics — interfaces & the client/implementer split are also covered in Lecture-4-Interface-and-Polymorphism
Comparison
Collections & streams
Other
Lectures (Lecture/)
- Lecture-1-Introductions
- Lecture-2-Streams
- Lecture-3-OOP
- Lecture-4-Interface-and-Polymorphism
- Lecture-5-Functional-Interfaces
- Lecture-6-Generic-Classes-and-Methods
- Lecture-7-Computation-Context
- Lecture-8-Functional-Programming-Concepts
- Lecture-9-Laws-of-the-Functor-and-Monad
- Lecture-10-Parallel-Streams
Recitations (Recitation/)
- Recitation-1-Declarative-Programming-with-Java-Streams
- Recitation-2-Abstraction-Encapsulation-Inheritance
- Recitation-3-Interface-and-Polymorphism
- Recitation-4-Java-Generics
- Recitation-5-Comparable-And-Comparator
- Recitation-6-Imperative-to-Functional
- Recitation-7-Lazy-Evaluation-Context
- Recitation-8-Closure-and-Variable-Capture
- Recitation-9-Checking-Laws-of-Functor-and-Monad
Labs (Labs/)
- General-Code
- Lab-1
- Lab-2-Customer-and-Servers
- Lab-3-Arrive-Serve-Done-Events
- Lab-5-Exercise-2
- Lab-6-Mock-Exam
Related
- _Java-Practice-MOC — exercises, practical assessments, mock PAs