Project 2: CS61Classify
Part A Deadline: Monday, October 4, 11:59:59 PM PT
Part B Deadline: Monday, October 11, 11:59:59 PM PT
In this project, you will write RISC-V assembly code to classify handwritten digits with a simple machine learning algorithm.
The goal of this project is to familiarize you with RISC-V, specifically calling convention, calling functions, using the heap, interacting with files, and writing some tests.
Setup: Git
-
Visit Galloc. Log in and start the Project 2 assignment. This will create a GitHub repository for your work.
-
Clone the repository on your workspace. We recommend using your local machine. Windows users should clone outside WSL (Git Bash is recommended).
(replace username
with your GitHub username)
-
Navigate to your repository:
-
Add the starter repository as a remote:
Setup: Java, Python, and Make
Make sure that you followed the local computer setup directions in Exercise 4 of Lab 0.
Windows users should use WSL for running the Make commands. You can cd
to the repo you cloned in Windows (e.g. C:/Users/oski/cs61c/proj2/
in Windows is /mnt/c/Users/oski/cs61c/proj2/
in WSL), so that you're running Venus and Make in the same repo.
Setup: Venus
We will use the Venus web interface for debugging. The procedure is very similar to the Venus setup in Lab 3, so we highly recommend doing Lab 3 first. As a recap:
-
Navigate to your
proj2-cs61classify
directory and run this command. Windows users should run outside WSL (Git Bash is recommended). -
Open https://venus.cs61c.org in your web browser (Chrome or Firefox is recommended). In the Venus web terminal, run
mount local proj2
. In your browser, you may see a prompt sayingKey has been shown in the Venus mount server! Please copy and paste it into here
. You should be able to see a key (string of letters and numbers) in the most recent line of your local terminal output; just copy and paste it into the dialog. -
Now the project files from your local computer are loaded into the Venus web interface. You can open the Files tab or run
ls proj2
in the Venus terminal to see all your files in your browser.
If you're having trouble with this setup, refer to this video walkthrough.
If you can see your files in Venus, you can skip the rest of this section. If the above steps didn't work, you can follow the guide below to manually upload files.
Manually Uploading Files
-
On your local computer or on the hive, zip your
src
,inputs
, andunittests/assembly
directories. -
Navigate to https://venus.cs61c.org Type
upload
in the Venus terminal. -
A file upload prompt should appear. Upload the zip file you created in step 1.
Now you can edit and debug your files on Venus.
To download any files you've edited, you can run zip zipname file1 file2 file3
in the Venus terminal. Replace zipname
with whatever you want the downloaded zip file to be named. Replace file1 file2 file3
with a list of files or directories you want to download (there can be more or less than 3 files or directories).