The schedule partly reflects the content of last semester (old slides mention COMP1140). Current content will be updated as the class progresses.
Week | Units | Topics | Deliverables |
---|---|---|---|
1 | |||
I1 | Course goals, Teaching modality, Resources, Assessment, Academic honesty, | ||
S1 | IDEs, Revision Control, Using Gitlab and git, | ||
J1 | Imperative programming languages, Types, Expressions, Functions, | ||
J1 | Imperative programming languages, Types, Expressions, Functions, | ||
J5 | Control flow, if-then-else, | ||
2 | |||
C1 | Recursive functions and algorithms, The call stack, | ||
J6 | Control flow, Iteration, | ||
J3 | Arrays, | ||
3 | |||
J2 | Java packages, import and naming, The Java standard library, | ||
O1 | Creating objects, Instance methods and fields, Object identity and equality, Memory management (garbage collection), | ||
O2 | Declaring a class, Fields, initialisers and methods, Access control, | ||
4 | D1A | ||
S5 | Software Design, | ||
O4 | Inheritance, Polymorphism, Class fields, | ||
O4 | Inheritance, Polymorphism, Class fields, | ||
X1 | Event-driven programming, JavaFX applications, | ||
5 | DXC | ||
S4 | Creating unit tests, JUnit, | ||
J12 | Generics, Boxed types, Type inference, | ||
J9 | Higher-order programming, Functional interfaces, lambda expressions in Java, | ||
6 | D2B | ||
J14 | The Java collections framework, Iterating over collections, Ordering, | ||
J15 | Java exceptions, throw, Catch or specify, | ||
7 | |||
C1 (part 2) | Recursive problem solving, Backtracking search, | ||
C7 | Concurrency, | ||
8 | D2D | ||
C2 | Time and space complexity, Big O notation, Examples, | ||
A1 | ADTs, The list ADT, A List interface, | ||
A2 | The list ADT, An array-based List implementation, A linked-list-based List implementation, | ||
9 | D2E | ||
C6 | Java file I/O, Streams, Standard I/O, Random access files, Buffering, | ||
A3/A6 | The set ADT, The map ADT, | ||
A5 | The tree ADT, Binary search tree implementation of Set, | ||
10 | |||
C4 | Hash functions, Choosing a good hash function, | ||
A4 | Hash Table, A hash-table-based Set implementation, | ||
11 | D2F | ||
C3(a) | Tree ADT, Tree Traversal, Applications of trees, | ||
C3(b) | Graph ADT, Graph Traversal, | ||
12 | D2G | ||
R1 | Review of material for Final and work through exam, |