These are just some of the projects that I did in cs61a. Note: to all students who are currently taking cs61a, do NOT copy my code. That is cheating. Also, I do not own all of the code in this repository nor do I own any of the websites linked below. This is simply a repository that is dedicated to the work that I completed during the course of my cs61a experience. The websites linked and a lot of the code in the repository is created by faculty of the CS department at UC Berkeley.
Here is a short description of each project that I did for this class. I did four projects in total and each project was meant to help students understand a specific concept.
Project 1: The Game of Hog
link to the project page: https://cs61a.org/proj/hog/
The overall goal of the project is to make a very simple game in which two players take turns rolling a die and the person with a higher sum of points will win. The project is meant to be a very simple and straightforward introduction to higher order functions. This is a very basic project to implement and the steps are laid out. All students need to do is fill out certain methods. This project also does a good job of teaching students how to do math in python.
Project 2: Cats
link to the project page: https://cs61a.org/proj/cats/
This project starts to go a little more into practical applications. Specifically, it goes into typing and word association. Students implement a typing test that measures typing speed of a player. Students also implement a basic autocorrect algorithm. Conceptually, the project is not too different from Hog. Just slightly more challenging.
Project 3: Ants
link to the project page: https://cs61a.org/proj/ants/
This project is when things start to get more interesting. Now, students start learning the basics of object oriented programming. To keep things general, this project is also a game where ants fight bees. For this project, there are many types of ants and many types of bees. In order for the student to be able to implement the game as intended, the student must be familiar with creating classes in python and writing methods.
Project 4: Scheme
link to the project page: https://cs61a.org/proj/scheme/
Now, this project was by far the most complicated project. There is a very specific coding dialect called Scheme that students learned in class. The goal of the project is to recreate Scheme in Python along with all its properties, including basic operations, tail recursion, and macros. This project was the ultimate test to see how well students retained knowledge about Python, Scheme, and many smaller yet complex concepts introduced in the project.