Living in a Cyber-Enabled World (Gresham College). By Professor Martyn Thomas. An exploration of the state of software today.
This is a collection of links to lectures of Computer Science 10: The Beauty and Joy of Computing from UC Berkeley Webcasts. An introduction to the beauty and joy of computing. The history, social implications, great principles, and future of computing.
Artificial Intelligence (Hochschule Ravensburg-Weingarten Univ.). Instructor: Professor Wolfgang Ertel. This course provides an overview of the field of Artificial Intelligence (AI) with its current widespread ramifications.
Computer Organization. Instructor: Prof. S. Raman, Department of Computer Science and Engineering, IIT Madras. This course deals with some fundamental aspects of computing focusing on what the basic elements in any computing system are and how they interact.
Computer Networks. Instructor: Prof. Sujoy Ghosh, Department of Computer Science and Engineering, IIT Kharagpur. This course discusses the fundamentals of computer networks.
6.890 Algorithmic Lower Bounds: Fun with Hardness Proofs (Fall 2014, MIT OCW). Instructor: Professor Erik Demaine. This course is a class taking a practical approach to proving problems can't be solved efficiently.
6.0001 Introduction to Computer Science and Programming in Python (Fall 2016, MIT OCW). Instructors: Dr. Ana Bell, Prof. Eric Grimson and Prof. John Guttag. This course aims to provide students with an understanding of the role computation can play in solving problems.
6.006 Introduction to Algorithms (Fall 2011, MIT OCW). Taught by Professor Erik Demaine and Professor Srinivas Devadas, this course provides an introduction to mathematical modeling of computational problems.
6.858 Computer Systems Security (Fall 2014, MIT OCW). Instructors: Professor Nickolai Zeldovich and Professor James Mickens. This course is a class about the design and implementation of secure computer systems.
CS 61B: Data Structures and Advanced Programming (Fall 2006, UC Berkeley). Taught by Professor Jonathan Shewchuk, this course discusses data structures and advanced programming.
CS 229R: Algorithms for Big Data (Fall 2015, Harvard Univ.). Instructor: Professor Jelani Nelson. This course will cover mathematically rigorous models for developing such algorithms, as well as some provable limitations of algorithms operating in those models.
CS 267: Applications of Parallel Computers (Spring 2015, UC Berkeley). Instructor: Professor Jim Demmel. CS 267 is designed to teach students how to program parallel computers to efficiently solve challenging problems in science and engineering.
CS 156: Machine Learning Course (Spring 2012, Caltech). This is an introductory course by Caltech Professor Yaser Abu-Mostafa on machine learning that covers the basic theory, algorithms, and applications.
ECE 18-447: Introduction to Computer Architecture (Spring 2015, Carnegie Mellon Univ.). Instructor: Professor Onur Mutlu. This course introduces the basic hardware structure of a modern programmable computer, including the basic laws underlying performance evaluation.
Artificial Intelligence. Instructor: Prof. Deepak Khemani, Department of Computer Science and Engineering, IIT Madras. This course discusses topics in artificial intelligence.
This is a collection of links to audio/video lectures of CS 61C: Machine Structures, from UC Berkeley Webcasts. An introduction to great ideas in computer architecture (machine structures).
High Performance Computer Architecture. Instructor: Prof. Ajit Pal, Department of Computer Science and Engineering, IIT Kharagpur. This course tries to provide an overview of computer architecture at different levels and various aspects of advanced computer architecture.
Database Design. Instructor: Prof. D. Janakiram and Dr. S. Srinath, Department of Computer Science and Engineering, IIT Madras. This course provides an introduction to database systems.
CS 294: Deep Reinforcement Learning (Spring 2017, UC Berkeley). Instructors: Sergey Levine, John Schulman, and Chelsea Finn. This course will assume some familiarity with reinforcement learning, numerical optimization and machine learning.
Parallel Computing. Instructor: Prof. Subodh Kumar, Department of Computer Science and Engineering, IIT Delhi. This is a first course in parallel programming and does not require any previous parallel computing experience.