Documentation

Tools

Documentation on the tools we will use during the course.

  • Version Control: discusses the basics of version control including terminology, its benefits, and how we will use it in this course. (See the documents on Eclipse, IntelliJ, or the command-line for how to use version control in your preferred environment.)

  • Working at Home: discusses installing the Java JDK and Eclipse or IntelliJ on your home computer (if you prefer prefer not to use the CSE Labs) and logging into the CSE Linux servers (attu)

  • Using IntelliJ: describes how to edit, compile, test, generate javadoc, and use git from within the IntelliJ environment

  • Using Eclipse: describes how to edit, compile, test, generate javadoc, and use git from within the Eclipse environment. (We also have some tips for using Eclipse.)

  • Using the Command Line: describes how to compile, test, generate javadoc, and use git from the command line

  • Viewing Test Results: describes how to view the output of your tests, which is important for diagnosing any failures that occur

  • Turning In Homeworks: discusses turning in your homework solutions

  • Android Development Guide: tutorial on Android development and how to use it for HW9

  • Resubmission Instructions: how to re-submit earlier HWs in order to increase your correctness score

Style

Writing code that is readable by others (and your future self) is an important part of writing high quality code.

  • Style Guide: official guide for writing Java code in CSE 331.

  • Google Style Guide (optional): a much more detailed discussion of Java style from Google's engineers.

Specifications

To inspect code for correctness, you first need a clear specification, which defines what it means to be correct. These documents describe how to write specifications for CSE 331.

Other Concepts

Articles on other important concepts discussed in the course.

  • Testing: discusses different types of tests and gives some general advice for testing

  • Debugging: discusses what to do when you discover a bug in your code