Computer Science and Engineering

This is a collection of audio/video courses and lectures in computer science and engineering from educational institutions around the world. The courses and lectures cover a wide variety of subjects in computer science and engineering, including algorithms, artificial intelligence, computer architecture, computer networks, data structures, machine learning, operating systems, programming languages, and software engineering.

MIT OpenCourseWare
Video/text 6.0001 - Introduction to Computer Science and Programming in Python
Video/text 6.00SC - Introduction to Computer Science and Programming
Video/text 6.00 - Introduction to Computer Science and Programming
Video/text 6.001 - Structure and Interpretation of Computer
Video/text 6.01SC - Introduction to Electrical Engineering & Computer Science I
Video/text 6.02 - Introduction to EECS II: Digital Communication Systems
Video 6.006 - Introduction to Algorithms (Fall 2011)
Video/text 6.033 - Computer System Engineering (SMA 5501)
Video/text 6.034 - Artificial Intelligence
Video/text 6.035 - Computer Language Engineering (SMA 5502)
Video 6.041 - Probabilistic Systems Analysis and Applied Probability
Video 6.042J - Mathematics for Computer Science (Fall 2010)
Video/text 6.046J - Introduction to Algorithms (Fall 2005) (SMA 5503)
Video/text 6.046J - Design and Analysis of Algorithms (Spring 2015)
Video/text 6.073 - Creating Video Games
Video/text 6.172 - Performance Engineering of Software Systems
Video/text 6.189 - Multicore Programming Primer
Video/text 6.252J - Nonlinear Programming
Video/text 6.849 - Geometric Folding Algorithms
Video/text 6.851 - Advanced Data Structures
Video/text 6.858 - Computer Systems Security
Video/text 6.868J - The Society of Mind
Video/text 6.890 - Algorithmic Lower Bounds
Video 6.912 - Introduction to Copyright Law
Video/text D4M: Signal Processing on Databases

UC Berkeley Webcast
Video/text CS 10 - The Beauty and Joy of Computing
Video/text CS 61A - The Structure and Interpretation of Computer Programs
Video/text CS 61B - Data Structures and Advanced Programming
Video/text CS 61C - Machine Structures
Video/text CS 70 - Discrete Mathematics and Probability Theory (Spring 2015)
Video/text CS 70 - Discrete Mathematics and Probability Theory (Fall 2012)
Video/text CS 162 - Operating Systems and System Programming
Video/text CS 164 - Programming Languages and Compilers (Spring 2012)
Video/text CS 169 - Software Engineering
Video CS 170 - Efficient Algorithms and Intractable Problems
Video/text CS 184 - Fundamentals of Computer Graphics
Video/text CS 186 - Introduction to Database Systems
Video/text CS 188 - Introduction to Artificial Intelligence (Spring 2015)
Video/text CS 188 - Introduction to Artificial Intelligence (Fall 2011)
Video/text CS 194 - Advanced Operating Systems Structures and Implementation
Video CS 195 - Social Implications of Computing
Video/text CS C149 - Introduction to Embedded Systems
Video SIMS 141 - Search Engines (Fall 2005)

Stanford Engineering Everywhere
Video/text CS106A - Programming Methodology
Video/text CS106B - Programming Abstractions
Video/text CS107 - Programming Paradigms
Video/text CS229 - Machine Learning
Video/text CS223A - Introduction to Robotics
Video CS224N - Natural Language Processing
Video CS547 - Human-Computer Interaction Seminar

Harvard Extension School
Audio/video Bits: The Computer Science of Digital Information
Audio/video CS 50: Introduction to Computer Science I
Audio/video CS E-1: Understanding Computers and the Internet
Audio/video CS E-7: Exposing Digital Photography
Audio/video CS E-75: Building Dynamic Websites
Audio/video CS E-76: Building Mobile Applications
Audio/video CS E-164: Mobile Software Engineering
Audio/video CS E-259: XML with Java, Java Servlet, and JSP
Video/text CS 224: Advanced Algorithms
Video/text CS 229R: Algorithms for Big Data

Machine Learning Lectures by Nando de Freitas
Video/text CPSC 340 - Machine Learning and Data Mining (2012, UBC)
Video/text CPSC 540 - Machine Learning (2013, UBC)
Video/text Machine Learning (2015, University of Oxford)

Artificial Intelligence Lectures by Alan Mackworth
Video/text CPSC 322 - Introduction to Artificial Intelligence (2013, UBC)

Caltech - Learning From Data
Video/text CS 156 - Machine Learning Course (Spring 2012)

UC Davis Academics on YouTube
Video ECS 120 - Theory of Computation
Video ECS 122A - Algorithm Design and Analysis
Video ECS 124 - Fundamental Algorithms in Bioinformatics
Video ECS 173 - Image Processing and Analysis
Video ECS 175 - Computer Graphics
Video ECS 275A - Ray Tracing for Global Illumination
Video ECS 277 - Advanced Visualization

NPTEL Courses
Video/web Computer Architecture
Video/web Computer Organization
Video/web Real Time Systems
Video Compiler Design
Video High Performance Computer Architecture
Video High Performance Computing
Video Principles of Programming Languages
Video Introduction to Problem Solving and Programming
Video Programming and Data Structure
Video Data Structures and Algorithms
Video/web Design and Analysis of Algorithms
Video Computer Algorithms - 2
Video Graph Theory
Video/web Artificial Intelligence (Prof.P.Dasgupta)
Video/web Artificial Intelligence (Prof. S. Sarkar)
Video Natural Language Processing
Video Theory of Automata, Formal Languages and Computation
Video Theory of Computation
Video Internet Technology
Video/web Computer Networks
Video/web Data Communication
Video/web System Analysis and Design
Video Database Design
Video Software Engineering
Video Cryptography and Network Security
Video Introduction to Computer Graphics
Video Computer Graphics
Video Computational Geometry
Video Combinatorics
Video Discrete Mathematical Structures
Video Logic for CS
Video Numerical Optimization

Electrical and Computer Engineering at Carnegie Mellon University
Video/text ECE 18-447: Introduction to Computer Architecture (Spring 2015)
Video/text ECE 18-447: Introduction to Computer Architecture (Spring 2014)
Video ECE Seminar Series at Carnegie Mellon University

Gresham College Public Lectures
Video Computing Mathematics
Video Living in a Cyber-Enabled World

University of Washington | Computer Science & Engineering
Video CSE 142 TVI - Computer Programming I (Autumn 2000)
Video CSE 143 TVI - Computer Programming II (Spring 2000)
Audio/video CSEP 501: Compiler Construction (Autumn 2009)
Audio/video CSEP 501: Compiler Construction (Winter 2008)
Video/text CSEP 503: Principles of Software Engineering (Autumn 2007)
Video/text CSEP 510: Human Computer Interaction (Winter 2004)
Video/text CSEP 524: Parallel Computation (Spring 2010)
Video/text CSEP 544: Database Management Systems (Spring 2004)
Video/text CSEP 545: Transaction Processing for E-Commerce (Spring 2007)
Video/text CSEP 548: Computer Architecture (Spring 2009)
Video/text CSEP 561: Network Systems (Autumn 2008)
Video/text CSEP 590a: History of Computing (Autumn 2006)
Video/text CSEP 590b: Computing for the Developing World (Spring 2008)

YouTube - UNSWelearning's Channel (The University of New South Wales)
Video CS1 (COMP 1917): Higher Computing
Video CS2 (COMP 1927): Data Structures and Algorithms

University of Waterloo on YouTube
Video CS 436: Distributed Computer Systems

McGill COurses OnLine(COOL)
Audio/video ECSE-211-001: Design Principles and Methods (2010-Winter)
Audio/video ECSE-211-001: Design Principles and Methods (2009-Fall)
Audio/video ECSE-322-001: Computer Engineering (2010-Winter)
Audio/video ECSE-322-001: Computer Engineering (2009-Fall)

Computer Science at the University of Virginia
Video/text CS 101 - Introduction to Computer Science

College of Engineering, Purdue University
Video/text ECE 462 - Object-Oriented Programming Using C++ and Java

Machine Learning Summer School @ Purdue, 2011
Video/text A Short Course on Reinforcement Learning
Video/text Classic and Modern Data Clustering
Video/text Divide and Recombine for the Analysis of Big Data
Video/text Graphical Models for the Internet
Video/text Introduction to Machine Learning
Video/text Large-Scale Machine Learning and Stochastic Algorithms
Video/text Mining Heterogeneous Information Networks
Video/text Optimization for Machine Learning
Video/text Survey of Boosting from an Optimization Perspective

Stony Brook University - Department of Computer Science
Audio/video Skiena's CSE 547 Discrete Mathematics Lectures
Audio/video Skiena's Algorithms Lectures

Hochschule Ravensburg-Weingarten on YouTube
Video Artificial Intelligence
Video/text Advanced Mathematics for Engineers I
Video/text Advanced Mathematics for Engineers II

Introduction to Cryptography by Christof Paar
Video/text Introduction to Cryptography and Data Security

ArsDigita University
Video/text The Structure and Interpretation of Computer Programs
Video/text Discrete Mathematics
Video/text How Computers Work
Video/text Objected-oriented Program Design and Software Engineering
Video/text Algorithms
Video/text Systems
Video/text Software Engineering for Web Applications
Video/text Theory of Computation
Video/text Artificial Intelligence
Video/text Database Management Systems
Video/text Applied Probability