Free Computer Science Courses and Talks To Absorb

Below you’ll find a balanced curriculum of juicy courses and videos that are available for free on the internet. I’ll definitely be diving into most of these in the 2nd half of 2020. Stay curious!

University CS Courses For Free

CS50’s Web Programming with Python and JavaScript | Harvard University

CS 61-C Great Ideas in Computer Architecture (Machine Structures), Spring 2015 | UC Berkeley

CS 109: Data Science, 2015 | Harvard University

Mathematical Modeling of Football, Fall 2020 | Uppsala Universitet

CS 162 – Operating Systems and Systems Programming, Fall 2013 | UC Berkeley

15-445/645 Intro to Database Systems, Fall 2019 | Carnegie Mellon University

15-721 Advanced Database Systems, Spring 2020 | Carnegie Mellon University

Missing Semester: Shell Tools & Scripting, Spring 2020 | MIT

6.824 Distributed Systems, Spring 2020 | MIT

CSE 373 – Analysis of Algorithms, 2016 | Stony Brook University

CS 4150 Algorithms, Spring 2020 | University of Utah

CS 241 System Programming, Spring 2020 [course wiki] | University of Illinois

CS 6120: Advanced Compilers: The Self-Guided Online Course | Cornell University

Intriguing Coursera Classes

DevOps Culture and Mindset | UC-Davis

Computer Science: Algorithms, Theory, and Machines | Princeton University

Excel Fundamentals for Data Analysis | Macquarie University

Build a Data Science Web App with Streamlit and Python | Guided Project [$10]

Programming Talks & Tutorials

These programming talks piqued my interest, highly recommended.

David Beazley | Built in Super Heroes [YouTube]

Mr. Beazley shows how to use pure Python built-in functions to clean and analyze the City of Chicago’s food inspection data. No pandas in this talk, behold the power of the Python standard library. Spoiler: Don’t eat at O’hare airport. He also has a new course, available for free:

David Beazley | Practical Python Programming [Course]

This is not a course for absolute beginners on how to program a computer. It is assumed that you already have programming experience in some other programming language or Python itself.

Sebastian Witowski | Modern Python Developer’s Toolkit [YouTube]

An overview covering editing tools and setup from PyCon 2020. Honing your development environment is crucial to being an efficent coder. This example uses VS Code. I use Atom as my primary text editor. The most recommended linters are usually pylint, flake8 or pyflakes.

Jake VanderPlas | Reproducible Data Analysis in Jupyter [YouTube]

This 10 video series is a must-watch for aspiring data scientists and analysts if you use Python. Includes a git workflow demonstration, working in Jupyter Notebooks and many other essentials.

Rich Hickey | Hammock Driven Development [YouTube]

Sometimes, the best thing we can do is step away from the keyboard. I really enjoy this speaker’s communication style.

Eric J. Ma | Demystifying Deep Learning for Data Scientists [YouTube]

Tutorial-style Python\machine learning walk-through from PyCon 2020.

Julie Michelman | Pandas, Pipelines, and Custom Transformers [YouTube]

This video shows a deep dive into the world of sci-kit learn and machine learning. PyCon and PyData videos usually include some cutting edge tech. Machine learning moves so fast there are always new tools surfacing. But certain libraries like sci-kit learn, TensorFlow, keras and PyTorch have been constant.

Ville Tuuls | A Billion Rows per Second: Metaprogramming Python for Big Data [YouTube]

Make your data dense by tactically re-arranging into efficient structures and compiling it down to lower-level bytes. This details a successful Python / Postgres / Numba / Multicorn big data implementation.

Video & Course Grab Bag

Discover the role of Python in space exploration [course]

Microsoft and NASA made a free course about Python in space! 🤓

Ted Nelson | Computers for Cynics [YouTube]

I find these videos to be an entertaining, thought-provoking take on software history. Recommended from Joe Armstrong, the creator of Erlang.

GNU Typist [Tutorial]

You may be able to teach yourself to type more efficiently with this tutorial. I definitely need to do this. It’s worth mentioning, per Rich Hickey: with a proper design phase, you’ll spend less time typing in the first place!

Extra Credit: Python Wikipedia Library 

import wikipedia [GitHub]

Supplementary Resources