Computer science is the study of the engineering, use, and maintenance of computers and computer programs.
Step #1: Learn itStep #2: Apply itStep #3: Stay up-to-date
Access the following free resources from across the web. Note that Bootstrap Ed does not own any of the resources featured on this page.
Computer Science Overview
- David Evans – Introduction to Computing
- Harvard – Introduction to Computer Science I, Lecturer: David Malan
- 20 sessions, approximately 50 minutes each
- Playlist
- MIT – Introduction to Computer Science and Programming Spring 2011 (6.00SC), Lecturer: John Guttag
- 38 sessions, approximately 50 minutes each
- Playlist
- MIT – Introduction to Computer Science and Programming in Python Fall 2016 (6.0001), Lecturer: Ana Bell
- 12 lectures, approximately 45 minutes each + supplemental shorts
- Playlist
- ComputerScience.org – Computer Programming Languages
- Google Developers – Foundations of Programming
- 33 modules
- Exercises and resources
- Google Developers – Advanced Programming
- 21 modules
- Exercises and resources
- MIT – Programming for the Puzzled IAP 2018 (6.S095), Lecturer: Srini Devadas
- 11 lectures, approximately 20-60 minutes each
- Playlist
- MIT – Introduction to Algorithms (SMA 5503) Fall 2005 (6.046J / 18.410J), Lecturers: Charles Leiserson, Erik Demaine
- 23 lectures, approximately 75 minutes each
- Playlist
- MIT – Design and Analysis of Algorithms Spring 2015 (6.046J), Lecturer: Srinivas Devadas
- 24 lectures, approximately 20-80 minutes each
- Playlist
- MIT – Algorithmic Lower Bounds: Fun with Hardness Proofs Fall 2014 (6.890), Lecturer: Erik Demaine
- 23 lectures, approximately 80 minutes each
- Playlist
- Jay Wengrow – A Common-Sense Guide to Data Structures and Algorithms: Level Up Your Core Programming Skills
- MIT – Advanced Data Structures Spring 2012 (6.851), Lecturer: Erik Demaine
- 22 lectures, approximately 80 minutes each
- Playlist
- MIT – Signal Processing on Databases Fall 2012 (RES.LL-005 D4M), Lecturer: Jeremy Kepner
- 18 sessions, approximately 10-60 minutes each
- Playlist
- GCF Global – What is an operating system?
- Cracking the Data Science Interview – The 10 Operating System Concepts Software Developers Need to Remember
- Packt – Developer’s guide to software architecture patterns
- Hacker Noon – 38 Actions and Insights to Become a Better Software Architect
- Tutorials Point – Software Architecture & Design Introduction
- Work through the 12 sections (see left pane)
- Reading
..
Math for Computer Science
- MIT – Linear Algebra (18.06), Lecturer: Gilbert Strang
- 35 lectures, approximately 45 minutes each
- Playlist
- MIT – Single Variable Calculus (18.01), Lecturer: David Jerison
- 39 lectures, approximately 50 minutes each
- Playlist
- MIT – Homework Help for Single Variable and Multivariable Calculus (18.01SC, 18.02SC), Lecturers: Christine Breiner, David Jordan, Joel Lewis
- 87 videos (problem set solutions), approximately 5-10 minutes each
- Playlist
- MIT – Multivariable Calculus (18.02), Lecturer: Denis Auroux
- 35 lectures, approximately 50 minutes each
- Playlist
- MIT – Homework Help for Multivariable Calculus (18.02SC), Lecturer: Joel Lewis
- 70 videos (problem set solutions), approximately 5-10 minutes each
- Playlist
- MIT – Calculus of Complex Variables, Differential Equations, and Linear Algebra, Lecturer: Herbert Gross
- 20 lectures, approximately 35 minutes each
- Playlist
- Khan Academy – Calculus
- 199 videos, approximately 5-15 minutes each
- Playlist
- MIT – Fundamentals of Statistics (18.650), Lecturer: Philippe Rigollet
- 24 lecturers, approximately 75 minutes each
- Playlist
- Khan Academy – Statistics
- 68 lectures, approximately 5-15 minutes each
- Playlist
- MIT – Introduction to Probability (6-012), Lecturer: John Tsitsikli
- 20 lectures split into shorter parts, approximately 5-15 minutes each
- Playlist
- Harvard – Probability (STAT-E 110), Lecturer: Joe Blitzstein
- 35 lectures, approximately 45 minutes each
- Playlist
- MIT – Mathematics for Computer Science Spring 2015 (6.042J), Lecturer: Albert Meyer
- 110 videos, approximately 5-25 minutes each
- Playlist
..
Machine Learning and Artificial Intelligence
- Google Developers – Machine Learning Crash Course
- 25 lessons and 40+ exercises, approximately 15 hours of work
- Course page
- Google Developers – Machine Learning Recipes with Josh Gordon
- 10 videos, approximately 7 minutes each
- Playlist
- Google Developers – Machine Learning Glossary
- Machine Learning Mastery – Need Help Getting Started with Applied Machine Learning?
- MIT – Artificial Intelligence Fall 2010 (6.034), Lecturer: Patrick Winston
- 30 sessions, approximately 30-50 minutes each
- Playlist
..
Training Tutorials
Complete the following exercises to apply your newly acquired knowledge.
- PRODUCT BUILD
- Research a problem, devise a software solution, build a software product, and get feedback from users. While this requires a high degree of commitment, it is the best way to practice the work of a software engineer.
- HACKATHON
- Hackathons are time-bound “sprints” (often 24-48 hours) in which small teams compete to create the best product or prototype of a product. A panel of experts judges the creations and awards prizes. Participate in a hackathon in your area. Many are free to participate in.
Engage with the field on an ongoing basis. Note that Bootstrap Ed does not own any of the resources featured on this page.
Blogs
- CodeBetter
- Computational Complexity
- Computer Zen
- Female Perspective of Computer Science
- Freedom to Tinker
- Haystack Blog
- The Bit Theories
- Treehouse
Podcasts
Related topics: Software Engineering, Data Science, Product Management
Want to keep learning for free? Check out all of our pages here.