Projects - Getting Started

Before working on the projects, we recommend you check out the UChicago CS Student Resource Guide. In particular, please note the following:

  • You should be able to compile and run the code for this class on Windows, MacOS, and Linux. If you are using a Windows system, you must specifically use WSL (Windows Subsystem for Linux). We will not be able to provide support if your use Windows PowerShell.

    If you are using a Windows or Mac system, you may need to install additional software required by the projects, such as CMake, pytest, etc. Please note that, if you are running on the CS Linux servers, you do not need to install any of this software; it is already installed on those servers.

  • Bear in mind that our code has only been tested on a CS Software Environment. If you would prefer to use such an environment, the Student Resource Guide describes several ways of accessing a CS Software Environment (including remote options).

    You can also run your development environment of choice on your personal computer, and connect to a CS machine only to compile, run, and test your code. This is particularly easy to set up using Visual Studio Code. The Student Resource Guide includes instructions on how to set up Visual Studio Code, and how to set it up to SSH into a CS environment.

  • If you are new to Git, you should work through the Git Basics Tutorial to familiarize yourself with Git.

  • You will need to set up SSH access to your GitHub repositories. If you worked through the Git Basics tutorial, then you will have already done this. If not, you can find instructions at the start of the tutorial, but you can also refer to Github’s documentation on Connecting to GitHub with SSH

  • Project 3 involves using a network simulator that requires root access on a Linux machine. In the past, we have provided a virtual machine for Project 3 so you could run code with root privileges; this year, we are exploring a few alternate mechanisms that may not involve installing a full virtual machine but, in case we do still have to use the virtual machine, you may want to ensure (well ahead of Project 3) that you are able to install and use the CS virtual machine.

  • The C style guide in the Student Resource Guide is the normative style guide for this class.

  • When asking questions on Ed Discussion, you must follow the guidelines in the Asking Questions section of our Getting Help page.

  • The Debugging Guide, linked from the guide, contains useful suggestions and pointers on how to debug your C code.