Resources
This page contains miscellaneous resources for learning/studying topics covered in this class
Computing
- The Missing Semester of Your CS Education. This mini-course overlaps some of the content in this course focused on computing tools.
Python
Programming
- Composing Programs - a free online Python-based resource that follows the Structure and Interpretation of Computer Programs book. It is the basis for CS61a at UC Berkeley.
Design
- Design of packaging system in The Architecture of Open Source Applications
- Standard library design decisions blogpost by death and gravity
Beyond This Course
- teachyourselfcs.com - suggested resources for a variety of core topics in computer science which you might find useful.
Related/Similar Courses
- Top-10 Algorithms Course by Alex Townsend (Cornell)
Sample config files
You can add the following files to your ~/
directory. Be sure to add a .
to the start and modify directories as necessary.
- If you wish to use
vim
, here is a sample.vimrc
file. This config enables mouse control, code folding, and color support. - If you wish to use
tmux
, here is a sample.tmux.conf
file. This config enables mouse control, sets the command key toctrl a
, and makes a few other quality of life changes. - Here is a sample
.bashrc
file. It makes some more convenient choices for managing code history and enables some color support. - Here is a sample
.bashrc
file for Windows Subsystem Linux, which also enables the use of jupyter notebooks with any browser. More details can be found here. In short, with this configuration, you can access an open juptyer server by going tolocalhost:8888
in your browser.