This week we'll focus on unpacking the multitude of concepts from the pre-work, and familiarizing ourselves with Java's development environment. We'll also revisit Behavior-Driven Development, a concept we previously learned about in Intro to Programming. This time we'll take it one step further by creating coded, automated tests for each behavior we identify during the BDD process.

To focus on developing strong Java fundamentals and good, professional testing habits, we will not create any websites this week. Instead, the programs we write will be similar to those from the pre-work. We'll work exclusively within IntelliJ's development environment, the terminal, and REPL this first week.

However, next week, we'll dive into Spark, a front-end framework that will allow us to build web applications with Java back-ends. This will add a challenging layer of complexity. Take advantage of this first week to solidify your familiarity and comfort working with the Java language.

Independent Project Objectives

At the end of the week you will submit an independent project that will be reviewed for the following objectives:

Tests have complete coverage for the behaviors that need to be tested.

Tests begin with small behaviors and increase in complexity.

All tests are passing.

Getter and setter methods are present and functioning.

Logic is easy to understand.

Unnecessary files are discluded from Git with a .gitignore file.

Project is in a polished, portfolio-quality state.

You are able to discuss your code, and the concepts behind it with an instructor using the correct terminology.