60 Free Computer Science College Courses You Can Take Online in 2015

Spoiler alert: computer science is in. Like, it's really in – so far in, it's reached the center of the Tootsie Roll pop.  ¯\_(ツ)_/¯ Of all the things you can do for yourself in 2015, the one thing you definitely need to do is to get into computer science. Whether you're just a beginner or are someone trying to improve upon or to refresh things you've learned previously, there's a limitless number of resources across the Internet of which you can take advantage. In the upcoming year, consider taking one of these free computer science college courses online.

See also: Programs & Resources

Published on a recent Hacker News post by user denismars, the 60 following computer science courses are all online classes that are provided completely for free by various professors, departments and universities across the world through each respective university's website. According to GitHub user prakhar1989, the originator of the list, the 60 computer science courses are all relatively unknown but deserve some attention. While most people are familiar with MOOCs through platforms like Coursera or MIT OpenCourseWare, the courses listed are provided directly from University pages and include everything from beginner courses on programming languages, to more advanced courses in machine learning.

Consider checking out one of the free computer science college courses. Classes come from places like Carnegie Mellon, Stanford, and MIT. The classes are sorted by focus: Introduction to CS, Systems, Programming Languages/Compilers, Algorithms, CS Theory, and Miscellaneous. To read more on course descriptions, visit the original post on GitHub.

60 Free Computer Science College Courses to Take in 2015

Introduction to CS

  • CS 10: The Beauty and Joy of Computing (UC Berkeley)
  • CS 50: Introduction to Computer Science (Harvard)
  • CS 101: Computer Science 101 (Stanford)
  • CS 106A: Programming Methodology (Stanford)
  • CS 106B: Programming Abstractions (Stanford)
  • CS107: Programming Paradigms (Stanford)


  • 18-447: Introduction to Computer Architecture (Carnegie Mellon)
  • CS425: Distributed Systems (University of Illinois at Urbana-Champaign)
  • CS241: Systems Programming (University of Illinois at Urbana-Champaign)
  • CS 452: Real-Time Programming (University of Waterloo)
  • 15-440: Distributed Systems (Carnegie Mellon)
  • 6.824: Distributed Systems (MIT)
  • 6.828: Operating Systems (MIT)
  • SPAC: Parallelism and Concurrency (University of Washington)
  • 15-749: Engineering Distributed Systems (Carnegie Mellon)
  • PODC: Principles of Distributed Computing (ETH-Zurich)
  • CS5412: Cloud Computing (Cornell)
  • CSCI 360: Computer Architecture 3 (CUNY Hunter College)
  • CSCI 493.66: UNIX System Programming (CUNY Hunter College)
  • CSCI 493.75: Parallel Computing (CUNY Hunter College)
  • CS 107: Computer Organization & Systems (Stanford)
  • ECE 459: Programming for Performance (University of Waterloo)

Programming Languages / Compilers

  • CSE341: Programming Languages (University of Washington)
  • COS326: Functional Programming (Princeton)
  • CIS194: Introduction to Haskell (Penn Engineering)
  • CS240h: Functional Systems in Haskell (Stanford)
  • CS164: Hack your language! (UC Berkeley)
  • CS3110: Data Structures and Functional Programming (Cornell)
  • CS173: Programming Languages (Brown)
  • CS421: Programming Languages and Compilers (University of Illinois at Urbana-Champaign)
  • CS5470: Compilers (University of Utah)
  • CS4610: Programming Languages and Compilers (UVA)


  • CSE-373: Analysis of Algorithms (Stony Brook University)
  • 15-451/651: Algorithms (Carnegie Mellon)
  • COS226: Data Structures and Algorithms (Princeton)
  • CS61B: Data Structures (UC Berkeley)
  • CSCI 135: Software Design and Analysis I (CUNY Hunter College)
  • CSCI 235: Software Design and Analysis II (CUNY Hunter College)
  • CSCI 335: Software Design and Analysis III (CUNY Hunter College)
  • CS 473/573: Fundamental Algorithms (University of Illinois at Urbana-Champaign)
  • 6.854/18.415J: Advanced Algorithms (MIT)
  • 6.851: Advanced Data Structures (MIT)
  • CS 2150: Program & Data Representation (UVA)

CS Theory

  • CIS 500: Software Foundations (University of Pennsylvania)
  • CS276: Foundations of Cryptography (UC Berkeley)
  • CS278: Complexity Theory (UC Berkeley)
  • CS103: Mathematical Foundations of Computing (Stanford)
  • CS 173: Discrete Structures (University of Illinois at Urbana-Champaign)


  • CS 378: 3D Reconstruction with Computer Vision (UTexas)
  • CS 5150: Software Engineering (Cornell)
  • 15-781: Machine Learning (Carnegie Mellon)
  • ESM 296-4F: GIS & Spatial Analysis (UC Santa Barbara)
  • IGME-582: Humanitarian Free & Open Source Software Development (Rochester Institute of Technology)
  • IGME-585: Advanced Project Based Free & Open Source Software Development (Rochester Institute of Technology)
  • CS223A: Introduction to Robotics (Stanford)
  • CIS 581: Computer Vision and Computational Photography (University of Pennsylvania)
  • EECS 588: Computer & Network Security (University of Michigan)
  • ICS 314: Software Engineering (University of Hawaii)
  • COMS 4771: Machine Learning (Columbia University)

(H/T Hacker News)

Did you find this article helpful? Click on one of the following buttons
We're so happy you liked! Get more delivered to your inbox just like it.

We're sorry this article didn't help you today – we welcome feedback, so if there's any way you feel we could improve our content, please email us at contact@tech.co

Written by:

Ronald Barba was the previous managing editor of Tech.Co. His primary story interests include industry trends, consumer-facing apps/products, the startup lifestyle, business ethics, diversity in tech, and what-is-this-bullsh*t things. Aside from writing about startups and entrepreneurship, Ronald is interested in 'Doctor Who', Murakami, 'The Mindy Project', and fried chicken. He is currently based in New York because he mistakenly studied philosophy in college and is now a "writer". Tweet @RonaldPBarba.

Back to top