What is you want to study computer science, but can’t affort university fees? Or, studied computer science a really long time ago and want to see what’s changed? Or just like learning stuff? Well, lots of schools now post their lectures on YouTube, so its entirely possible to construct a zero cost “self driving degree”, as long as you’re good enough at Canva to make your own certificate at the end.
Introduction
- First let’s nail down some basics with Crash Course Computer Science. This covers some fundamental stuff like binary maths, logic gates, as well as providing a good overview of the history of computing in general.
Databases
The focus here isn’t on SQL itself, there are lots of places to learn that. Instead, the focus here is how does a database actually work under the hood? That said, let’s chuck in a quick SQL introduction anyway.
- freeCodeCamp.org’s SQL for web developers course I will admit I didn’t actually watch this one but I have recommended it to others who wanted to brush up on SQL. I made that recommendation on the basis of quite liking Lane Wagner’s golang course (included below).
- CMU Introduction to Database Systems with Andy Pavlo (US fall semester 2024): Andy is an excellent teacher, quite funny at times, and good at explaining the underlying concepts in a way I found really engaging.
- CMU Advanced Database Systems (US spring semester 2024): …
Operating Systems
- Maybe Berkeley CS162, but it spends way too much time (8 lectures!) on mutual exclusion and locks.
- Real world implementation:
- Johannes 4GNU_linux’s linux device driver tutorial: these videos are really good in terms of content, but the quality of delivery is noticably better in the newer videos than the older ones. Luckily the creator appears to be re-recording many of them at the moment so that will improve over time. That said, be careful with the playlist because as it is re-created there are duplicate videos. If a topic appears to be covered twice, pick the newer video!
- This Red Hat Summit 2018 talk on SELinux is probably the best introduction to Mandatory Access Control (MAC) that I’ve seen.
- Locking is interesting, and important.
- This talk by Kavya Joshi is a good introduction to locks in general, but covers Linux futexes in detail.
Networking
Programming Languages
- freeCodeCamp.org’s introduction to Golang programming course is good, but does assume previous experience as a programmer. I think that’s why I liked it, because it didn’t spend ages explaining what a variable was or whatever.
Machine Learning
- freeCodeCamp.org’s Hot dog or not hot dog is a quick and pretty high level introduction to neural networks, tensorflow, and training an object detection model.
Security
- Android App Reverse Engineering is a live stream that Maddie Stone did during the COVID lock downs. Honestly, it feels to me like the audience and tooling didn’t treat her well during the stream, and as a result the video could do with an edit, but this is literally what went out live. This is the best content I’ve been able to find so far on how to actually reverse engineer an Android app while looking for malware. I have watched other courses, but they then to be very high level and vague, whereas this course has you actually reverse engineer actual applications. I just wish the live stream had been a better experience for Maddie.