Blog | Contact Us | About

Free Online Classes: Computer Science & Programming

Computer science students have long been taking advantage of online classes. CS departments publish their classes online for their students. Well, lucky for us, many are now also making those videos available to the general public.


Schools like MIT, UC Berkeley, and UMass Boston, are offering free online courses on everything from basic programming to robotics.

Course Title School
A Gentle Introduction to Programming Using Python MIT
Accessibility in interaction design (M364_1) The Open University
Acoustics of Speech and Hearing MIT
Advanced Algorithms MIT
Advanced Algorithms MIT
Advanced Circuit Techniques MIT
Advanced Complexity Theory MIT
Advanced Electromagnetism MIT
Advanced Natural Language Processing MIT
Advanced Topics in Cryptography MIT
Advanced Topics in Learning Object Design and Reuse Utah State
Algebraic Techniques and Semidefinite Optimization MIT
Algorithms for Computational Biology MIT
Algorithms for Computer Animation MIT
An introduction to data and information (M150_2) The Open University
An introduction to e-commerce and distributed applications (M360_1) The Open University
An introduction to information security (M886_1) The Open University
Analysis and Design of Digital Integrated Circuits MIT
Applied Parallel Computing (SMA 5505) MIT
Applied Quantum and Statistical Physics MIT
Applied Superconductivity MIT
Artificial Intelligence MIT
Artificial Intelligence U Mass Boston
Artificial Intelligence Dixie State
Automata, Computability, and Complexity MIT
Automatic Speech Recognition MIT
Autonomous Robot Design Competition MIT
Bioinformatics and Proteomics MIT
Biomedical Devices Design Laboratory MIT
Biomedical Signal and Image Processing MIT
Blogs, Wikis, New Media for Learning Utah State
Breadth Topics in Computing Science Capilano University
Building Programming Experience: A Lead-In to 6.001 MIT
CAPP 30523 - Applied Multimedia Technology, Fall 2008 Notre Dame
Circuits and Electronics MIT
Classical Mechanics: A Computational Approach MIT
Cognitive Robotics MIT
Communication System Design MIT
Communication Systems I (4660) Utah State
Communication Systems I (5660) Utah State
Communication, Technology, and Policy University of Southern Queensland
Communications and Information Policy MIT
COMP 106 - Programming with Robots, Fall 2007"> Capilano University
Complex Digital Systems MIT
Components and Design Techniques for Digital Systems UC Berkeley
Compound Semiconductor Devices MIT
Computability Theory of and with Scheme MIT
Computation Structures MIT
Computational Biology: Genomes, Networks, Evolution MIT
Computational Cognitive Science MIT
Computational Evolutionary Biology MIT
Computational Functional Genomics MIT
Computational Models of Discourse MIT
Computer Applications for Instruction and Training Utah State
Computer Architecture and Engineering UC Berkeley
Computer Graphics MIT
Computer Language Engineering (SMA 5502) MIT
Computer Networks MIT
Computer System Architecture MIT
Computer System Engineering (SMA 5501) MIT
Computers and computer systems (T224_1) The Open University
COMSTU 210 - Using Internet Communications, Summer 2008 U Mass Boston
Connecting People with Online Resources Utah State
Continuum Electromechanics MIT
Control of Manufacturing Processes MIT
Convex Analysis and Optimization MIT
Crossing the boundary - analogue universe, digital worlds (M150_1) The Open University
Cryptography and Cryptanalysis MIT
Data and processes in computing (M263_1) The Open University
Data Communication Networks MIT
Data Structures UC Berkeley
Data Structures and Advanced Programming UC Berkeley
Data Visualization Theory & Practice Utah State
Database Systems MIT
Design and Fabrication of Microelectromechanical Devices MIT
Designing the user interface: text, colour, images, moving images and sound (M873_1) The Open University
Development of Inventions and Creative Ideas MIT
Digital Signal Processing UC Berkeley
Discrete-Time Signal Processing MIT
Distributed Algorithms MIT
Distributed Computer Systems Engineering MIT
Distributed paradigms (M879_1) The Open University
Dynamic Programming and Stochastic Control MIT
Dynamic Systems & Control MIT
Dynamics of Nonlinear Systems MIT
ECE3260 - Science of Sound, Spring 2004" Utah State
ECE3640 - Signals and Systems, Spring 2006" Utah State
ECE4660 - Communication Systems I, Spring 2006" Utah State
ECE5660 - Communication Systems I, Spring 2006" Utah State
ECE6010 - Stochastic Processes, Spring 2006" Utah State
ECE7670 - Error Control Coding, Spring 2006" Utah State
ECE7680 - Information Theory, Spring 2006" Utah State
Electric Machines MIT
Electromagnetic Fields, Forces, and Motion MIT
Electromagnetic Wave Theory MIT
Electromagnetics MIT
Electromagnetics and Applications MIT
Engineering Biomedical Information: From Bioinformatics to Biosurveillance MIT
Engineering Risk-Benefit Analysis MIT
Error Control Coding Utah State
Essential Coding Theory MIT
Ethics and the Law on the Electronic Frontier MIT
Feedback Systems MIT
Fields, Forces and Flows in Biological Systems MIT
Fields, Forces, and Flows in Biological Systems (BE.430J) MIT
Finding information in information technology and computing (LIB_5) The Open University
Flash Utah State
Foundations of Algorithms and Computational Techniques in Systems Biology MIT
Fundamentals of Photonics: Quantum Electronics MIT
Fundamentals of Probability MIT
Game Theory and Mechanism Design MIT
Global Issues on Information Technology Weber State University
Great Ideas in Theoretical Computer Science MIT
Hands-On Introduction to Electrical Engineering Lab Skills MIT
High Speed Communication Circuits MIT
High Speed Communication Circuits and Systems MIT
HTML Basics Open University of Washington
ICTs in everyday life (T175_2) The Open University
ICTs: device to device communication (T175_1) The Open University
ICTs: e-government (T175_5) The Open University
ICTs: information (T175_8) The Open University
ICTs: Technology news (T175_4) The Open University
Information and Entropy MIT
Information on the web (T180_5) The Open University
Information Theory Utah State
INST4010 - Principles and Practices of Technology, Spring 2008 Utah State
INST5240 - Producing Distance Education Resources, Spring 2005"> Utah State
INST5245 - Interactive Multimedia Production, Summer, 2008 Utah State
INST5260 - Learn and Apply HTML, Spring 2005"> Utah State
INST5270 - Flash, Fall 2006"> Utah State
INST5280 - Blogs, Wikis, New Media for Learning, Spring 2006"> Utah State
INST5400 - Computer Applications for Instruction and Training, Spring 2005"> Utah State
INST7150 - Advanced Topics in Learning Object Design and Reuse, Fall 2005"> Utah State
INST7150 - Introduction to Open Education, Fall 2007"> Utah State
INST7150 - Understanding Online Interaction, Spring 2005"> Utah State
INST7870 - Data Visualization Theory & Practice, Fall 2006"> Utah State
INST7870 - Instructional Games, Spring 2005 Utah State
Instructional Games Utah State
Integer Programming and Combinatorial Optimization MIT
Integrated Microelectronic Devices MIT
Interactive Multimedia Production Utah State
Introducing ICT systems (T175_3) The Open University
Introduction to Algorithms MIT
Introduction to Algorithms (SMA 5503) MIT
Introduction to Bioengineering (BE.010J) MIT
Introduction to Communication, Control, and Signal Processing MIT
Introduction to Computer Science and Programming MIT
Introduction to Computers UC Berkeley
Introduction to Copyright Law MIT
Introduction to Electric Power Systems MIT
Introduction to Electronics, Signals, and Measurement MIT
Introduction to Mathematical Programming MIT
Introduction to Numerical Methods MIT
Introduction to Numerical Simulation (SMA 5211) MIT
Introduction to Open Education Utah State
Introduction to Plasma Physics I MIT
Introduction to Software Engineering in Java MIT
Introduction to Symbolic Programming UC Berkeley
Introductory Analog Electronics Laboratory MIT
Introductory Digital Systems Laboratory MIT
Inventions and Patents MIT
IT 3100 - Systems Design and Adminsitration I, Fall 2007"> Dixie State
IT133 - IT133 Software Applications Kaplan University
Java Preparation for 6.170 MIT
Knowledge-Based Applications Systems MIT
Laboratory in Software Engineering MIT
Laboratory on the Physiology, Acoustics, and Perception of Speech MIT
Learn and Apply HTML Utah State
Linear Integrated Circuits UC Berkeley
Living with the internet: keeping it safe (T180_8) The Open University
Living with the Internet: online shopping (T180_3) The Open University
Logistical and Transportation Planning Methods MIT
Machine Learning MIT
Machine Structures UC Berkeley
Machine Vision MIT
Management in Engineering MIT
Mathematics for Computer Science MIT
Mathematics for Computer Science MIT
Mathematics for Computer Science (SMA 5512) MIT
Medical Computing MIT
Medical Decision Support MIT
Micro/Nano Processing Technology MIT
Microelectronic Devices and Circuits MIT
Microelectronic Devices and Circuits MIT
Mobile Autonomous Systems Laboratory MIT
Modelling object-oriented software — an introduction (M256_1) The Open University
Models and modelling (M883_1) The Open University
Modern Optics Project Laboratory MIT
Molecular, Cellular and Tissue Biomechanics (BE.410J) MIT
Molecular, Cellular, and Tissue Biomechanics MIT
Multithreaded Parallelism: Languages and Compilers MIT
Multivariable Control Systems MIT
Natural Language and the Computer Representation of Knowledge MIT
Network and Computer Security MIT
Network Optimization MIT
Network security (T823_1) The Open University
Nonlinear Programming MIT
Numerical Methods for Partial Differential Equations (SMA 5212) MIT
Object Oriented Programming in C++ University of Southern Queensland
Operating System Engineering MIT
Operating Systems and System Programming UC Berkeley
Optical Signals, Devices, and Systems MIT
Organic Optoelectronics MIT
Pervasive Human Centric Computing (SMA 5508) MIT
Physics for Solid-State Applications MIT
Physics of Microfabrication: Front End Processing MIT
Power Electronics MIT
Principles and Practices of Technology Utah State
Principles of Computer Systems MIT
Principles of Digital Communication II MIT
Principles of Digital Communications I MIT
Principles of Wireless Communications MIT
Probabilistic Systems Analysis and Applied Probability MIT
Program Analysis MIT
Programming Abstractions Stanford University
Programming Languages MIT
Programming Methodology Stanford University
Programming Paradigms Stanford University
Projects in Microscale Engineering for the Life Sciences MIT
Protocols in multi-service networks (T822_1) The Open University
Quantitative Physiology: Cells and Tissues MIT
Quantitative Physiology: Organ Transport Systems MIT
Quantum Information Science MIT
Quantum Optical Communication MIT
Queues: Theory and Applications MIT
Randomized Algorithms MIT
Receivers, Antennas, and Signals MIT
Representation and Modeling for Image Analysis MIT
Representing and manipulating data in computers (T224_2) The Open University
Robocraft Programming Competition MIT
Science of Sound Utah State
Search Engines: Technology, Society and Business UC Berkeley
Selected Topics in Cryptography MIT
Semiconductor Manufacturing MIT
Semiconductor Optoelectronics: Theory and Design MIT
Seminar in Electric Power Systems MIT
Signals and Systems MIT
Software Applications Kaplan University
Software development for enterprise systems (M885_1) The Open University
Software Engineering for Web Applications MIT
Solid-State Circuits MIT
Speech Communication MIT
Stochastic Processes Utah State
Stochastic Processes, Detection, and Estimation MIT
Street-Fighting Mathematics MIT
Strobe Project Laboratory MIT
Structure and Interpretation of Computer Programs MIT
Structure and interpretation of Systems and Signals UC Berkeley
Submicrometer and Nanometer Technology MIT
System Identification MIT
Systems Design and Adminsitration I Dixie State
Techniques in Artificial Intelligence (SMA 5504) MIT
Technology and Society University of Southern Queensland
The Art of Approximation in Science and Engineering MIT
The database development life cycle (M359_1) The Open University
The Human Intelligence Enterprise MIT
The Human Intelligence Enterprise MIT
The Lexicon and Its Features MIT
The Structure and Interpretation of Computer Programs UC Berkeley
The Structure and Interpretation of Computer Programs Tufts University
The Structure of Engineering Revolutions MIT
Theory of Computation MIT
Theory of Parallel Hardware (SMA 5511) MIT
Theory of Parallel Systems (SMA 5509) MIT
Three-Dimensional Modeling, Animation and Rendering Using Blender 3D Software Tufts University
Transcribing Prosodic Structure of Spoken Utterances with ToBI MIT
Transmission of Information MIT
Ultrafast Optics MIT
Understanding Online Interaction Utah State
User Interface Design and Implementation MIT
Web 2.0 Weber State University
XML Foundations UC Berkeley