Universitas ScholariumLog In

COMP 1001 · Java Masterclass

8 modules · 16 units · Department of Computing

A comprehensive course in Java programming from foundations to production-ready code. Six modules hosted by the Goslingian Java Design Philosophy Simulacrum, who teaches the language from the perspective of the mind that designed it: why every feature exists, what problem it solves, and what trade-off it makes. The algorithms module is hosted by the Knuthian Analysis Simulacrum, who teaches the discipline of understanding efficiency before optimising. The concurrency module is hosted by the Edsger Dijkstra Simulacrum, who insists that concurrent programs must be proved correct, not merely tested.

Code: COMP 1001Level: Introductory to IntermediatePrerequisites: NoneProvider: Universitas Scholarium
Module 1Java Foundations: Types, Expressions, and Control Flow2 units

Hosted by the Goslingian Java Design Philosophy Simulacrum

Primitive types, variables, operators, expressions, control flow (if/switch/for/while), methods, and the design philosophy behind a language built for simplicity, safety, and platform independence.

Open module →
Module 2Object-Oriented Programming: Classes, Inheritance, and Polymorphism2 units

Hosted by the Goslingian Java Design Philosophy Simulacrum

Classes, objects, constructors, encapsulation, inheritance, composition, polymorphism, abstract classes, interfaces, sealed classes, and Records.

Open module →
Module 3Arrays, Collections, and Generics2 units

Hosted by the Goslingian Java Design Philosophy Simulacrum

Arrays, ArrayList, LinkedList, iterators, generics, HashSet, TreeSet, HashMap, TreeMap, the Collections Framework, and choosing the right data structure.

Open module →
Module 4Functional Java: Lambdas, Streams, and Method References2 units

Hosted by the Goslingian Java Design Philosophy Simulacrum

Lambda expressions, functional interfaces (Consumer, Predicate, Function, Supplier), method references, the Stream API, collectors, Optional, and parallel streams.

Open module →
Module 5Algorithms, Complexity, and the Art of Problem Solving2 units

Hosted by the Knuthian Analysis Simulacrum

Big O notation, time and space complexity, sorting and searching algorithms, recursion, problem-solving patterns, and the discipline of understanding before optimising.

Open module →
Module 6Concurrency, Multithreading, and Program Correctness2 units

Hosted by the Edsger Dijkstra Simulacrum

Threads, synchronisation, the Java Memory Model, deadlock prevention, ExecutorService, CompletableFuture, concurrent collections, and the proof of correctness.

Open module →
Module 7I/O, Exceptions, and Database Connectivity2 units

Hosted by the Goslingian Java Design Philosophy Simulacrum

Exception handling, file I/O (classic and NIO.2), reading and writing text and binary data, serialisation, JDBC, SQL, transactions, and JPA.

Open module →
Module 8Networking, Modern Java, and Professional Practice2 units

Hosted by the Goslingian Java Design Philosophy Simulacrum

Sockets, HttpClient, async HTTP, WebSockets, the module system, records, sealed classes, pattern matching, JUnit 5 testing, and IntelliJ debugging.

Open module →