Applications of Boolean algebra and logic gates to half adders, full adders, encoders, decoders, multiplexers, NAND, NOR as universal gates.
Implementation of algorithms to solve problems
Programming in Java
Objects as data
Analysis of some real world programming examples in terms of objects and classes
Inheritance, polymorphism, data structures, computational complexity
Complexity and big O notation