Hi there! Seems like you stumbled upon my archive of course notes!
Over the years, I’ve found that the most effective way for me to learn and process information was to teach it. Since this isn’t always practical or possible, I’ve ended up creating these production-quality notes as an alternative.
Although many courses at Berkeley (especially CS courses) have excellent materials and often already have a full set of course notes, I’ve found that many students- myself included- often struggle to process information when it’s that dense. My hope is that these notes can serve as a secondary, lighter perspective on things.
Here, you’ll find a wide variety of content from basic concepts, practice problems, and example algorithm walkthroughs. Since they were all made at various times over 4 years, the quality and style may be wildly different from page to page. I intend to go through these notes and resolve any inconsistencies over (a long period of) time.
Here are the courses that I currently have notes available for, and their statuses:
- CS 61B: Data Structures and Algorithms: full guide available for all course content, based on the Spring 2020 offering
- CS 70: Discrete Math: full guide available for discrete math; partial index available for probability. Based on the Fall 2020 offering
- CS 186: Intro to Databases: full guide available for all topics except NoSQL and FD’s/Normalization. Based on the Fall 2022 offering
- CS 162: Operating Systems: course notes available for most topics. Based on the Fall 2021 offering
- CS 168: Intro to the Internet: course notes available for most topics. Based on the Fall 2022 offering
- CS 61A: Structure and Interpretation of Computer Programs: resource index and meta-guide available. No course notes.
- Data 102: Data, Inference, Decisions: course notes available for most topics. Based on the Fall 2022 offering
Although I have personal notes for many other classes, they do not meet my quality standards for making them public at this time. If I have time at some point in the distant future, they may make an appearance, but don’t count on this happening anytime soon.
If you made your own notes/resources for a CS, Data Science, or EE course and would like me to put a link to them here, let me know (contributing)!
Basic Principles #
Here are some principles that I try to follow when creating notes. I’ll probably make a blog post at some point to go over this in more detail, but for now this outline should be enough to show what I hope to accomplish.
- Content is more fun when it’s important: Answer the question “why should I care about this?” before actually spending time on whatever topic is at hand. If answering it is a struggle, then it’s probably not important enough to need to remember in the future.
- Make it interactive: It’s way easier to concentrate on something if it’s directly applicable to a problem, question, or situation at hand. Interject conceptual notes with illustrated examples and practice problems whenever possible.
- Notes are rarely self-contained: It’s impossible to fully cover most topics on a single page, and topics may be deeply related to content from other courses. Link to external resources or further learning opportunities whenever possible, just in case it becomes necessary to research the topic further in the future.
- Type a lot of stuff really fast: For this verbose style of note-taking to be effective for me, I need to be able to completely put down thoughts on the page before I lose them. If you’re thinking of doing this on your own, I’d recommend getting good at touch typing, and hitting up monkeytype for some practice. I’m going against all the research that suggests handwriting is more effective than typing, because the purpose of my notes is not for memorizing or even remembering any of the content, but rather to create a complete repository of knowledge that I and others can easily search in the future.
About this website #
All of the notes here are formatted in Markdown, and the majority was created using Obsidian. These notes are a small fraction of my Obsidian vault; I intend to publish other small bits of it in various places such as my blog, devlog, or mastodon if you’re curious.
If you’re interested in contributing, take a look at the contribution guide.
Contact me #
Want to chat with me about these notes, or something else? You can find my contact info here.