Introduction
- Please check NOTES for general information about this list.
- Please refer CONTRIBUTING.md for contribution guidelines.
- Please check out NPTEL for hundreds of high quality courses on all topics including Computer Science and Engineering, by IISc and IITs in India.
- Introduction to Computer Science
- Data Structures and Algorithms
- Systems Programming
- Distributed Systems
- Database Systems
- Object Oriented Design and Software Engineering
- Artificial Intelligence
- Machine Learning
- Web Programming and Internet Technologies
- Concurrency
- Computer Networks
- Mobile Applications Development
- Math for Computer Scientist
- Theoretical CS and Programming Languages
- Computer Organization and Architecture
- Security
- Computer Graphics
- Image Processing and Computer Vision
- Misc
- 6.00SC - Introduction to Computer Science and Programming (Spring 2011) - MIT OCW
- 6.00 - Introduction to Computer Science and Programming (Fall 2008) - MIT OCW
- 6.01SC - Introduction to Electrical Engineering and Computer Science I - MIT OCW
- 6.001 - Structure and Interpretation of Computer Programs, MIT (Textbook)
- CS 10 The Beauty & Joy of Computing, Spring 2015 - UCBerkeley
- CS 50 - Introduction to Computer Science, Harvard University (cs50.tv)
- CS 61A - Structure and Interpretation of Computer Programs [Python], UC Berkeley (CS 98 - Additional Topics on SICP)
- SPD1 - Systematic Program Design [Racket], University of British Columbia
- CS E-1 Understanding Computers and the Internet, Spring 2013 - Harvard Extension School (Spring 2011)
- CSE 142 Computer Programming I (C Programming), Autumn 2000 - University of Washington
- CSE 142 Computer Programming I (Java Programming), Spring 2016 - University of Washington
- CS1301 Intro to computing - Gatech
- MOOC: Introduction to Computer Science - Udacity
- CS 106A - Programming Methodology, Stanford University
- CS 106B - Programming Abstractions, Stanford University
- CS 107 - Programming Paradigms, Stanford University
- Introduction to Programming with Arcade Games, Simpson College
- MOOC: Paradigms of computer programming, Peter Van Roy, Université catholique de Louvain, Belgium - EdX
- Introduction to Functional Programming, TU Delft
- CS 61B - Data Structures, UC Berkeley
- MOOC - Design and Analysis of Algorithms Part 1 - Prof Roughgarden - Coursera (Part 2)
- MOOC - Algorithms Part 1 - Prof Sedgewick (Part 2)
- COP 3530 Data Structures and Algorithms, Prof Sahni, UFL (Videos)
- CS225 - Data Structures - University of Illinois at Urbana-Champaign
- CS2: Data Structures and Algorithms - Richard Buckland - UNSW
- 6.006 - Introduction to Algorithms, MIT OCW
- CS 161 - Design and Analysis of Algorithms, Prof. Tim Roughgarden, Stanford University
- CSE 373 - Analysis of Algorithms, Stony Brook - Prof Skiena
- CS16 Introduction to Algorithms and Data Structures - Brown University
- 6.046J - Introduction to Algorithms - Fall 2005, MIT OCW
- 6.046 - Design and Analysis of Algorithms, Spring 2015 - MIT OCW
- CS 473: Algorithms - University of Illinois at Urbana-Champaign (Notes - Jeff Erickson)
- Programming Challenges - Prof Skiena
- 16s-4102 - Algorithms, University of Virginia (Youtube)
- CS 170 Algorithms - Spring 2015 - UCBerkeley
- COP 5536 Advanced Data Structures, Prof Sahni - UFL (Videos)
- CS 261 - A Second Course in Algorithms, Stanford University (Lectures) (Youtube)
- CS 224 - Advanced Algorithms, Harvard University (Lecture Videos) (Youtube)
- ECS 122A - Algorithm Design and Analysis, UC Davis
- CSEP 521: Applied Algorithms, Winter 2013 - University of Washington (Videos)
- CS 6150 - Advanced Algorithms (Fall 2016), University of Utah
- ECS 222A - Graduate Level Algorithm Design and Analysis, UC Davis
- 6.851 - Advanced Data Structures, MIT (MIT OCW)
- 6.854 - Advanced Algorithms, MIT (Prof. Karger lectures)
- CS264 Beyond Worst-Case Analysis, Fall 2014 - Tim Roughgarden Lecture (Youtube)
- CS364A Algorithmic Game Theory, Fall 2013 - Tim Roughgarden Lectures
- CS364B Advanced Mechanism Design, Winter 2014 - Tim Roughgarden Lectures
- Algorithms - Aduni
- Advanced Topics in Algorithms and Datastructures - SS 2005 - Universität Freiburg
- Algorithmentheorie/Algorithms Theory - WS 2013 - Universität Freiburg (WS 2011)
- Theory I - SS 2010 - Universität Freiburg
- 6.889: Algorithms for Planar Graphs and Beyond (Fall 2011) MIT
- 6.033 Computer System Engineering - MIT
- CS24 Introduction to Computing Systems - California Institute of Technology (Spring 15 version)
- 15-213 Introduction to Computer Systems, Fall 2015 - CMU
- CS361 - COMPUTER SYSTEMS - UIC
- CS124 Operating Systems - California Institute of Technology
- Systems - Aduni
- CS 162 - Operating Systems and Systems Programming, UC Berkeley (Lectures - YouTube)
- CS 4414 - Operating Systems, University of Virginia
- CSE 421/521 - Introduction to Operating Systems, SUNY University at Buffalo, NY - Spring 2016 (Lectures - YouTube) (Recitations 2016)
- CS 377 Fall 16: Operating Systems - Umass OS
- 6.828: Operating System Engineering [Fall 2014]
- CSEP 551 Operating Systems Autumn 2014 - University of Washington
- CS194 Advanced Operating Systems Structures and Implementation, Spring 2013, UC Berkeley
- CPCS 663 - Real-Time Systems: Video Material - TAMU
- CS 251: Intermediate Software Design (C++ version)
- CS 251 (2015): Intermediate Software Design
- CSE 30341 - Spr 2008: Operating Systems
- CSE 60641 - Fall 08: Graduate Operating Systems
- 6.172 Performance Engineering of Software Systems - MIT OCW
- Software Engineering for Self Adaptive Systems - iTunes - HPI
- Real-Time Systems - SS 2013 - Universität Freiburg
- System Infrastructure For Data Science - WS 2012 - Universität Freiburg
- VU:Distributed Systems: Principles and Paradigms by Maarten van Steen (Fall 2012), Vrije Universiteit, Amsterdam
- CS 677 Spring 16: Distributed Operating Systems - Umass OS
- CS 436: Distributed Computer Systems - U Waterloo
- 6.824: Distributed Systems, Spring 2015 - MIT
- Distributed Algorithms, https://canvas.instructure.com/courses/902299
- CS138 Distributed Computer Systems Spring 2016 - Brown University
- CSEP 552: PMP Distributed Systems, Spring 2013 - University of Washington (Videos)
- CSE 490H: Scalable Systems: Design, Implementation and Use of Large Scale Clusters, Autumn 2008 - University of Washington (Videos)
- MOOC - Cloud Computing Concepts - UIUC
- CS121 - Introduction to Relational Database Systems, Fall 2016 - Caltech
- CS122 - Relational Database System Implementation, Winter 2014-2015 - Caltech
- CS 5530 - Database Systems, Spring 2016, University of Utah
- MOOC - Database Stanford Dbclass
- CSEP 544, Database Management Systems, Au 2015 - University of Washington
- CMPSC 431W Database Management Systems, Fall 2015 - PSU
- Principles of Database Management, Bart Baesens
- 15-721 - Database Systems, CMU (Lectures - YouTube)
- CS 186 - Database Systems, UC Berkeley, Spring 2015 (Lectures- YouTube)
- CS 6530 - Graduate-level Database Systems, Fall 2016, University of Utah (Lectures - YouTube)
- 6.830/6.814: Database Systems [Fall 2014]
- FIT9003 Database Systems Design, Rob Meredith, Monash University
- Database Management Systems, Aduni
- ECE 462 Object-Oriented Programming using C++ and Java - Purdue
- Object-oriented Program Design and Software Engineering - Aduni
- OOSE - Object-Oriented Software Engineering, Dr. Tim Lethbridge
- Object Oriented Systems Analysis and Design (Systems Analysis and Design in a Changing World)
- Computer Science 169- Software Engineering - Spring 2015 - UCBerkeley
- Introduction to Service Design and Engineering - University of Trento, Italy
- OOSE: Software Dev Using UML and Java
- CS 411 - Software Architecture Design, Bilkent University
- CS 164 Software Engineering - Harvard
- Model Driven Archtitecture - WS 2005 - Universität Freiburg
- Software Design, Modelling and Analysis in UML - WS 2012 - Universität Freiburg
- MOOC: Software Architecture & Design - Udacity
- CS 188 - Introduction to Artificial Intelligence, UC Berkeley
- 6.034 Artificial Intelligence, MIT OCW
- 15-780: Graduate Artificial Intelligence, Spring 14, CMU
- CSE 592 Applications of Artificial Intelligence, Winter 2003 - University of Washington
- MOOC: Intro to Artificial Intelligence - Udacity
- MOOC: Artificial Intelligence for Robotics - Udacity
- Advanced AI Techniques - WS 2005 - Universität Freiburg (WS 2004)
- Introduction to Machine Learning
- MOOC Machine Learning Andrew Ng - Coursera/Stanford (Notes)
- MOOC - Statistical Learning, Stanford University
- CS 156 - Learning from Data, Caltech
- 10-601 - Introduction to Machine Learning (MS), Carnegie Mellon University
- 10-701 - Introduction to Machine Learning (PhD) - Tom Mitchell, Spring 2011, Carnegie Mellon University (Fall 2014)
- Microsoft Research - Machine Learning Course
- CS 446 - Machine Learning, Fall 2016, UIUC(Fall 2015 Lectures)
- undergraduate machine learning at UBC 2012, Nando de Freitas
- CS 229 - Machine Learning - Stanford University
- CS 189/289A Introduction to Machine Learning, Prof Jonathan Shewchuk - UCBerkeley
- CS 5350/6350 - Machine Learning, Fall 2016, University of Utah
- ECE 5984 Introduction to Machine Learning, Spring 2015 - Virginia Tech
- STA 4273H (Winter 2015): Large Scale Machine Learning
- CS 485/685 Machine Learning, Shai Ben-David, University of Waterloo
- Machine Learning and Data Mining - WS 2004 - Universität Freiburg
- Data Mining
- CSEP 546, Data Mining - Pedro Domingos, Sp 2016 - University of Washington (YouTube)
- CS 5140/6140 - Data Mining, Spring 2016, University of Utah (Youtube)
- CS 5955/6955 - Data Mining, University of Utah (YouTube)
- Statistical Aspects of Data Mining (Stats 202) - Google
- MOOC - Text Mining and Analytics by ChengXiang Zhai
- Information Retrieval SS 2014, iTunes - HPI
- MOOC - Data Mining with Weka
- CS 290 DataMining Lectures
- CS246 - Mining Massive Data Sets, Winter 2016, Stanford University (YouTube)
- Data Science
- Probabilistic Graphical Modeling
- Deep Learning
- Deep learning at Oxford 2015 - Nando de Freitas
- DS-GA 1008 - Deep Learning, New York University
- Deep Learning, Stanford University
- MOOC: Neural Networks for Machine Learning — Geoffrey Hinton 2016 - Coursera
- Deep Learning - University of Waterloo
- Neural networks class - Université de Sherbrooke (YouTube)
- Advanced Machine Learning
- Natural Language Processing and Computer Vision
- CS 224d - Deep Learning for Natural Language Processing, Stanford University (Lectures - Youtube)
- CS 224N - Natural Language Processing, Stanford University
- MOOC: Natural Language Processing, Dan Jurafsky & Chris Manning - Coursera
- MOOC - Natural Language Processing - Coursera, University of Michigan
- CS 231n - Convolutional Neural Networks for Visual Recognition, Stanford University
- Machine Learning for Computer Vision - TUM
- Misc Machine Learning Topics
- CS 6955 - Clustering, Spring 2015, University of Utah
- Info 290 - Analyzing Big Data with Twitter, UC Berkeley school of information
- 10-725 Convex Optimization: Spring 2015 - CMU
- 10-801 Advanced Optimization and Randomized Algorithms
- CS 229r - Algorithms for Big Data, Harvard University (Youtube)
- CAM 383M - Statistical and Discrete Methods for Scientific Computing, University of Texas
- Statistical Learning- Classification - University of Waterloo
- 9.520 - Statistical Learning Theory and Applications, Fall 2015 - MIT
- Reinforcement Learning - UCL
- Regularization Methods for Machine Learning 2016 (YouTube)
- Music Information Retrieval - University of Victoria, 2014
- CSE P 506 – Concurrency (Spring 2011) University of Washington (Videos)
- CSEP 524 - Parallel Computation - University of Washington (Videos)
- CS 282 (2014): Concurrent Java Network Programming in Android
- Concurrency Theory and Practice - WS 2010 - Universität Freiburg
- CS176: Multiprocessor Synchronization - Brown University(Videos from 2012)
- Prof. Shiv Kalyanaraman's Online Audio and Video Lectures on Computer Networking - RPI
- Audio/Video Recordings and Podcasts of Professor Raj Jain's Lectures - Washington University in St. Louis (YouTube)
- Computer Networks, Tanenbaum, Wetherall Computer Networks 5e - Video Lectures (U Washington MOOC)
- CSEP 561: PMP Network Systems, Fall 2013 - University of Washington (Videos)
- CSEP 561 – Network Systems, Autumn 2008 - University of Washington (Videos)
- Introduction to Data Communications 2013, Steven Gordon - Thammasat University, Thailand
- Communication Systems - SS 2008 - Universität Freiburg
- Communication Systems (Telecommunication from ISDN/GSM to VoIP) - WS 2010 - Universität Freiburg
- Internetworking - SS 2005 - Universität Freiburg
- Mobile Computing - WS 2004 - Universität Freiburg
- Network Algorithms - SS 2013 - Universität Freiburg
- Telecommunication Systems - SS 2012 - Universität Freiburg
- Wireless Sensor Networks - WS 2006 (English) - Universität Freiburg
- Introduction to Complex Networks - RIT
- Structural Analysis and Visualization of Networks
- MOOC Programming Mobile Applications for Android Handheld Systems - University of Maryland
- CS 193p - Developing Applications for iOS, Stanford University
- CS S-76 Building Mobile Applications - Harvard
- Android App Development for Beginners Playlist - thenewboston
- Android Application Development Tutorials - thenewboston
- MOOC: Developing Android Apps - Udacity
- MOOC: Advanced Android App Development - Udacity
- CSSE490 Android Development Rose-Hulman Winter 2010-2011, Dave Fisher
- iOS Course, Dave Fisher
- 6.042J - Mathematics for Computer Science, Fall 2010, MIT OCW (Spring 15)
- Computer Science 70, 001 - Spring 2015
- CSE 547 Discrete Mathematics, Prof Skiena, University of Stony Brook
- 6.041 Probabilistic Systems Analysis and Applied Probability - MIT OCW
- 10-600 Math Background for ML - CMU
- Linear Algebra Review - CMU
- Statistics 110: Probability
- 18.06 - Linear Algebra, Prof. Gilbert Strang, MIT OCW
- 36-705 - Intermediate Statistics - Larry Wasserman, CMU (YouTube)
- MOOC: Statistical Inference - Coursera
- MOOC: Statistics: Making Sense of Data, Coursera
- STATS 250 - Introduction to Statistics and Data Analysis, UMichigan
- 131B - Introduction to Probability and Statistics, UCI
- Multiple View Geometry - Lecture 1 (Prof. Daniel Cremers) TUM
- The Probability and Statistics Full Course - YouTube
- A first course in Linear Algebra - N J Wildberger - UNSW
- Web Design Decal - HTML/CSS/JavaScript Course, University of California, Berkeley
- CS 75 Building Dynamic Websites - Harvard University
- CSE 199 : How the Internet Works, Fall 2016 - University of Buffalo
- Web Search - SS 2006 - Universität Freiburg
- CSEP545: Transaction Processing for E-Commerce, Winter 2012 - University of Washington (Videos)
- CT 310 Web Development - Colorado State University
- Internet Technologies and Applications 2012, Steven Gordon - Thammasat University, Thailand
- CSCI 3110 Advanced Topics in Web Development, Fall 2011 - ETSU iTunes
- CSCI 5710 e-Commerce Implementation, Fall 2015 - ETSU iTunes
- XML and Semantic Web-Technologies - SS 2005 - Universität Freiburg
- MOOC: Web Development - Udacity
- MOOC - Compilers - Stanford University
- CS 164 Hack your language, UC Berkeley (Lectures - Youtube)
- CS 173 Programming Languages, Brown University (Book)
- CS 421 - Programming Languages and Compilers, UIUC (Videos)
- CSC 253 - CPython internals: A ten-hour codewalk through the Python interpreter source code, University of Rochester
- CSE341: Programming Languages, Dan Grossman, Spring 2013 - University of Washington
- CSEP 501 - Compiler Construction, University of Washington (Lectures - Youtube)
- CSEP 505 Programming Languages, Winter 2015 - University of Washington
- DMFP - Discrete Mathematics and Functional Programming, Wheaton College
- CS 374 - Algorithms & Models of Computation (Fall 2014), UIUC (Lecture videos)
- 6.045 Automata, Computability, and Complexity, MIT (Lecture Videos)
- MOOC: Automata - Jeffrey Ullman - Coursera
- CS581 Theory of Computation - Portland State University (Lectures - Youtube)
- Theory of Computation - Fall 2011 UC Davis
- TDA555 Introduction to Functional Programming - Chalmers University of Technology (Lectures - YouTube)
- Philip Wadler Haskell lecture recordings
- Functional Programming - University of Edinburgh - 2016-17
- MOOC - Functional Programming Principles in Scala by Martin Odersky (YouTube)
- CS294: Program Synthesis for Everyone
- MOOC: Principles of Reactive Programming, Scala - Coursera
- Category Theory for Programmers, 2014 - Bartosz Milewski (YouTube)
- Oregon Programming Languages Summer School (Proof theory, type theory, category theory, verification)
- How Computers Work - Aduni
- 6.004 - Computation Structures Spring 2013, MIT
- CS 61C - Machine Structures, UC Berkeley (Lectures - YouTube)
- CS1: Higher Computing - Richard Buckland UNSW
- 18-447 - Introduction to Computer Architecture, CMU (Lectures - YouTube - Fall 15)
- CS 152 Computer Architecture and Engineering, UC Berkeley
- CSEP 548 - Computer Architecture Autumn 2012 - University of Washington
- CS/ECE 3810 Computer Organization, Fall 2015, , University of Utah (YouTube)
- CS/ECE 6810 Computer Architecture, Spring 2016, University of Utah (YouTube)
- CS-224 - Computer Organization, 2009-2010 Spring, Bilkent University (YouTube playlist)
- 15-418 - Parallel Computer Architecture and Programming, CMU (Lecture Videos)
- EE445L Embedded Systems Design Lab, Fall 2015, UTexas
- CS149 Embedded Systems - Fall 2014 - UCBerkeley
- ECE 4760 Designing with Microcontrollers Fall 2016, Cornell University (Lectures - Youtube)
- CS 267 Applications of Parallel Computers, Spring 16 - UC Berkeley (YouTube)
- Software Engineering for Embedded Systems - WS 2010/11 - iTunes - HPI
- ELEC2141 Digital Circuit Design, UNSW
- MOOC: Computer Architecture, David Wentzlaff - Princeton University/Coursera
- MOOC: From NAND to TetrisBuilding a Modern Computer From First Principles (YouTube)
- MOOC: Heterogeneous Parallel Programming - Coursera
- System Validation, TU Delft
- 6.858 Computer Systems Security - MIT OCW
- CSEP590A: Practical Aspects of Modern Cryptography, Winter 2011 - University of Washington (Videos)
- CIS 4930/ CIS 5930 - Offensive Computer Security, Florida State University
- 18-636 Browser Security, Stanford
- Internet Security - Weaknesses and Targets (WT 2015/16) (WT 2012/13 (YouTube))
- IT Security, Steven Gordon - Thammasat University, Thailand
- Security and Cryptography, Steven Gordon - Thammasat University, Thailand
- Web Security - SS 2008 - Universität Freiburg
- CS461/ECE422 - Computer Security - University of Illinois at Urbana-Champaign (Videos)
- MOOC: Cryptography - Coursera
- MOOC: Intro to Information Security - Udacity
- Introduction to Cryptography, Christof Paar - Ruhr University Bochum, Germany
- ICS 444: Computer & Network Security
- ECS 175 Computer Graphics, Fall 2009, UC Davis
- Computer Graphics 2012, Wolfgang Huerst, Utrecht University
- CS 5630/6630 - Visualization, Fall 2016, University of Utah (Lectures - Youtube)
- Advanced Visualization UC Davis
- CSCI E-234: Introduction to Computer Graphics and GPU Programming, Harvard Extension School
- Computer Graphics Fall 2011, Barbara Hecker
- Introduction to Graphics Architecture
- CS184 Computer Graphics, Fall 2012 - UC Berkeley
- Ray Tracing for Global Illumination, UCDavis
- Rendering / Ray Tracing Course, SS 2015 - TU Wien
- ECS 178 Introduction to Geometric Modeling, Fall 2012, UC Davis (iTunes)
- EE225B Digital Image Processing, Spring 2014 - UC Berkeley (Videos - Spring 2006)
- EE637: Digital Image Processing I - Purdue University (Videos - Sp 2011 ,Videos - Sp 2007)
- Image Processing and Analysis UC Davis
- CAP 5415 - Computer Vision, University of Central Florida
- Lecture: Variational Methods for Computer Vision (Prof. D. Cremers) TUM
- Image Processing and Analysis (Course) UC Davis
- Introduction to Vision and Robotics
- EENG 512 / CSCI 512 - Computer Vision - Colorado School of Mines
- MOOC: Digital Image procesing - Duke/Coursera
- MOOC: Introduction to Computer Vision - Udacity
- Computational Biology
- Skiena's Computational Biology Lectures
- 6.802J/ 6.874J Foundations of Computational and Systems Biology - MIT OCW
- Bio 84: Your Genes and Your Health, Stanford University
- BioMedical Informatics 231 Computational Molecular Biology, Stanford University
- BioMedical Informatics 258 Genomics, Bioinformatics & Medicine, Stanford University
- ECS 124 - Foundations of Algorithms for Bioinformatics - Dan Gusfield, UC Davis (YouTube)
- Bioinformatic II - WS 2010 - Universität Freiburg
- Introduction to Bioinformatics, METUOpenCourseWare
- MOOC: Algorithms for DNA Sequencing, Coursera
- Computational Finance
- Robotics
- 6.832 Underactuated Robotics - MIT OCW
- CS 223A - Introduction to Robotics, Stanford University
- CMPE 118/L(218/L) - Mechatronics - Fall 2015
- CS 287: Advanced Robotics, Fall 2011, UC Berkeley (Videos)
- Lecture: Visual Navigation for Flying Robots - TUM
- Robotics 1, Prof. De Luca, Università di Roma (YouTube)
- Robotics 2, Prof. De Luca, Università di Roma
- Robot Mechanics and Control, SNU
- HCI
- Game Development
- Open Sourced Elective: Database and Rails - Intro to Ruby on Rails, University of Texas (Lectures - Youtube)
- SCICOMP - An Introduction to Efficient Scientific Computation, Universität Bremen (Lectures - Youtube)
- CS E-259 XML with Java, Java Servlet, and JSP - Harvard
- CSE 40373 - Spr 2009: Multimedia Systems
- Exposing Digital Photography - Harvard Extension School
- XML and Databases - WS 2011 - Universität Freiburg
- MOOC: Matlab - Coursera
- Computing for Computer Scientists - University of Michigan