Getting Started

Logistics

This assignment is due Friday, 9/4/2026 at 11:59PM PDT (GMT-7). It is worth 0% of your overall grade, but failure to complete it may result in being administratively dropped from the class.

Prerequisites

No lectures are required to work through this assignment.

git and GitHub

git is a version control system that helps developers track code versions and collaborate with others.

GitHub hosts git repositories and is used for assignment distribution in this course.

Fetching the released code

For each project, use the GitHub Classroom link from the Project 0 release post on Edstem to create your repo.

Example clone command:

git clone https://github.com/cs186-fall-2026-fa26-proj0-oski

Edstem link format: https://edstem.org/us/courses/101074/discussion/

Debugging issues with GitHub Classroom

If the Classroom page freezes or errors, first check whether your repository exists:

https://github.com/cs186-fall-2026-fa26-proj0-<your-github-username>

If the repo exists with starter code, continue normally. If you still cannot access it, contact course staff on Edstem.

Setting up your local development environment

You may use any editor/IDE, but grading will run in a Docker container with Maven.

Recommended: install Java 11 locally and use IntelliJ (2019+).

Java 11 link: Oracle downloads or OpenJDK.

Course-provided JDK link: JDK 11.0.23.

To import in IntelliJ: open the project pom.xml.

If IntelliJ opens an existing workspace, use File -> New -> Project From Existing Sources and select pom.xml.

If needed, switch SDK via File -> Project Structure.

Alternate development setup

If local setup fails due to Maven/JDK issues, use the course dev container instructions.

Running tests in IntelliJ

  1. Open a test file for your project (for example, for Project 2: src/java/test/.../index/TestBPlusNode.java).
  2. Click the green run arrow on a test and run it.
  3. If arrows/configs are missing, create a JUnit run configuration and set test search to whole project.

Once your environment is ready, proceed to Your Tasks.