The following are the notes from my Java course at the ACES school. The course was offered for 3.5 hours per day, 5 days a week, for two weeks.
There are two courses I taught, Java I and Java II.
Java I consisted largely of introducing the students to Java. We focused largely on principles that should be useful in any programming language (variables, expressions, conditional statements, definite and indefinite loops) and also included some Java-specific concepts (Scanner, String, and File IO).
The course culminated with two Processing projects
- Image I/O (given an ASCII ppm image, print the entire image out using doubly-nested for-loops)
- Whack-an-Apple (a game where the user needed to click on a random dot using their mouse, and the time between the change of the dot's position gradually decreases)
I expect that Java II will cover everything from arrays (both one and two dimensions) to classes and inheritance. I have two project goals for this course:
- Conway's Game of Life (written in Processing)
- agar.io (the students are enamored with this game; a simpler version can easily include classes, inheritance, and arrays).