Environment Setup

The good thing about Gradescope’s autograder and Java compiler versions is that you will get immediate feedback when you submit to Gradescope as to whether or not we could process your submission. So you don’t have to worry about whether or not your compiler version is exactly the same because you’ll see if we were able to work with it or not when you submit. We use pretty basic and robust Java libararies so there really shouldn’t be any major version issues. Make sure you always submit well before the deadline in case there any issues.

Software Versions

Version Control

Version control is not a strict requirement for this class, but it would certainly be to your benefit to use git for these assignments. If you want any help with managing your own workflow via git, come to office hours and TA’s will gladly help!

If you host your code in a repository, it is imperative that repository is a private repository. Hosting your code in a public repository is cheating since any student could find it.


You are free to use whatever tools you want for editing. A typical development flow for students in this class would be to have some sort of unix terminal (Ubuntu for Windows or a Mac terminal) and a text-editor. You could open a specific folder in the editor (like a cs226 folder) and navigate to the same folder in your terminal/shell. Now you just type in the editor and when you want to compile/run just bring up the terminal to run unix commands. An IDE (integrated development environment) typically has compilation/execution of your programs built in to it’s application.

Some great tools:

Text Editors


Unix Resources

If you are new to learning and using Unix, here are a few resources:

Unix Setup Instructions


You already have a terminal. Using brew, you can install Java following these instructions here


If you have Windows machine, it takes a little more work to set up a unix environment. If you are comfortable with developing on the ugrad machines you are free to do so. You are also free to set up an ubuntu virtual machine, but we will not provide one this year.

We recommend you using Ubunutu for Windows. You can install it from the Windows store. It basically just gives you a unix shell you can run directly on your Windows machine. I’ve noticed that sometimes it gets stuck and when you open it it says something like installing... - if this happens just un-install and re-install.

Once installed succesfully, when you launch it you should get a terminal that prompts you to enter a username/password. Pick something you will remember so if you have to run a sudo command you don’t get stuck.

To install java run sudo apt-get -y install openjdk-8-jdk and enter the password you just created. If all goes well, you should get a succesful installation message. Run java --version to verify.

It has it’s own file system, but to get to your computer’s actual C drive you have to navigate to /mnt/c/. You may want to add an alias with the full path to your Documents from the root of the shell.