awesome-courses

books List of awesome university courses for learning Computer Science!

GitHub

57k stars
2k watching
8k forks
last commit: over 1 year ago
Linked from 11 awesome lists

awesomeawesome-listcomputer-sciencecourses

Awesome CS Courses / Courses / Systems

CS 61C

Awesome CS Courses / Courses / Systems / CS 61C

Lecture Videos
Lecture Notes
Resources
Old Exams

Awesome CS Courses / Courses / Systems

CS 107

Awesome CS Courses / Courses / Systems / CS 107

Lecture Videos
Assignments

Awesome CS Courses / Courses / Systems

CS 140

Awesome CS Courses / Courses / Systems / CS 140

Lecture Notes
Assignments

Awesome CS Courses / Courses / Systems

6.004

Awesome CS Courses / Courses / Systems / 6.004

Youtube Playlist
Lecture Notes
Labs-Assignments

Awesome CS Courses / Courses / Systems

CS 162

Awesome CS Courses / Courses / Systems / CS 162 / The purpose of this course is to teach the design of operating systems and operating systems concepts that appear in other advanced systems. Topics we will cover include concepts of operating systems, systems programming, networked and distributed systems, and storage systems, including multiple-program systems (processes, interprocess communication, and synchronization), memory allocation (segmentation, paging), resource allocation and scheduling, file systems, basic networking (sockets, layering, APIs, reliability), transactions, security, and privacy

David Culler Operating Systems course by the Chair of EECS, UC Berkeley
Lecture Videos Spring 2015 lectures
Lecture Notes Spring 2015 lectures

Awesome CS Courses / Courses / Systems

CS 168

Awesome CS Courses / Courses / Systems / CS 168

Lecture Notes & Assignments
Discussion Notes

Awesome CS Courses / Courses / Systems

CS 179

Awesome CS Courses / Courses / Systems / CS 179

Assignments
Lecture Notes

Awesome CS Courses / Courses / Systems

CS 186

Awesome CS Courses / Courses / Systems / CS 186

Lecture Videos
Lecture Notes
Projects

Awesome CS Courses / Courses / Systems

CS 241

Awesome CS Courses / Courses / Systems / CS 241

Assignments
Labs
Github Page
Crowd Sourced Book 5,483 over 4 years ago

Awesome CS Courses / Courses / Systems

CS 425

Awesome CS Courses / Courses / Systems / CS 425

Lectures
Assignments

Awesome CS Courses / Courses / Systems

CS 452

Awesome CS Courses / Courses / Systems / CS 452

Assignments
Lecture notes

Awesome CS Courses / Courses / Systems

CS 2043

Awesome CS Courses / Courses / Systems / CS 2043

Syllabus
Lectures
Assignments

Awesome CS Courses / Courses / Systems

CS 3410

Awesome CS Courses / Courses / Systems / CS 3410

Lectures
Assignments

Awesome CS Courses / Courses / Systems

CS 4410

Awesome CS Courses / Courses / Systems / CS 4410

Syllabus
Lectures

Awesome CS Courses / Courses / Systems

CS 4414

Awesome CS Courses / Courses / Systems / CS 4414

Syllabus
Lectures

Awesome CS Courses / Courses / Systems

CS 5412

Awesome CS Courses / Courses / Systems / CS 5412

book Taught by one of the stalwarts of this field, Prof Ken Birman, this course has a fantastic set of slides that one can go through. The Prof's is also a gem and recommended as a must read in Google's tutorial on
Slides

Awesome CS Courses / Courses / Systems

CSCE 3613 An introduction to operating systems including topics in system structures, process management, storage management, files, distributed systems, and case studies

Awesome CS Courses / Courses / Systems / CSCE 3613

Syllabus
Assignments
Lecture Notes
Readings

Awesome CS Courses / Courses / Systems

CSCI-UA.0202: Operating Systems (Undergrad)

Awesome CS Courses / Courses / Systems / CSCI-UA.0202: Operating Systems (Undergrad)

Assignments
Lectures
Old Exams

Awesome CS Courses / Courses / Systems

CSCI 360
CSCI 493.66
CSCI 493.75
Hack the Kernel

Awesome CS Courses / Courses / Systems / Hack the Kernel

Dr.Geoffrey Challen For the processor, memory, and disks, we discuss how the operating system allocates each resource and explore the design and implementation of related abstractions. We also establish techniques for testing and improving system performance and introduce the idea of hardware virtualization. Programming assignments provide hands-on experience with implementing core operating system components in a realistic development environment. Course by
Syllabus
Slides
Video lectures
Assignments
Old Exams

Awesome CS Courses / Courses / Systems

ECE 459

Awesome CS Courses / Courses / Systems / ECE 459

Lecture slides 72 over 9 years ago

Awesome CS Courses / Courses / Systems

ECGR4101/5101

Awesome CS Courses / Courses / Systems / ECGR4101/5101

Lecture Videos
Lecture Notes

Awesome CS Courses / Courses / Systems

PODC

Awesome CS Courses / Courses / Systems / PODC

Book
Assignments and Solutions

Awesome CS Courses / Courses / Systems

SPAC
6.824

Awesome CS Courses / Courses / Systems / 6.824

Assignments Just do
Readings

Awesome CS Courses / Courses / Systems

6.828

Awesome CS Courses / Courses / Systems / 6.828

Assignments
Lectures
Videos Note: These are student recorded cam videos of the 2011 course. The videos explain a lot of concepts required for the labs and assignments

Awesome CS Courses / Courses / Systems

CSEP 552

Awesome CS Courses / Courses / Systems / CSEP 552

Lectures of a previous session are available to watch

Awesome CS Courses / Courses / Systems

15-213

Awesome CS Courses / Courses / Systems / 15-213

Lecture Notes
Videos
Assignments

Awesome CS Courses / Courses / Systems

15-319/619

Awesome CS Courses / Courses / Systems / 15-319/619

Lecture Notes
Videos

Awesome CS Courses / Courses / Systems

15-410

Awesome CS Courses / Courses / Systems / 15-410

Lecture Notes
Assignments

Awesome CS Courses / Courses / Systems

15-418

Awesome CS Courses / Courses / Systems / 15-418

Assignments
Lecture Notes
Lecture Videos
Readings

Awesome CS Courses / Courses / Systems

15-440

Awesome CS Courses / Courses / Systems / 15-440

Assignments

Awesome CS Courses / Courses / Systems

15-721

Awesome CS Courses / Courses / Systems / 15-721

Assignments
Lecture Videos
Readings

Awesome CS Courses / Courses / Systems

15-445/645

Awesome CS Courses / Courses / Systems / 15-445/645

Assignments
Lecture Videos
Readings

Awesome CS Courses / Courses / Systems

15-749

Awesome CS Courses / Courses / Systems / 15-749

Readings

Awesome CS Courses / Courses / Systems

18-447

Awesome CS Courses / Courses / Systems / 18-447

Onur Mutlu Very comprehensive material on Computer Architecture - definitely more than just "introduction". Online material is very user-friendly, even the recitation videos available online. This is the Spring'15 version by Prof
Lectures and Recitation
Homeworks 7 HWs with answer set as well
Readings

Awesome CS Courses / Courses / Programming Languages / Compilers

CS 75

Awesome CS Courses / Courses / Programming Languages / Compilers / CS 75

incremental approach to compiler design Modelled after the influential paper on , this course teaches how to build a compiler in OCaml
Course on Github
Notes 41 over 8 years ago

Awesome CS Courses / Courses / Programming Languages / Compilers

CS 91

Awesome CS Courses / Courses / Programming Languages / Compilers / CS 91

Pyret Uses the programming language & book to understand the fundamentals of programming languages
Labs

Awesome CS Courses / Courses / Programming Languages / Compilers

CIS 194

Awesome CS Courses / Courses / Programming Languages / Compilers / CIS 194

Previous semester also available, with more exercises

Awesome CS Courses / Courses / Programming Languages / Compilers

CIS 198

Awesome CS Courses / Courses / Programming Languages / Compilers / CIS 198

Assignments 198 over 1 year ago

Awesome CS Courses / Courses / Programming Languages / Compilers

CMSC 430

Awesome CS Courses / Courses / Programming Languages / Compilers / CMSC 430

Lecture Notes
Assignments

Awesome CS Courses / Courses / Programming Languages / Compilers

Corsopl Lecture Notes - Readings
COS 326

Awesome CS Courses / Courses / Programming Languages / Compilers / COS 326

Lectures
Assignments

Awesome CS Courses / Courses / Programming Languages / Compilers

CS 143

Awesome CS Courses / Courses / Programming Languages / Compilers / CS 143

Home
Syllabus
Lectures
Assignments
CS143 - 2011

Awesome CS Courses / Courses / Programming Languages / Compilers

CS 164

Awesome CS Courses / Courses / Programming Languages / Compilers / CS 164

Lecture Videos
Code for Assignments

Awesome CS Courses / Courses / Programming Languages / Compilers

CS 173

Awesome CS Courses / Courses / Programming Languages / Compilers / CS 173

HtDP Course by Prof. Krishnamurthi (author of ) and numerous other on programming languages. Uses a custom designed programming language to teach the concepts. There was an hosted in 2012, which includes all lecture videos for you to enjoy
Videos
Assignments

Awesome CS Courses / Courses / Programming Languages / Compilers

CS 223

Awesome CS Courses / Courses / Programming Languages / Compilers / CS 223

Lectures
Assignments

Awesome CS Courses / Courses / Programming Languages / Compilers

CS 240h

Awesome CS Courses / Courses / Programming Languages / Compilers / CS 240h

Lecture Slides
Lab1 3 Assignments: , ,

Awesome CS Courses / Courses / Programming Languages / Compilers

CS 421 Course that uses OCaml to teach functional programming and programming language design

Awesome CS Courses / Courses / Programming Languages / Compilers / CS 421

Lectures
Videos
Assignments
Exams

Awesome CS Courses / Courses / Programming Languages / Compilers

CS 3110

Awesome CS Courses / Courses / Programming Languages / Compilers / CS 3110

Lecture Slides
Assignments

Awesome CS Courses / Courses / Programming Languages / Compilers

CS 4120

Awesome CS Courses / Courses / Programming Languages / Compilers / CS 4120

Syllabus
Lectures
Assignments

Awesome CS Courses / Courses / Programming Languages / Compilers

CS 4400

Awesome CS Courses / Courses / Programming Languages / Compilers / CS 4400

Syllabus
Lecture Notes/Resources

Awesome CS Courses / Courses / Programming Languages / Compilers

CS 4610

Awesome CS Courses / Courses / Programming Languages / Compilers / CS 4610

Lecture Notes
Assignments

Awesome CS Courses / Courses / Programming Languages / Compilers

CS 5114

Awesome CS Courses / Courses / Programming Languages / Compilers / CS 5114

Syllabus
Lectures

Awesome CS Courses / Courses / Programming Languages / Compilers

CS 5142

Awesome CS Courses / Courses / Programming Languages / Compilers / CS 5142

Syllabus
Lectures
Assignments

Awesome CS Courses / Courses / Programming Languages / Compilers

CS 5470

Awesome CS Courses / Courses / Programming Languages / Compilers / CS 5470

fantastic blog If you're a fan of Prof Matt's writing on his you ought to give this a shot. The course covers the design and implementation of compilers, and it explores related topics such as interpreters, virtual machines and runtime systems. Aside from the Prof's witty take on the page has tons of interesting links on programming languages, parsing and compilers
Lecture Notes
Projects

Awesome CS Courses / Courses / Programming Languages / Compilers

CS 6118

Awesome CS Courses / Courses / Programming Languages / Compilers / CS 6118

Syllabus
Lectures

Awesome CS Courses / Courses / Programming Languages / Compilers

CSC 253
CSE 341

Awesome CS Courses / Courses / Programming Languages / Compilers / CSE 341

Lectures and Videos
Assignments and Tests

Awesome CS Courses / Courses / Programming Languages / Compilers

CSE P 501

Awesome CS Courses / Courses / Programming Languages / Compilers / CSE P 501

Lectures
Assignments, Tests, and Solutions

Awesome CS Courses / Courses / Programming Languages / Compilers

DMFP

Awesome CS Courses / Courses / Programming Languages / Compilers / DMFP

Lecture Videos
Assignments

Awesome CS Courses / Courses / Programming Languages / Compilers

PCPP
6.945

Awesome CS Courses / Courses / Programming Languages / Compilers / 6.945

Assignments : Extensive programming assignments, using MIT/GNU Scheme. Students should have significant programming experience in Scheme, Common Lisp, Haskell, CAML or other "functional" language
Readings

Awesome CS Courses / Courses / Programming Languages / Compilers

CS 696
L28

Awesome CS Courses / Courses / Algorithms

CS 61B

Awesome CS Courses / Courses / Algorithms / CS 61B

Full Lecture Materials Lecture of Spring 2016. This website contains full matrials including video links, labs, homeworks, projects. Very good for self-learner. Also a good start for Java. And it includes some other useful resources for Java Documentation, Data Structure Resources, Git/GitHub and Java Development Resources
Labs The link to labs and projects is included in the website
Lecture Videos

Awesome CS Courses / Courses / Algorithms

CS 97SI

Awesome CS Courses / Courses / Algorithms / CS 97SI

Lectures and Assignments 1,599 almost 4 years ago

Awesome CS Courses / Courses / Algorithms

CS 224

Awesome CS Courses / Courses / Algorithms / CS 224

Lecture Videos ( )
Assignments

Awesome CS Courses / Courses / Algorithms

CS 261

Awesome CS Courses / Courses / Algorithms / CS 261

Lecture Notes, Videos & Assignments ( )

Awesome CS Courses / Courses / Algorithms

CS 473/573

Awesome CS Courses / Courses / Algorithms / CS 473/573

Lecture Notes
Labs and Exams

Awesome CS Courses / Courses / Algorithms

CS 2150 113 almost 2 years ago

Awesome CS Courses / Courses / Algorithms / CS 2150

Lectures
Assignments

Awesome CS Courses / Courses / Algorithms

CS 4820

Awesome CS Courses / Courses / Algorithms / CS 4820

Lectures
Syllabus

Awesome CS Courses / Courses / Algorithms

CSCI 104

Awesome CS Courses / Courses / Algorithms / CSCI 104

Lectures
Labs
Assignments
Additional Resources

Awesome CS Courses / Courses / Algorithms

CSCI 135

Awesome CS Courses / Courses / Algorithms / CSCI 135

Lectures and Assignments

Awesome CS Courses / Courses / Algorithms

CSCI 235

Awesome CS Courses / Courses / Algorithms / CSCI 235

Lectures and Assignments

Awesome CS Courses / Courses / Algorithms

CSCI 335

Awesome CS Courses / Courses / Algorithms / CSCI 335

Lectures and Assignments

Awesome CS Courses / Courses / Algorithms

CSE 331

Awesome CS Courses / Courses / Algorithms / CSE 331

Lectures, Assignments, and Exams

Awesome CS Courses / Courses / Algorithms

CSE 373

Awesome CS Courses / Courses / Algorithms / CSE 373

book Prof Steven Skiena's no stranger to any student when it comes to algorithms. His seminal has been touted by many to be best for . In addition, he's also well-known for tutoring students in competitive . If you're looking to brush up your knowledge on Algorithms, you can't go wrong with this course
Lecture Videos

Awesome CS Courses / Courses / Algorithms

ECS 122A

Awesome CS Courses / Courses / Algorithms / ECS 122A

Dan Gusfield Taught by in 2010, this course is an undergraduate introduction to algorithm design and analysis. It features traditional topics, such as Big Oh notation, as well as an importance on implementing specific algorithms. Also featured are sorting (in linear time), graph algorithms, depth-first search, string matching, dynamic programming, NP-completeness, approximation, and randomization
Syllabus
Lecture Videos
Assignments

Awesome CS Courses / Courses / Algorithms

ECS 222A

Awesome CS Courses / Courses / Algorithms / ECS 222A

Dan Gusfield This is the graduate level complement to the ECS 122A undergraduate algorithms course by in 2011. It assumes an undergrad course has already been taken in algorithms, and, while going over some undergraduate algorithms topics, focuses more on increasingly complex and advanced algorithms
Lecture Videos
Syllabus
Assignments

Awesome CS Courses / Courses / Algorithms

6.INT

Awesome CS Courses / Courses / Algorithms / 6.INT

Handouts
Topics Covered

Awesome CS Courses / Courses / Algorithms

6.006

Awesome CS Courses / Courses / Algorithms / 6.006

Lecture Videos
Assignments
Readings
Resources
Old Exams

Awesome CS Courses / Courses / Algorithms

6.046J/18.410J

Awesome CS Courses / Courses / Algorithms / 6.046J/18.410J

6.006 This is an intermediate algorithms course with an emphasis on teaching techniques for the design and analysis of efficient algorithms, emphasizing methods of application. Topics include divide-and-conquer, randomization, dynamic programming, greedy algorithms, incremental improvement, complexity, and cryptography. This course assumes that students know how to analyze simple algorithms and data structures from having taken . It introduces students to the design of computer algorithms, as well as analysis of sophisticated algorithms
Lecture Videos
Lecture Notes
Assignments
Resources
Old Exams

Awesome CS Courses / Courses / Algorithms

6.851

Awesome CS Courses / Courses / Algorithms / 6.851

Advanced Algorithms This is an advanced DS course, you must be done with the course before attempting this one
Lectures Contains videos from sp2012 version, but there isn't much difference
Assignments contains the calendar as well

Awesome CS Courses / Courses / Algorithms

6.854/18.415J

Awesome CS Courses / Courses / Algorithms / 6.854/18.415J

NB on to access the

Awesome CS Courses / Courses / Algorithms

6.854J/18.415J

Awesome CS Courses / Courses / Algorithms / 6.854J/18.415J

Lecture Videos - Spring 2016
Lecture Notes
Assignments
Readings
Resources

Awesome CS Courses / Courses / Algorithms

15-451/651

Awesome CS Courses / Courses / Algorithms / 15-451/651

Manuel Blum The required algorithms class that go in depth into all basic algorithms and the proofs behind them. This is one of the heavier algorithms curriculums on this page. Taught by Avrim Blum and who has a Turing Award due to his contributions to algorithms. Course link includes a very comprehensive set of reference notes by Avrim Blum

Awesome CS Courses / Courses / Algorithms

16s-4102

Awesome CS Courses / Courses / Algorithms / 16s-4102

Lecture Videos & Homeworks ( )

Awesome CS Courses / Courses / CS Theory

CIS 500

Awesome CS Courses / Courses / CS Theory / CIS 500

Lectures and Assignments
Textbook

Awesome CS Courses / Courses / CS Theory

CS 103
CS 173

Awesome CS Courses / Courses / CS Theory / CS 173

Textbook Written by the professor. Includes Instructor's Guide
Assignments
Exams

Awesome CS Courses / Courses / CS Theory

CS 276
CS 278
CS 374

Awesome CS Courses / Courses / CS Theory / CS 374

Assignments/Exams
Lecture Notes/Labs
Lecture videos

Awesome CS Courses / Courses / CS Theory

CS 3110

Awesome CS Courses / Courses / CS Theory / CS 3110

Syllabus
Lectures
Assignments

Awesome CS Courses / Courses / CS Theory

CS 3220

Awesome CS Courses / Courses / CS Theory / CS 3220

Syllabus
Lectures
Assignments

Awesome CS Courses / Courses / CS Theory

CS 4300

Awesome CS Courses / Courses / CS Theory / CS 4300

Syllabus
Lectures
Assignments

Awesome CS Courses / Courses / CS Theory

CS 4810

Awesome CS Courses / Courses / CS Theory / CS 4810

Syllabus
Lectures
Assignments

Awesome CS Courses / Courses / CS Theory

CS 6810

Awesome CS Courses / Courses / CS Theory / CS 6810

Syllabus
Lectures
Assignments

Awesome CS Courses / Courses / CS Theory

CSCE 3193

Awesome CS Courses / Courses / CS Theory / CSCE 3193

Syllabus
Notes
Assignments
Practice Exams

Awesome CS Courses / Courses / CS Theory

6.045

Awesome CS Courses / Courses / CS Theory / 6.045

Syllabus
Lecture Notes
Lecture Videos

Awesome CS Courses / Courses / Introduction to CS

CS 10

Awesome CS Courses / Courses / Introduction to CS / CS 10

Snap*!* (based on Scratch by MIT)
Curriculum

Awesome CS Courses / Courses / Introduction to CS

CS 50

Awesome CS Courses / Courses / Introduction to CS / CS 50

Lectures
Problem Sets
edX The course can also be taken from
here The course's OpenCourseware resides

Awesome CS Courses / Courses / Introduction to CS

CS 61A

Awesome CS Courses / Courses / Introduction to CS / CS 61A

Lecture Videos
Lecture Resources by Type
Lecture Resources by Topic
Additional Resources
Practice Problems
Extra Lectures

Awesome CS Courses / Courses / Introduction to CS

CS 61AS

Awesome CS Courses / Courses / Introduction to CS / CS 61AS

Lecture Videos
Assignments and Notes

Awesome CS Courses / Courses / Introduction to CS

CS 101
CS 106A

Awesome CS Courses / Courses / Introduction to CS / CS 106A

Lecture Videos
Assignments
All materials in a zip file

Awesome CS Courses / Courses / Introduction to CS

CS 106B

Awesome CS Courses / Courses / Introduction to CS / CS 106B

Lectures
Assignments
All materials in a zip file

Awesome CS Courses / Courses / Introduction to CS

CS 107

Awesome CS Courses / Courses / Introduction to CS / CS 107

Lectures
Assignments

Awesome CS Courses / Courses / Introduction to CS

CS 109

Awesome CS Courses / Courses / Introduction to CS / CS 109

http://otfried.org/courses/cs109/index.html [Lectures] ( )
http://otfried.org/courses/cs109/index.html [Assignments] ( )

Awesome CS Courses / Courses / Introduction to CS

CS 1109

Awesome CS Courses / Courses / Introduction to CS / CS 1109

Syllabus
Lectures
Assignments

Awesome CS Courses / Courses / Introduction to CS

CS 1110

Awesome CS Courses / Courses / Introduction to CS / CS 1110

Syllabus
Lectures
Assignments

Awesome CS Courses / Courses / Introduction to CS

CS 1112

Awesome CS Courses / Courses / Introduction to CS / CS 1112

Syllabus
Lectures
Assignments
Projects

Awesome CS Courses / Courses / Introduction to CS

CS 1115

Awesome CS Courses / Courses / Introduction to CS / CS 1115

Syllabus
Lectures
Projects

Awesome CS Courses / Courses / Introduction to CS

CS 1130

Awesome CS Courses / Courses / Introduction to CS / CS 1130

Syllabus
Lectures
Assignments

Awesome CS Courses / Courses / Introduction to CS

CS 1133

Awesome CS Courses / Courses / Introduction to CS / CS 1133

Syllabus
Lectures
Assignments

Awesome CS Courses / Courses / Introduction to CS

CS 1410-2 and

Awesome CS Courses / Courses / Introduction to CS / CS 1410-2

Professor Matthew Flatt An intro course in the spirit of SICP designed by (one of the lead designers of Racket and author of HtDP). Mostly Racket and C, and a bit of Java, with explanations on how high level functional programming concepts relate to the design of OOP programs. Do this one before SICP if SICP is a bit too much
Lectures and Assignments 1
Lectures and Assignments 2
Textbook
Racket Language

Awesome CS Courses / Courses / Introduction to CS

CS 2110

Awesome CS Courses / Courses / Introduction to CS / CS 2110

lectures CS 2110 is an intermediate-level programming course and an introduction to computer science. Topics include program design and development, debugging and testing, object-oriented programming, proofs of correctness, complexity analysis, recursion, commonly used data structures, graph algorithms, and abstract data types. Java is the principal programming language. The course syllabus can easily be extracted by looking at the link to
Syllabus
Lectures
Assignments

Awesome CS Courses / Courses / Introduction to CS

CS 4302

Awesome CS Courses / Courses / Introduction to CS / CS 4302

Syllabus
Lectures
Assignments

Awesome CS Courses / Courses / Introduction to CS

CSCE 2004

Awesome CS Courses / Courses / Introduction to CS / CSCE 2004

Syllabus
Notes
Assignments
Practice Exams

Awesome CS Courses / Courses / Introduction to CS

CSCI E-1
CS-for-all

Awesome CS Courses / Courses / Introduction to CS / CS-for-all

Lectures and Other resources

Awesome CS Courses / Courses / Introduction to CS

6.001

Awesome CS Courses / Courses / Introduction to CS / 6.001

Lectures
Textbook ( , )
IDE

Awesome CS Courses / Courses / Introduction to CS

6.005

Awesome CS Courses / Courses / Introduction to CS / 6.005

Lectures Notes/Assignments

Awesome CS Courses / Courses / Machine Learning

DEEPNLP

Awesome CS Courses / Courses / Machine Learning / DEEPNLP

Lectures 15,645 over 1 year ago

Awesome CS Courses / Courses / Machine Learning

CS20si

Awesome CS Courses / Courses / Machine Learning / CS20si

Assignments 10,322 almost 4 years ago available on Github

Awesome CS Courses / Courses / Machine Learning

COMS 4771

Awesome CS Courses / Courses / Machine Learning / COMS 4771

Tony Jebara Course taught by introduces topics in Machine Learning for both generative and discriminative estimation. Material will include least squares methods, Gaussian distributions, linear classification, linear regression, maximum likelihood, exponential family distributions, Bayesian networks, Bayesian inference, mixture models, the EM algorithm, graphical models, hidden Markov models, support vector machines, and kernel methods
Lectures and Assignments

Awesome CS Courses / Courses / Machine Learning

CS 109

Awesome CS Courses / Courses / Machine Learning / CS 109

Lectures
Slides
Labs and Assignments
2014 Lectures
2013 Lectures

Awesome CS Courses / Courses / Machine Learning

CS 156

Awesome CS Courses / Courses / Machine Learning / CS 156

Lectures
Homework
Textbook

Awesome CS Courses / Courses / Machine Learning

CS 189

Awesome CS Courses / Courses / Machine Learning / CS 189

Notes
Homework

Awesome CS Courses / Courses / Machine Learning

CS 224d

Awesome CS Courses / Courses / Machine Learning / CS 224d

Syllabus
Lectures and Assignments

Awesome CS Courses / Courses / Machine Learning

CS 229r

Awesome CS Courses / Courses / Machine Learning / CS 229r

Lectures ( )
Assignments

Awesome CS Courses / Courses / Machine Learning

CS 231n

Awesome CS Courses / Courses / Machine Learning / CS 231n

Lecture Notes
Lecture Videos
Github Page

Awesome CS Courses / Courses / Machine Learning

CS 287

Awesome CS Courses / Courses / Machine Learning / CS 287

Lectures Notes
Assignments

Awesome CS Courses / Courses / Machine Learning

CS 395T

Awesome CS Courses / Courses / Machine Learning / CS 395T

Lectures and Assignments

Awesome CS Courses / Courses / Machine Learning

CS 4780

Awesome CS Courses / Courses / Machine Learning / CS 4780

Syllabus
Lectures

Awesome CS Courses / Courses / Machine Learning

CS 4786

Awesome CS Courses / Courses / Machine Learning / CS 4786

Assignments
Lectures

Awesome CS Courses / Courses / Machine Learning

CVX 101

Awesome CS Courses / Courses / Machine Learning / CVX 101

Textbook The course concentrates on recognizing and solving convex optimization problems that arise in applications. Topics addressed include the following. Convex sets, functions, and optimization problems. Basics of convex analysis. Least-squares, linear and quadratic programs, semidefinite programming, minimax, extremal volume, and other problems. Optimality conditions, duality theory, theorems of alternative, and applications. Interior-point methods. Applications to signal processing, statistics and machine learning, control and mechanical engineering, digital and analog circuit design, and finance. - -

Awesome CS Courses / Courses / Machine Learning

DS-GA 1008

Awesome CS Courses / Courses / Machine Learning / DS-GA 1008

Yann Lecun This increasingly popular course is taught through the Data Science Center at NYU. Originally introduced by , it is now led by , although Prof. Lecun is rumored to still stop by from time to time. It covers the theory, technique, and tricks that are used to achieve very high accuracy for machine learning tasks in computer vision and natural language processing. The assignments are in Lua and hosted on Kaggle
Course Page
Recorded Lectures

Awesome CS Courses / Courses / Machine Learning

EECS E6893 & EECS E6895

Awesome CS Courses / Courses / Machine Learning / EECS E6893 & EECS E6895

Dr. Ching-Yung Lin Taught by
Course Site

Awesome CS Courses / Courses / Machine Learning

EECS E6894

Awesome CS Courses / Courses / Machine Learning / EECS E6894

Readings
Assignments
Lecture Notes

Awesome CS Courses / Courses / Machine Learning

EE103

Awesome CS Courses / Courses / Machine Learning / EE103

Stephen Boyd The course covers the basics of matrices and vectors, solving linear equations, least-squares methods, and many applications. It'll cover the mathematics, but the focus will be on using matrix methods in applications such as tomography, image processing, data fitting, time series prediction, finance, and many others. EE103 is based on a book that and are currently writing. Students will use a new language called to do computations with matrices and vectors
Lectures
Book
Assignments
Code

Awesome CS Courses / Courses / Machine Learning

Fast.ai Introduction to Machine Learning for Coders

Awesome CS Courses / Courses / Machine Learning / Fast.ai Introduction to Machine Learning for Coders

Lecture Videos
Lecture Notes
Jupyter Notebooks 26,138 16 days ago

Awesome CS Courses / Courses / Machine Learning

Info 290

Awesome CS Courses / Courses / Machine Learning / Info 290

Lecture Videos
Previous Years coursepage

Awesome CS Courses / Courses / Machine Learning

Machine Learning: 2014-2015

Awesome CS Courses / Courses / Machine Learning / Machine Learning: 2014-2015

Torch 8,977 almost 2 years ago The course focusses on neural networks and uses the deep learning library (implemented in Lua) for exercises and assignments. Topics include: logistic regression, back-propagation, convolutional neural networks, max-margin learning, siamese networks, recurrent neural networks, LSTMs, hand-writing with recurrent neural networks, variational autoencoders and image generation and reinforcement learning
Lectures and Assignments
Source code

Awesome CS Courses / Courses / Machine Learning

StatLearning

Awesome CS Courses / Courses / Machine Learning / StatLearning

An Introduction to Statistical Learning, with Applications in R The lectures cover all the material in which is a more approachable version of the (or ESL) book

Awesome CS Courses / Courses / Machine Learning

10-601

Awesome CS Courses / Courses / Machine Learning / 10-601

Lectures
Project Ideas and Datasets

Awesome CS Courses / Courses / Machine Learning

10-708

Awesome CS Courses / Courses / Machine Learning / 10-708

Lecture Videos
Assignments
Lecture notes
Readings

Awesome CS Courses / Courses / Machine Learning

11-785
CS246

Awesome CS Courses / Courses / Machine Learning / CS246

Lecture Videos
Assignments
Lecture notes
Readings

Awesome CS Courses / Courses / Machine Learning

CS276

Awesome CS Courses / Courses / Machine Learning / CS276

Lecture notes
Readings

Awesome CS Courses / Courses / Machine Learning

Practical_RL 5,874 5 months ago

Awesome CS Courses / Courses / Machine Learning / Practical_RL

Syllabus 5,874 5 months ago

Awesome CS Courses / Courses / Machine Learning

UvA DEEP LEARNING

Awesome CS Courses / Courses / Machine Learning / UvA DEEP LEARNING

Lecture Videos & Notes
Practicals
Readings

Awesome CS Courses / Courses / Security

CIS 4930 / CIS 5930

Awesome CS Courses / Courses / Security / CIS 4930 / CIS 5930

W. Owen Redwood Course taught by and . It covers a wide range of computer security topics, starting from Secure C Coding and Reverse Engineering to Penetration Testing, Exploitation and Web Application Hacking, both from the defensive and the offensive point of view
Lectures and Videos
Assignments

Awesome CS Courses / Courses / Security

CS 155
CS 161
CS 259
CS 261
CS 5430

Awesome CS Courses / Courses / Security / CS 5430

Syllabus
Lectures
Assignments

Awesome CS Courses / Courses / Security

CSCI 4968 5,439 almost 3 years ago

Awesome CS Courses / Courses / Security / CSCI 4968

RPISEC This repository contains the materials as developed and used by to teach Modern Binary Exploitation at in Spring 2015. This was a university course developed and run solely by students to teach skills in vulnerability research, reverse engineering, and binary exploitation
Lectures Notes
Labs 5,439 almost 3 years ago
Projects 5,439 almost 3 years ago

Awesome CS Courses / Courses / Security

CSCI 4976 3,734 about 2 years ago

Awesome CS Courses / Courses / Security / CSCI 4976

RPISEC This repository contains the materials as developed and used by to teach Malware Analysis at in Fall 2015. This was a university course developed and run solely by students, primarily using the

Awesome CS Courses / Courses / Security

EECS 588

Awesome CS Courses / Courses / Security / EECS 588

J. Alex Halderman Taught by who has analyzed the security of Electronic Voting Machines in the and
Readings book by Michael Sikorski and Andrew Honig, to teach skills in reverse engineering, malicious behaviour, malware, and anti-analysis techniques
Lectures Notes 3,734 about 2 years ago
Labs 3,734 about 2 years ago
Projects 3,734 about 2 years ago

Awesome CS Courses / Courses / Security

6.857

Awesome CS Courses / Courses / Security / 6.857

Lecture Notes Emphasis on applied cryptography and may include: basic notion of systems security, cryptographic hash functions, symmetric cryptography (one-time pad, stream ciphers, block ciphers), cryptanalysis, secret-sharing, authentication codes, public-key cryptography (encryption, digital signatures), public-key attacks, web browser security, biometrics, electronic cash, viruses, electronic voting, Assignments include a group final project. Topics may vary year to year

Awesome CS Courses / Courses / Security

6.858

Awesome CS Courses / Courses / Security / 6.858

James Mickens Taught by and
Video Lectures and Labs
Quizzes
Readings
Final Projects

Awesome CS Courses / Courses / Security

18-636

Awesome CS Courses / Courses / Artificial Intelligence

CS 188

Awesome CS Courses / Courses / Artificial Intelligence / CS 188

Lectures
Projects
Exams

Awesome CS Courses / Courses / Artificial Intelligence

CS 4700

Awesome CS Courses / Courses / Artificial Intelligence / CS 4700

Assignments
Lectures

Awesome CS Courses / Courses / Artificial Intelligence

CS 6700

Awesome CS Courses / Courses / Artificial Intelligence / CS 6700

Syllabus
Lectures
Readings

Awesome CS Courses / Courses / Artificial Intelligence

6.868J

Awesome CS Courses / Courses / Artificial Intelligence / 6.868J

Marvin Minsky This course is an introduction, by Prof. , to the theory that tries to explain how minds are made from collections of simpler processes. It treats such aspects of thinking as vision, language, learning, reasoning, memory, consciousness, ideals, emotions, and personality. It incorporates ideas from psychology, artificial intelligence, and computer science to resolve theoretical issues such as wholes vs. parts, structural vs. functional descriptions, declarative vs. procedural representations, symbolic vs. connectionist models, and logical vs. common-sense theories of learning
Lectures
Assignments
Readings

Awesome CS Courses / Courses / Computer Graphics

CAP 5415

Awesome CS Courses / Courses / Computer Graphics / CAP 5415

Lectures and Videos
Assignments

Awesome CS Courses / Courses / Computer Graphics

CIS 581

Awesome CS Courses / Courses / Computer Graphics / CIS 581

Lectures
Assignments

Awesome CS Courses / Courses / Computer Graphics

CMU 462

Awesome CS Courses / Courses / Computer Graphics / CMU 462

Lectures and Readings
Assignments and Quizes

Awesome CS Courses / Courses / Computer Graphics

CS 378 77 over 9 years ago

Awesome CS Courses / Courses / Computer Graphics / CS 378

Lectures 77 over 9 years ago

Awesome CS Courses / Courses / Computer Graphics

CS 4620

Awesome CS Courses / Courses / Computer Graphics / CS 4620

Assignments
Exams

Awesome CS Courses / Courses / Computer Graphics

CS 4670

Awesome CS Courses / Courses / Computer Graphics / CS 4670

Assignments
Lectures

Awesome CS Courses / Courses / Computer Graphics

CS 6670

Awesome CS Courses / Courses / Computer Graphics / CS 6670

Syllabus
Lectures
Assignments

Awesome CS Courses / Courses / Computer Graphics

CSCI 1230

Awesome CS Courses / Courses / Computer Graphics / CSCI 1230

Lectures
Labs
Demos

Awesome CS Courses / Courses / Computer Graphics

CSCI-GA.2270-001

Awesome CS Courses / Courses / Computer Graphics / CSCI-GA.2270-001

Lectures

Awesome CS Courses / Courses / Misc

AM 207

Awesome CS Courses / Courses / Misc / AM 207

Lecture Videos
Assignments
Lecture Notes

Awesome CS Courses / Courses / Misc

CS 75

Awesome CS Courses / Courses / Misc / CS 75

Ming Y. Chow The course taught by teaches game development initially in PyGame through Python, before moving on to addressing all facets of game development. Topics addressed include game physics, sprites, animation, game development methodology, sound, testing, MMORPGs and online games, and addressing mobile development in Android, HTML5, and iOS. Most to all of the development is focused on PyGame for learning principles
Text Lectures
Assignments
Labs

Awesome CS Courses / Courses / Misc

CS 50

Awesome CS Courses / Courses / Misc / CS 50

CS50 This course picks up where Harvard College’s leaves off, focusing on the development of 2D and 3D interactive games. Students explore the design of such childhood games as Super Mario Bros., Legend of Zelda, and Portal in a quest to understand how video games themselves are implemented. Via lectures and hands-on projects, the course explores principles of 2D and 3D graphics, animation, sound, and collision detection using frameworks like Unity and , as well as languages like Lua and C#. By class’s end, students will have programmed several of their own games and gained a thorough understanding of the basics of game design and development
Assignments
Lecture Videos

Awesome CS Courses / Courses / Misc

CS 100 485 over 5 years ago

Awesome CS Courses / Courses / Misc / CS 100

Github Page 485 over 5 years ago
Assignments 485 over 5 years ago

Awesome CS Courses / Courses / Misc

CS 108
CS 168
CS 193a

Awesome CS Courses / Courses / Misc / CS 193a

here Videos: Videos list can be found
here 115 over 6 years ago Other materials: Some codes, handsout, homework ..... and lecture notes are not downloadable on the site due to login requirement. Please head to my Github repo to download them

Awesome CS Courses / Courses / Misc

CS 193p

Awesome CS Courses / Courses / Misc / CS 193p

Programming Abstractions Recommended:
Updated courses for iOS8 - Swift
Updated courses for iOS9 - Swift

Awesome CS Courses / Courses / Misc

CS 223A
CS 262a

Awesome CS Courses / Courses / Misc / CS 262a

UCB's CS162 Prerequisites: The historical prerequisite was to pass an entrance exam in class, which covered undergraduate operating systems material (similar to ). There is no longer an exam. However, if you have not already taken a decent undergrad OS class, you should talk with me before taking this class. The exam had the benefit of "paging in" the undergrad material, which may have been its primary value (since the pass rate was high)
Readings & Lectures

Awesome CS Courses / Courses / Misc

CS 294
CS 411
CS 3152

Awesome CS Courses / Courses / Misc / CS 3152

Syllabus
Lectures
Assignments

Awesome CS Courses / Courses / Misc

CS 4152

Awesome CS Courses / Courses / Misc / CS 4152

Syllabus
Lectures
Assignments

Awesome CS Courses / Courses / Misc

CS 4154

Awesome CS Courses / Courses / Misc / CS 4154

Syllabus
Lectures
Assignments

Awesome CS Courses / Courses / Misc

CS 4812

Awesome CS Courses / Courses / Misc / CS 4812

Syllabus
Lectures

Awesome CS Courses / Courses / Misc

CS 4860

Awesome CS Courses / Courses / Misc / CS 4860

www.nuprl.org In addition to basic first-order logic, when taught by Computer Science this course involves elements of Formal Methods and Automated Reasoning. Formal Methods is concerned with proving properties of algorithms, specifying programming tasks and synthesizing programs from proofs. We will use formal methods tools such as interactive proof assistants (see ). We will also spend two weeks on constructive type theory, the language used by the Coq and Nuprl proof assistants
Syllabus
Lectures
Assignments

Awesome CS Courses / Courses / Misc

CS 5150

Awesome CS Courses / Courses / Misc / CS 5150

Lectures
Assignments

Awesome CS Courses / Courses / Misc

CS 5220

Awesome CS Courses / Courses / Misc / CS 5220

Lectures
Assignments

Awesome CS Courses / Courses / Misc

CS 5540

Awesome CS Courses / Courses / Misc / CS 5540

Syllabus
Lectures
Assignments

Awesome CS Courses / Courses / Misc

CS 5724

Awesome CS Courses / Courses / Misc / CS 5724

Syllabus
Lectures
Assignments

Awesome CS Courses / Courses / Misc

CS 6452

Awesome CS Courses / Courses / Misc / CS 6452

Syllabus
Lectures

Awesome CS Courses / Courses / Misc

CS 6630

Awesome CS Courses / Courses / Misc / CS 6630

Syllabus
Lectures
Assignments
Readings

Awesome CS Courses / Courses / Misc

CS 6640

Awesome CS Courses / Courses / Misc / CS 6640

Lectures
Assignments

Awesome CS Courses / Courses / Misc

CS 6650
CS 6840

Awesome CS Courses / Courses / Misc / CS 6840

Syllabus
Lectures
Assignments
Readings

Awesome CS Courses / Courses / Misc

CSE 154

Awesome CS Courses / Courses / Misc / CSE 154

Lectures
Assignments

Awesome CS Courses / Courses / Misc

ESM 296-4F

Awesome CS Courses / Courses / Misc / ESM 296-4F

James Frew Taught by , , and
GitHub (includes lecture materials and labs)

Awesome CS Courses / Courses / Misc

ICS 314

Awesome CS Courses / Courses / Misc / ICS 314

Philip Johnson Taught by
"Athletic Software Engineering" pedagogy Introduction to software engineering using the
Readings
Experiences
Assessments

Awesome CS Courses / Courses / Misc

IGME 582
I485 / H400

Awesome CS Courses / Courses / Misc / I485 / H400

Luis Rocha Course taught by about the multi-disciplinary field algorithms inspired by naturally occurring phenomenon. This course provides introduces the following areas: L-systems, Cellular Automata, Emergence, Genetic Algorithms, Swarm Intelligence and Artificial Immune Systems. It's aim is to cover the fundamentals and enable readers to build up a proficiency in applying various algorithms to real-world problems
Lectures
Assignments

Awesome CS Courses / Courses / Misc

Open Sourced Elective: Database and Rails

Awesome CS Courses / Courses / Misc / Open Sourced Elective: Database and Rails

Lectures
Assignments
Videos

Awesome CS Courses / Courses / Misc

SCICOMP

Awesome CS Courses / Courses / Misc / SCICOMP

Oliver Serang This is a graduate course in scientific computing created and taught by in 2014, which covers topics in computer science and statistics with applications from biology. The course is designed top-down, starting with a problem and then deriving a variety of solutions from scratch
Lecture videos on Youtube and for direct

Awesome CS Courses / Courses / Misc

14-740

Backlinks from these awesome lists: