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
  • Google Developers – Advanced Programming
  • 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.

Related topics: Software Engineering, Data Science, Product Management

Want to keep learning for free? Check out all of our pages here.