Lecture materials (Spring2024)
- Lecture 1 : Course overview, survey
- Lecture 2 : Programming overview
- Lecture 3 : Program structure (v1), variables, data types, operators, keyboard input
- Lecture 4 : Functions and conditionals
- Lecture 5 : More Functions and Conditionals
- Lecture 6 : Iteration ('while' and 'for' loops)
- Lecture 7 : Packages, information representation (binary numbers)
- Lecture 8 : Arrays and variable scope;
- Lecture 9 : 2D arrays
- Lecture 10 : Static fields, command line arguments (OS/PL interface), String class, measuring execution time
- Lecture 10a Assertions
- Lecture 11 : Multiple classes, dynamic vs. static objects, sorting, searching
- Lecture 12 : Objects, object composition, memory representation with objects
- Lecture 13 : Object reference, array of objects, the Object class, printed representation of objects
- Lecture 14 : Equality testing, object passing
- Lecture 15 : Static/dynamic members, visibility control, memory representation
- Lecture 16 : The '.' operator, 'this' object reference
- Lecture 17 : Exception handling, file I/O
- Lecture 18 : Comparing objects, object sorting, compound statements
- Lecture 19 : Interfaces (aka interface inheritance)
- Lecture 20 : Inheritance (aka implementation inheritance)
- Lecture 21 : ArrayLists
- Lecture 22 : Abstract classes
- Lecture 23 : Recursion
- Lecture 24 : Linked Lists, Priority Queues, other Data Structures