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.0002 - Introduction to Computational Thinking and Data Science
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.004 - Computation Structures
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.006 - Introduction to Algorithms (Spring 2020)
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/text Res.6-012 - Introduction to Probability
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 (Fall 2010)
Video/text 6.172 - Performance Engineering of Software Systems (Fall 2018)
Video/text 6.189 - Multicore Programming Primer
Video/text 6.252J - Nonlinear Programming
Video/text 6.801 - Machine Vision
Video/text 6.840J - The Theory of Computation
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/text 6.S897 - Machine Learning for Healthcare (Spring 2019)
Video/text 6.S191 - Introduction to Deep Learning (January IAP 2020)
Video 6.912 - Introduction to Copyright Law
Video/text D4M: Signal Processing on Databases
Video/text MAS.S62 Cryptocurrency Engineering and Design

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/text CS 267 - Applications of Parallel Computers (Spring 2015)
Video/text CS 267 - Applications of Parallel Computers (Spring 2017)
Video/text CS 294 - Deep Reinforcement Learning (Spring 2017)
Video SIMS 141 - Search Engines (Fall 2005)

Stanford Engineering Everywhere, Stanfordonline
Video/text CS105 - Introduction to Computers (Autumn 2021)
Video/text CS106A - Programming Methodology
Video/text CS106B - Programming Abstractions
Video/text CS107 - Programming Paradigms
Video/text CS221 - Artificial Intelligence: Principles and Techniques
Video/text CS229 - Machine Learning
Video/text CS229 - Machine Learning (Autumn 2018)
Video/text CS229 - Machine Learning (Summer 2019)
Video/text CS223A - Introduction to Robotics
Video CS224N - Natural Language Processing
Video/text CS224N - Natural Language Processing with Deep Learning (Winter 2019)
Video/text CS224U - Natural Language Understanding (Spring 2019)
Video/text CS224U - Natural Language Understanding (Spring 2021)
Video/text CS224W - Machine Learning with Graphs (Winter 2021)
Video/text CS230 - Deep Learning (Autumn 2018)
Video/text CS234 - Reinforcement Learning (Winter 2019)
Video/text CS330 - Deep Multi-Task and Meta Learning (Fall 2019)
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 Digital Circuits and Systems (Prof. S. Srinivasan, IIT Madras)
Video Digital Circuits and Systems (Prof. Shankar Balachandran, IIT Madras)
Video Digital System Design
Video Digital Systems Design
Video Computer Architecture (Prof. Anshul Kumar, IIT Delhi)
Video Computer Architecture (Prof. Mainak Chaudhuri, IIT Kanpur)
Video Computer Architecture (Prof. Smruti R.Sarangi, IIT Delhi)
Video Computer Architecture (Prof.Madhu Mutyam, IIT Madras)
Video Multi-core Computer Architecture: Storage and Interconnects
Video Computer Organization
Video Computer Organization and Architecture
Video Digital Computer Organization
Video Principles of Compiler Design
Video Compiler Design
Video High Performance Computer Architecture
Video High Performance Computing
Video Real Time Systems
Video Introduction to Embedded System Design
Video Embedded Systems
Video Embedded Systems Design
Video Embedded System Design with ARM
Video Introduction to Industry 4.0 and Industrial Internet of Things
Video Introduction to Internet of Things
Video Design for Internet of Things
Video Model Checking
Video Introduction to Operating Systems
Video Operating System Fundamentals
Video Operating Systems
Video Parallel Computing
Video Performance Evaluation of Computer Systems
Video Virtual Reality
Video Introduction to Human Computer Interaction
Video Introduction to Modern Application Development
Video Mobile Computing
Video Design and Pedagogy of the Introductory Programming Course
Video Introduction to Programming in C
Video Programming in C++
Video Principles of Programming Languages
Video Programming Methodology and Data Structures
Video Programming and Data Structure (Dr. N S. Narayanaswamy, IIT Madras)
Video Programming, Data Structures and Algorithms in Python
Video Programming, Data Structures and Algorithms
Video Introduction to Parallel Programming
Video Functional Programming in Haskell
Video Data Structures and Algorithms
Video Fundamentals of Database Systems
Video Database Design
Video Database Management System
Video Data Science for Engineers
Video System Analysis and Design
Video An Introduction to Algorithms and Analysis
Video Fundamental Algorithms: Design and Analysis
Video Design and Analysis of Algorithms (IIT Bombay)
Video Design and Analysis of Algorithms (Chennai Mathematical Institute)
Video Computer Algorithms 2
Video Object-Oriented Analysis and Design
Video Algorithms for Big Data
Video Algorithmic Game Theory
Video Data Mining
Video Graph Theory
Video Advanced Graph Theory
Video An Introduction to Artificial Intelligence
Video Artificial Intelligence (Prof. P. Dasgupta, IIT Kharagpur)
Video Artificial Intelligence (Prof. Anupam Basu, IIT Kharagpur)
Video Artificial Intelligence (Prof. Deepak Khemani, IIT Madras)
Video Artificial Intelligence: Knowledge Representation and Reasoning
Video Introduction to Machine Learning (Prof. S. Sarkar, IIT Kharagpur)
Video Introduction to Machine Learning (Dr. Balaraman Ravindran, IIT Madras)
Video Reinforcement Learning
Video Deep Learning
Video Pattern Recognition (Prof. Sukhendu Das, IIT Madras)
Video Pattern Recognition (Prof. P.S. Sastry, IISc Bangalore)
Video Pattern Recognition and Application
Video Introduction to Soft Computing
Video Natural Language Processing (IIT Bombay)
Video Natural Language Processing (IIT Kharagpur)
Video Theory of Automata, Formal Languages and Computation
Video Theory of Computation (Prof. Somenath Biswas, IIT Kanpur)
Video Theory of Computation (Prof. Raghunath Tewari, IIT Kanpur)
Video Internet Technology
Video Computer Networks
Video Demystifying Computer Networking
Video Complex Network: Theory and Application
Video Wireless Ad Hoc and Sensor Networks
Video Data Communication
Video Storage Systems
Video Distributed Systems
Video Cloud Computing
Video Software Engineering
Video Software Testing
Video Blockchain Architecture Design and Use Cases
Video Introduction to Cryptology
Video Cryptography and Network Security
Video Introduction to Information Security I
Video Information Security II
Video Information Security III
Video Information Security IV
Video Internetwork Security
Video Introduction to Computer Graphics
Video Computer Graphics
Video Computational Geometry
Video Combinatorics
Video Discrete Mathematics
Video Discrete Mathematical Structures
Video An Introduction to Probability in Computing
Video Probability for Computer Science
Video Logic for Computer Science
Video Modern Algebra
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
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

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