Small extra credit opportunity avilable for filling out a survey about P0. More information here.

Learning Goals

  • Refresh CSE 143 concepts and set the expectations for projects in CSE 373.

    This project is an introduction to what we’ll be doing in this class: working with data structures and algorithms.

  • Set up IntelliJ and other systems we’ll use in this class (Java, GitLab, Git, Checkstyle).

    These tools (or very similar ones) are commonly used in industry and in everyday programming. Even if we don’t end up mastering these by the end of CSE 373, some familiarity and exposure will be helpful for future programming.

  • Learn how to use JUnit and run unit tests in IntelliJ.

    Unit testing allows us to build confidence in the correctness of our code, especially as we work on larger and larger programs.


Since this is the first assignment, you’ll need to set up your environment and learn how to work with our project code before you move on to the programming portion. Then, we’ll review some data structures from CSE 143 by completing a couple of methods.

Although most of our project assignments allow partners, this initial project does not. We want to make sure that everyone gets their development environments set up correctly and is up-to-speed on CSE 143 concepts.

And so it begins…

If at any point you don’t have access to one of the tools we need you to access for this course, please see our Canvas Home Page for a link to a form to let us know that you are missing permissions.


  1. System Setup - Set up your computer for programming in CSE 373.
  2. Using IntelliJ - Learn how to use IntelliJ to write code, debug programs, and run tests.
  3. Unit Testing - Learn about testing your code.
  4. Programming - Complete the actual programming component of this assignment.
  5. Commit & Submit - Turn in your work.