prakhar1989 /awesome-courses
:books: List of awesome university courses for learning Computer Science!
★ 72,733⑂ 8,483👁 2,269⑃ 273● 88▤ 0◈ 0
72,733
stars
+30
8,483
forks
2,269
watchers
273
prs
88
issues
0
releases
0
discussions
README
Awesome CS Courses Introduction ------------ There are a lot of ~~hidden~~ treasures lying within university pages scattered across the internet. This list is an attempt to bring to light those awesome CS courses which make their high-quality materials, i.e. assignments, lectures, notes, readings and examinations, available online for free. Table of Contents ----------------- - Algorithms - Artificial Intelligence - Computer Graphics - CS Theory - Introduction to CS - Machine Learning - Misc - Programming Languages / Compilers - Security - Systems - Statistics / Regression Legend - - Lecture Videos - - Lecture Notes - - Assignments / Labs - - Readings Courses ------- Systems - CS 61C Great Ideas in Computer Architecture (Machine Structures) UC Berkeley - The subjects covered in this course include: C and assembly language programming, translation of high-level programs into machine language, computer organization, caches, performance measurement, parallelism, CPU design, warehouse-scale computing, and related topics. - Lecture Videos - Lecture Notes - Resources - Old Exams - CS 107 Computer Organization & Systems Stanford University - CS107 is the third course in Stanford's introductory programming sequence. The course will work from the C programming language down to the microprocessor to de-mystify the machine. With a complete understanding of how computer systems execute programs and manipulate data, you will become a more effective programmer, especially in dealing with issues of debugging, performance, portability, and robustness. - Lecture Videos - Assignments - CS 140 Operating Systems Stanford University - This class introduces the basic facilities provided in modern operating systems. The course divides into three major sections. The first part of the course discusses concurrency. The second part of the course addresses the problem of memory management. The third major part of the course concerns file systems. - Lecture Notes - Assignments - 6.004 Computation Structures MIT - Introduces architecture of digital systems, emphasizing structural principles common to a wide range of technologies. Multilevel implementation strategies; definition of new primitives (e.g., gates, instructions, procedures, processes) and their mechanization using lower-level elements. Analysis of potential concurrency; precedence constraints and performance measures; pipelined and multidimensional systems. Instruction set design issues; architectural support for contemporary software structures. 4 Engineering Design Points. 6.004 offers an introduction to the engineering of digital systems. Starting with MOS transistors, the course develops of series of building blocks logic gates, combinational and sequential circuits, finite-state machines, computers and finally complete systems. Both hardware and software mechanisms are explored through a series of design examples. - Youtube Playlist - Lecture Notes - Labs-Assignments
Top issues
#57Building Curriculums10 comments · 2015-01-09#299Update icons/emojis5 comments · 2019-05-06#284Repository Abandoned?5 comments · 2018-10-16#319Links are dead4 comments · 2020-05-04#244UC Berkeley begins to remove some videos4 comments · 2017-05-29#127CS107 Computer Organization & Systems links to CS107 Programming paradigms4 comments · 2015-08-10#260Network course link is dead3 comments · 2017-12-05#395Multiple broken links in README2 comments · 2026-07-04