Class Description
Java is one of the most used programming languages today - Minecraft, Android apps, and many websites are all created with Java!
This class introduces Java to middle and high school students in a way that encourages creativity while learning computer science principles. We use an environment with low cognitive overhead designed for fast iterations - we write our text-based Java code, compile it, and immediately see the results on-screen. Student curiosity and interest provides the vehicle (and motivation) for making our way through the class topics.
This class combines all the material presented in Intro to Java - Part 1 (Java syntax, variables and variable types, conditional statements, looping, functions, data structures, and event handling), as well as the object-oriented and more advanced topics covered in Intro to Java - Part 2 (classes, objects, encapsulation, abstraction, inheritance, polymorphism, compound data structures, and algorithms).
Together, we cover a great deal of computer science topics, while creating interactive, animated programs. By the end of the class we will have created a fully functioning game! Here are samples of the kinds of projects students will create - from simple to complex:
-
translucent triangles
-
optical illusion using loops
-
random circles using loops
-
The Matrix (arrays, loops)
-
classic Space Invaders
-
classic Asteroids
Prerequisites
None!
No prior programming experience or knowledge is required, or expected - this is a great place to start!
Software
Students will be taught how to code in Java, using the free and open-source application, Processing. Originally designed for learning to code, Processing has turned into a creative platform used by professionals.
Computers
Students should bring their own laptops to class (Chromebooks will not work). Please download and install Processing beforehand!
Students are welcome to use one of our laptops if they are unable to bring their own. Make sure to bring a USB Flash Drive to save your work.