Objective: Learn more about Ubuntu, GitHub, Gradle, and the Java programming language
Reading Assignment: Chapters 1 and 2, with a focus on Sections 1.5 and 2.1
Objective: Practice using Java and learn about computing with variables
Reading Assignment: Chapters 1 and 2, with a focus on Sections 1.4 and 1.5 and 2.1 through 2.6
Objective: Learn how to store user input in variables and practice performing computations
Reading Assignment: Chapters 1 and 2, with a focus on Sections 2.1 through 2.6
Objective: Gain more experience with calling methods and learn how to create graphical artwork
Reading Assignment: Chapters 1 and 2, with a focus on Sections 2.7 through 2.9
Objective: Gain more experience with calling methods and creating complex text-based output
Reading Assignment: Chapters 2 and 3, with a focus on Sections 2.1 through 2.8 and 3.1 through 3.2
Objective: Use String methods to create interdisciplinary text-based output
Reading Assignment: Chapters 2 and 3, with a focus on Sections 3.1 through 3.5
Objective: Participate in a collaborative "bug hunt" to find and fix defects in a Java program
Reading Assignment: Chapters 3 and 4, with a focus on Sections 3.5 through 3.8
Objective: Work with your team members to create an engine for numerical computations
Reading Assignment: Chapters 4 and 5, with a focus on Sections 5.1 through 5.6
Objective: Work with your team members to create and use a task management system
Reading Assignment: Chapters 4 and 5, with a focus on Sections 5.1 through 5.6
Objective: Create your own Mandelbrot fractals while learning more about performance evaluation
Reading Assignment: Sections 6.1 through 6.4 and 8.1, with a focus on Section 6.4
Objective: Propose, conduct, and report on your own software development project
Reading Assignment: All of the assigned chapters in the course textbook