Programming Concepts with Java#
LEPL1402 — Université catholique de Louvain (UCLouvain)
Authors: Sébastien Jodogne, Ramin Sadre, Pierre Schaus
Syntax differences, primitive types, array and string memory representations, methods, and control flow.
Part 2Classes, encapsulation, inheritance, polymorphism, abstract classes, interfaces, and GUI observers.
Part 3Unit testing principles, black-box vs white-box, control flow coverage, edge cases, and JUnit framework.
Part 4Asymptotic notation (Big-O), linked lists, stacks, trees, binary search trees, hash maps, and iterators.
Part 5Multithreading, thread pools, race conditions, mutual exclusion, monitors, and concurrent algorithms.
Part 6Nested and anonymous classes, lambda expressions, Java Streams API, lazy evaluation, and immutable data structures.
Table of Contents#
References#
Juris Hartmanis and Richard E Stearns. On the computational complexity of algorithms. Transactions of the American Mathematical Society, 117:285–306, 1965.