[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-456":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":10,"languages":10,"totalLinesOfCode":10,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":15,"forks30d":15,"starsTrendScore":19,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":10,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":21,"hasPages":23,"topics":24,"createdAt":10,"pushedAt":10,"updatedAt":29,"readmeContent":30,"aiSummary":31,"trendingCount":15,"starSnapshotCount":15,"syncStatus":32,"lastSyncTime":33,"discoverSource":34},456,"awesome-courses","prakhar1989\u002Fawesome-courses","prakhar1989",":books: List of awesome university courses for learning Computer Science!","",null,68985,8371,2292,44,0,27,127,708,112,45,false,"master",true,[25,26,27,28],"awesome","awesome-list","computer-science","courses","2026-06-12 02:00:13","# Awesome CS Courses [![Awesome](https:\u002F\u002Fcdn.rawgit.com\u002Fsindresorhus\u002Fawesome\u002Fd7305f38d29fed78fa85652e3a63e154dd8e8829\u002Fmedia\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fsindresorhus\u002Fawesome)\n\n\nIntroduction\n------------\n\nThere 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.\n\nTable of Contents\n-----------------\n\n- [Algorithms](#algorithms)\n- [Artificial Intelligence](#artificial-intelligence)\n- [Computer Graphics](#computer-graphics)\n- [CS Theory](#cs-theory)\n- [Introduction to CS](#introduction-to-cs)\n- [Machine Learning](#machine-learning)\n- [Misc](#misc)\n- [Programming Languages \u002F Compilers](#programming-languages--compilers)\n- [Security](#security)\n- [Systems](#systems)\n- [Statistics \u002F Regression](#statistics)\n\n### Legend\n\n- \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4f9.png\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" \u002F> - Lecture Videos\n- \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F> - Lecture Notes\n- \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F> - Assignments \u002F Labs\n- \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4da.png\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" \u002F> - Readings\n\n\nCourses\n-------\n\n### Systems\n\n- [CS 61C](http:\u002F\u002Fwww-inst.eecs.berkeley.edu\u002F~cs61c\u002Fsp15\u002F) **Great Ideas in Computer Architecture (Machine Structures)** *UC Berkeley* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4f9.png\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4da.png\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" \u002F>\n\t- 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.\n\t- [Lecture Videos](https:\u002F\u002Farchive.org\u002Fdetails\u002Fucberkeley-webcast-PL-XXv-cvA_iCl2-D-FS5mk0jFF6cYSJs_?sort=titleSorter)\n\t- [Lecture Notes](http:\u002F\u002Fwww-inst.eecs.berkeley.edu\u002F~cs61c\u002Fsp15\u002F#Calendar)\n\t- [Resources](http:\u002F\u002Fwww-inst.eecs.berkeley.edu\u002F~cs61c\u002Fsp15\u002F#Resources)\n\t- [Old Exams](https:\u002F\u002Fhkn.eecs.berkeley.edu\u002Fexams\u002Fcourse\u002FCS\u002F61C)\n- [CS 107](https:\u002F\u002Fcourseware.stanford.edu\u002Fpg\u002Fcourses\u002Flectures\u002F371747) **Computer Organization & Systems** *Stanford University* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4f9.png\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F>\n\t- 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.\n\t- [Lecture Videos](https:\u002F\u002Fwww.youtube.com\u002Fplaylist?list=PL08D9FA018A965057&spfreload=10)\n\t- [Assignments](http:\u002F\u002Fweb.stanford.edu\u002Fclass\u002Fcs107\u002Fassignments.html)\n- [CS 140](http:\u002F\u002Fweb.stanford.edu\u002F~ouster\u002Fcgi-bin\u002Fcs140-spring14\u002Flectures.php) **Operating Systems** *Stanford University* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F>\n\t- 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.\n\t- [Lecture Notes](http:\u002F\u002Fweb.stanford.edu\u002F~ouster\u002Fcgi-bin\u002Fcs140-spring14\u002Flectures.php)\n\t- [Assignments](http:\u002F\u002Fweb.stanford.edu\u002F~ouster\u002Fcgi-bin\u002Fcs140-spring14\u002Fprojects.php)\n- [6.004](https:\u002F\u002F6004.mit.edu\u002F) **Computation Structures** *MIT* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4f9.png\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" \u002F>\n\t- 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.\n\t- [Youtube Playlist](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=9DWlqtsNGV0&index=1&list=PLmP5iIyVnKPQ-cO_EENdUgEdlRf0u5LYa)\n\t- [Lecture Notes](http:\u002F\u002Fcomputationstructures.org\u002Fnotes\u002Ftradeoffs\u002Fnotes.html)\n\t- [Labs-Assignments](http:\u002F\u002Fcomputationstructures.org\u002Fexercises\u002Fcmos\u002Flab.html)\n- [CS 162](http:\u002F\u002Fcs162.eecs.berkeley.edu\u002F) **Operating Systems and Systems Programming** *UC Berkeley* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4f9.png\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4da.png\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" \u002F>\n\t- 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.\n\t\t- Operating Systems course by the Chair of EECS, UC Berkeley [David Culler](http:\u002F\u002Fwww.cs.berkeley.edu\u002F~culler\u002F)\n\t\t- [Lecture Videos](https:\u002F\u002Farchive.org\u002Fdetails\u002Fucberkeley-webcast-PL-XXv-cvA_iBDyz-ba4yDskqMDY6A1w_c) Spring 2015 lectures\n\t\t- [Lecture Notes](https:\u002F\u002Finst.eecs.berkeley.edu\u002F~cs162\u002Fsp15\u002F) Spring 2015 lectures\n- [CS 168](https:\u002F\u002Finst.eecs.berkeley.edu\u002F~cs168\u002Ffa14\u002F) **Introduction to the Internet: Architecture and Protocols** *UC Berkeley* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F>\n\t- This course is an introduction to the Internet architecture. We will focus on the concepts and fundamental design principles that have contributed to the Internet's scalability and robustness and survey the various protocols and algorithms used within this architecture. Topics include layering, addressing, intradomain routing, interdomain routing, reliable delivery, congestion control, and the core protocols (e.g., TCP, UDP, IP, DNS, and HTTP) and network technologies (e.g., Ethernet, wireless).\n\t- [Lecture Notes & Assignments](https:\u002F\u002Finst.eecs.berkeley.edu\u002F~cs168\u002Ffa14\u002Fclass.html)\n\t- [Discussion Notes](https:\u002F\u002Finst.eecs.berkeley.edu\u002F~cs168\u002Ffa14\u002F)\n- [CS 179](http:\u002F\u002Fcourses.cms.caltech.edu\u002Fcs179\u002F) **GPU Programming** *Caltech*  \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F>\n\t- This course will cover programming techniques for the GPU. The course will introduce NVIDIA's parallel computing language, CUDA. Beyond covering the CUDA programming model and syntax, the course will also discuss GPU architecture, high performance computing on GPUs, parallel algorithms, CUDA libraries, and applications of GPU computing. \n\t- [Assignments](http:\u002F\u002Fcourses.cms.caltech.edu\u002Fcs179\u002F)\n\t- [Lecture Notes](http:\u002F\u002Fcourses.cms.caltech.edu\u002Fcs179\u002F)\n- [CS 186](https:\u002F\u002Fsites.google.com\u002Fsite\u002Fcs186spring2015\u002F) **Introduction to Database Systems** *UC Berkeley* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4f9.png\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4da.png\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F>\n\t- In the project assignments in CS186, you will write a basic database management system called SimpleDB. For this project, you will focus on implementing the core modules required to access stored data on disk; in future projects, you will add support for various query processing operators, as well as transactions, locking, and concurrent queries.\n\t- [Lecture Videos](https:\u002F\u002Farchive.org\u002Fdetails\u002Fucberkeley-webcast-PL-XXv-cvA_iBVK2QzAV-R7NMA1ZkaiR2y)\n\t- [Lecture Notes](https:\u002F\u002Fsites.google.com\u002Fsite\u002Fcs186fall2013\u002Fsection-notes)\n\t- [Projects](https:\u002F\u002Fsites.google.com\u002Fsite\u002Fcs186fall2013\u002Fhomeworks)\n- [CS 241](https:\u002F\u002Fcourses.engr.illinois.edu\u002Fcs241\u002Fsp2016\u002Findex.html) **Systems Programming (Spring 2016)** *Univ of Illinois, Urbana-Champaign* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F>\n\t- System programming refers to writing code that tasks advantage of operating system support for programmers. This course is designed to introduce you to system programming. By the end of this course, you should be proficient at writing programs that take full advantage of operating system support. To be concrete, we need to fix an operating system and we need to choose a programming language for writing programs. We chose the C language running on a Linux\u002FUNIX operating system (which implements the POSIX standard interface between the programmer and the OS).\n\t- [Assignments](https:\u002F\u002Fcourses.engr.illinois.edu\u002Fcs241\u002Fsp2016\u002Fmps.html)\n\t- [Labs](https:\u002F\u002Fcourses.engr.illinois.edu\u002Fcs241\u002Fsp2016\u002Flabs.html)\n\t- [Github Page](http:\u002F\u002Fangrave.github.io\u002Fsys\u002F#)\n\t- [Crowd Sourced Book](https:\u002F\u002Fgithub.com\u002Fangrave\u002FSystemProgramming\u002Fwiki)\n- [CS 425](https:\u002F\u002Fcourses.engr.illinois.edu\u002Fcs425\u002Ffa2016\u002Findex.html) **Distributed Systems** *Univ of Illinois, Urbana-Champaign* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4da.png\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" \u002F>\n\t- Brilliant set of lectures and reading material covering fundamental concepts in distributed systems such as Vector clocks, Consensus and Paxos. This is the 2016 version by Prof Indranil Gupta.\n\t- [Lectures](https:\u002F\u002Fcourses.engr.illinois.edu\u002Fcs425\u002Ffa2016\u002Flectures.html)\n\t- [Assignments](https:\u002F\u002Fcourses.engr.illinois.edu\u002Fcs425\u002Ffa2016\u002Fassignments.html)\n- [CS 452](http:\u002F\u002Fwww.cgl.uwaterloo.ca\u002F~wmcowan\u002Fteaching\u002Fcs452\u002Fs12\u002F) **Real-Time Programming** *University of Waterloo*  \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F>\n\t- Write a real-time OS microkernel in C, and application code to operate a model train set in response to real-time sensor information. The communication with the train set runs at 2400 baud so it takes about 61 milliseconds to ask all of the sensors for data about the train's possible location.  This makes it particularly challenging because a train can move about 3 centimeters in that time. One of the most challenging and time-consuming courses at the University of Waterloo.\n\t- [Assignments](http:\u002F\u002Fwww.cgl.uwaterloo.ca\u002F~wmcowan\u002Fteaching\u002Fcs452\u002Fs12\u002Fassignments\u002Findex.html)\n\t- [Lecture notes](http:\u002F\u002Fwww.cgl.uwaterloo.ca\u002F~wmcowan\u002Fteaching\u002Fcs452\u002Fs12\u002Fnotes\u002Findex.html)\n- [CS 2043](http:\u002F\u002Fwww.cs.cornell.edu\u002Fcourses\u002FCS2043\u002F2014sp\u002F) **Unix Tools & Scripting** *Cornell University* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4da.png\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" \u002F>\n\t- UNIX-like systems are increasingly being used on personal computers, mobile phones, web servers, and many other systems. They represent a wonderful family of programming environments useful both to computer scientists and to people in many other fields, such as computational biology and computational linguistics, in which data is naturally represented by strings. This course provides an intensive training to develop skills in Unix command line tools and scripting that enable the accomplishment and automation of large and challenging computing tasks. The syllabus takes students from shell basics and piping, to regular-expression processing tools, to shell scripting and Python.\n\t- [Syllabus](http:\u002F\u002Fwww.cs.cornell.edu\u002Fcourses\u002FCS2043\u002F2014sp\u002F)\n\t- [Lectures](http:\u002F\u002Fwww.cs.cornell.edu\u002Fcourses\u002FCS2043\u002F2014sp\u002F)\n\t- [Assignments](http:\u002F\u002Fwww.cs.cornell.edu\u002Fcourses\u002FCS2043\u002F2014sp\u002F)\n- [CS 3410](http:\u002F\u002Fwww.cs.cornell.edu\u002Fcourses\u002Fcs3410\u002F2016fa\u002F) **Computer System Organization and Programming** *Cornell University* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4da.png\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" \u002F>\n\t- CS3410 provides an introduction to computer organization, systems programming and the hardware\u002Fsoftware interface. Topics include instruction sets, computer arithmetic, datapath design, data formats, addressing modes, memory hierarchies including caches and virtual memory, I\u002FO devices, bus-based I\u002FO systems, and multicore architectures. Students learn assembly language programming and design a pipelined RISC processor.\n\t- [Lectures](http:\u002F\u002Fwww.cs.cornell.edu\u002Fcourses\u002FCS3410\u002F2014sp\u002Fschedule.html)\n\t- [Assignments](http:\u002F\u002Fwww.cs.cornell.edu\u002Fcourses\u002FCS3410\u002F2014sp\u002Fschedule.html)\n- [CS 4410](http:\u002F\u002Fwww.cs.cornell.edu\u002Fcourses\u002FCS4410\u002F2014fa\u002F) **Operating Systems** *Cornell University* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4da.png\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" \u002F>\n\t- CS 4410 covers systems programming and introductory operating system design and implementation. We will cover the basics of operating systems, namely structure, concurrency, scheduling, synchronization, memory management, filesystems, security and networking. The course is open to any undergraduate who has mastered the material in CS3410\u002FECE3140.\n\t- [Syllabus](http:\u002F\u002Fwww.cs.cornell.edu\u002Fcourses\u002FCS4410\u002F2014fa\u002Fslides\u002F01-intro.pptx)\n\t- [Lectures](http:\u002F\u002Fwww.cs.cornell.edu\u002Fcourses\u002FCS4410\u002F2014fa\u002Flectures.php)\n- [CS 4414](http:\u002F\u002Frust-class.org\u002Findex.html) **Operating Systems** *University of Virginia* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4f9.png\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F>\n\t- A course (that) covers topics including: Analysis process communication and synchronization; resource management; virtual memory management algorithms; file systems; and networking and distributed systems. The primary goal of this course is to improve your ability to build scalable, robust and secure computing systems. It focuses on doing that by understanding what underlies the core abstractions of modern computer systems.\n\t- [Syllabus](http:\u002F\u002Frust-class.org\u002Fpages\u002Fsyllabus.html)\n\t- [Lectures](http:\u002F\u002Frust-class.org\u002Fpages\u002Fclasses.html)\n- [CS 5412](http:\u002F\u002Fwww.cs.cornell.edu\u002FCourses\u002FCS5412\u002F2014sp\u002F) **Cloud Computing** *Cornell University* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4da.png\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" \u002F>\n\t- 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 [book](http:\u002F\u002Fwww.amazon.com\u002FGuide-Reliable-Distributed-Systems-High-Assurance\u002Fdp\u002F1447124154) is also a gem and recommended as a must read in Google's tutorial on [Distributed System Design](http:\u002F\u002Fwww.hpcs.cs.tsukuba.ac.jp\u002F~tatebe\u002Flecture\u002Fh23\u002Fdsys\u002Fdsd-tutorial.html)\n\t- [Slides](http:\u002F\u002Fwww.cs.cornell.edu\u002FCourses\u002FCS5412\u002F2014sp\u002FSyllabus.htm)\n- [CSCE 3613](http:\u002F\u002Fcomp.uark.edu\u002F~wingning\u002Fcsce3613\u002Fcsce3613.html) **Operating Systems** *University of Arkansas (Fayetteville)* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4da.png\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" \u002F>\t- An introduction to operating systems including topics in system structures, process management, storage management, files, distributed systems, and case studies.\n\t- [Syllabus](http:\u002F\u002Fcomp.uark.edu\u002F~wingning\u002Fcsce3613\u002FCSCE3613.pdf)\n\t- [Assignments](http:\u002F\u002Fcomp.uark.edu\u002F~wingning\u002Fcsce3613\u002FHomework3613.html)\n\t- [Lecture Notes](http:\u002F\u002Fcomp.uark.edu\u002F~wingning\u002Fcsce3613\u002FCourseNote3613.html)\n\t- [Readings](http:\u002F\u002Fcomp.uark.edu\u002F~wingning\u002Fcsce3613\u002FLink3613.html)\n- [CSCI-UA.0202: Operating Systems (Undergrad)](http:\u002F\u002Fwww.cs.nyu.edu\u002F~mwalfish\u002Fclasses\u002F15sp\u002Findex.html) **Operating Systems** *NYU* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4da.png\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" \u002F> \n\t- NYU's operating system course. It's a fundamental course focusing basic ideas of operating systems, including memory management, process scheduling, file system, ect. It also includes some recommended reading materials. What's more, there are a series of hands-on lab materials, helping you easily understand OS.\n\t- [Assignments](http:\u002F\u002Fwww.cs.nyu.edu\u002F~mwalfish\u002Fclasses\u002F15sp\u002Flabs.html)\n\t- [Lectures](http:\u002F\u002Fwww.cs.nyu.edu\u002F~mwalfish\u002Fclasses\u002F15sp\u002Fsyllabus.html)\n\t- [Old Exams](http:\u002F\u002Fwww.cs.nyu.edu\u002F~mwalfish\u002Fclasses\u002F15sp\u002Fexams.html)\n- [CSCI 360](http:\u002F\u002Fcompsci.hunter.cuny.edu\u002F~sweiss\u002Fcourse_materials\u002Fcsci360\u002Fcsci360_f14.php) **Computer Architecture 3** *CUNY Hunter College* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F>\n\t-  A course that covers cache design, buses, memory hierarchies, processor-peripheral interfaces, and multiprocessors, including GPUs.\n- [CSCI 493.66](http:\u002F\u002Fcompsci.hunter.cuny.edu\u002F~sweiss\u002Fcourse_materials\u002Fcsci493.66\u002Fcsci493.66_spr12.php) **UNIX System Programming (formerly UNIX Tools)** *CUNY Hunter College* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F>\n\t- A course that is mostly about writing programs against the UNIX API, covering all of the basic parts of the kernel interface and libraries, including files, processes, terminal control, signals, and threading.\n- [CSCI 493.75](http:\u002F\u002Fcompsci.hunter.cuny.edu\u002F~sweiss\u002Fcourse_materials\u002Fcsci493.65\u002Fcsci493.65_spr14.php) **Parallel Computing** *CUNY Hunter College* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F>\n\t- The course is an introduction to parallel algorithms and parallel programming in C and C++, using the Message Passing Interface (MPI) and the OpenMP application programming interface. It also includes a brief introduction to parallel architectures and interconnection networks. It is both theoretical and practical, including material on design methodology, performance analysis, and mathematical concepts, as well as details on programming using MPI and OpenMP.\n- [Hack the Kernel](https:\u002F\u002Fwww.ops-class.org\u002F) **Introduction to Operating Systems** *SUNY University at Buffalo, NY* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4f9.png\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F>\n\t- This course is an introduction to operating system design and implementation. We study operating systems because they are examples of mature and elegant solutions to a difficult design problem: how to safely and efficiently share system resources and provide abstractions useful to applications.\n\t- 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 [Dr.Geoffrey Challen](https:\u002F\u002Fblue.cse.buffalo.edu\u002Fpeople\u002Fgwa\u002F)\n\t- [Syllabus](https:\u002F\u002Fwww.ops-class.org\u002Fcourses\u002Fbuffalo\u002FCSE421_Spring2016\u002F)\n\t- [Slides](https:\u002F\u002Fwww.ops-class.org\u002Fslides\u002F)\n\t- [Video lectures](https:\u002F\u002Fwww.youtube.com\u002Fplaylist?list=PLE6LEE8y2Jp-kbEcVR2W3vfx0Pdca0BD3)\n\t- [Assignments](https:\u002F\u002Fwww.ops-class.org\u002Fasst\u002F0\u002F)\n\t- [Old Exams](https:\u002F\u002Fwww.ops-class.org\u002Fexams\u002F)\n- [ECE 459](http:\u002F\u002Fpatricklam.ca\u002Fp4p\u002F) **Programming for Performance** *University of Waterloo* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F>\n\t- Learn techniques for profiling, rearchitecting, and implementing software systems that can handle industrial-sized inputs, and to design and build critical software infrastructure. Learn performance optimization through parallelization, multithreading, async I\u002FO, vectorization and GPU programming, and distributed computing.\n\t- [Lecture slides](https:\u002F\u002Fgithub.com\u002Fpatricklam\u002Fp4p-2015\u002Ftree\u002Fmaster\u002Flectures)\n- [ECGR4101\u002F5101](https:\u002F\u002Fwebpages.uncc.edu\u002F~jmconrad\u002FEducationalMaterials\u002Findex.html) **Embedded Systems using the Renesas RX63N Processor** *University of North Carolina at Charlotte* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4f9.png\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4da.png\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" \u002F>\n\t- Introduction to designing microcontroller-based embedded computer systems using assembly and C programs. Examination of Real-time Operating Systems and their impact on performance. Computer engineering applications will be emphasized.\n\t- The goal of this course is to solidify and build upon a student’s knowledge of computer organization by presenting hands-on experience with microcontrollers. Students will also examine a few sensors that are used in commercial and medical products and learn how to interface them in a microcontroller system.\n\t- [Lecture Videos](https:\u002F\u002Fwww.youtube.com\u002Fplaylist?list=PLPIqCiMhcdO5gxLJWt_hY5CPMzqg75IU5)\n\t- [Lecture Notes](https:\u002F\u002Fwebpages.uncc.edu\u002F~jmconrad\u002FEducationalMaterials\u002Findex.html)\n- [PODC](http:\u002F\u002Fdcg.ethz.ch\u002Flectures\u002Fpodc_allstars\u002F) **Principles of Distributed Computing** *ETH-Zurich* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4da.png\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F>\n\t- Explore essential algorithmic ideas and lower bound techniques, basically the \"pearls\" of distributed computing in an easy-to-read set of lecture notes, combined with complete exercises and solutions.\n\t- [Book](http:\u002F\u002Fdcg.ethz.ch\u002Flectures\u002Fpodc_allstars\u002Flecture\u002Fpodc.pdf)\n\t- [Assignments and Solutions](http:\u002F\u002Fdcg.ethz.ch\u002Flectures\u002Fpodc_allstars\u002F)\n- [SPAC](http:\u002F\u002Fhomes.cs.washington.edu\u002F~djg\u002FteachingMaterials\u002Fspac\u002F) **Parallelism and Concurrency** *Univ of Washington* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4da.png\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" \u002F>\n\t- Technically not a course nevertheless an awesome collection of materials used by Prof Dan Grossman to teach parallelism and concurrency concepts to sophomores at UWash\n- [6.824](http:\u002F\u002Fcss.csail.mit.edu\u002F6.824\u002F2014\u002Findex.html) **Distributed Systems** *MIT* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F>\n\t- MIT's graduate-level DS course with a focus on fault tolerance, replication, and consistency, all taught via awesome lab assignments in Golang!\n\t- [Assignments](http:\u002F\u002Fcss.csail.mit.edu\u002F6.824\u002F2014\u002Flabs\u002F) - Just do `git clone git:\u002F\u002Fg.csail.mit.edu\u002F6.824-golabs-2014 6.824`\n\t- [Readings](http:\u002F\u002Fcss.csail.mit.edu\u002F6.824\u002F2014\u002Fschedule.html)\n- [6.828](http:\u002F\u002Fpdos.csail.mit.edu\u002F6.828\u002F2014\u002F) **Operating Systems** *MIT* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F>\n\t- MIT's operating systems course focusing on the fundamentals of OS design including booting, memory management, environments, file systems, multitasking, and more. In a series of lab assignments, you will build JOS, an OS exokernel written in C.\n\t- [Assignments](http:\u002F\u002Fpdos.csail.mit.edu\u002F6.828\u002F2014\u002Flabguide.html)\n\t- [Lectures](http:\u002F\u002Fpdos.csail.mit.edu\u002F6.828\u002F2014\u002Fschedule.html)\n\t- [Videos](http:\u002F\u002Fpdos.csail.mit.edu\u002F6.828\u002F2011\u002Fschedule.html) Note: These are student recorded cam videos of the 2011 course. The videos  explain a lot of concepts required for the labs and assignments.\n- [CSEP 552](http:\u002F\u002Fcourses.cs.washington.edu\u002Fcourses\u002Fcsep552\u002F16wi\u002F) **Distributed Systems** *University of Washington* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4f9.png\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F>\n\t- CSEP552 is a graduate course on distributed systems. Distributed systems have become central to many aspects of how computers are used, from web applications to e-commerce to content distribution. This course will cover abstractions and implementation techniques for the construction of distributed systems, including client server computing, the web, cloud computing, peer-to-peer systems, and distributed storage systems. Topics will include remote procedure call, maintaining consistency of distributed state, fault tolerance, high availability, and other topics. As we believe the best way to learn the material is to build it, there will be a series of hands-on programming projects.\n\t- [Lectures](http:\u002F\u002Fcourses.cs.washington.edu\u002Fcourses\u002Fcsep552\u002F13sp\u002Fvideo\u002F) of a previous session are available to watch.\n- [15-213](http:\u002F\u002Fwww.cs.cmu.edu\u002F~213\u002F) **Introduction to Computer Systems (ICS)** *Carnegie-Mellon University*  \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4f9.png\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F>\n\t- The ICS course provides a programmer's view of how computer systems execute programs, store information, and communicate. It enables students to become more effective programmers, especially in dealing with issues of performance, portability and robustness. It also serves as a foundation for courses on compilers, networks, operating systems, and computer architecture, where a deeper understanding of systems-level issues is required. Topics covered include: machine-level code and its generation by optimizing compilers, performance evaluation and optimization, computer arithmetic, memory organization and management, networking technology and protocols, and supporting concurrent computation.\n\t- This is the must-have course for everyone in CMU who wants to learn some computer science no matter what major are you in. Because it's CMU (The course number is as same as the zip code of CMU)!\n\t- [Lecture Notes](http:\u002F\u002Fwww.cs.cmu.edu\u002F~213\u002Fschedule.html)\n\t- [Videos](https:\u002F\u002Fscs.hosted.panopto.com\u002FPanopto\u002FPages\u002FSessions\u002FList.aspx#folderID=%22b96d90ae-9871-4fae-91e2-b1627b43e25e%22) \n\t- [Assignments](http:\u002F\u002Fcsapp.cs.cmu.edu\u002Fpublic\u002Flabs.html)\n- [15-319\u002F619](http:\u002F\u002Fwww.cs.cmu.edu\u002F~msakr\u002F15619-s17\u002Frecitations.html) **Cloud Computing (ICS)** *Carnegie-Mellon University*  \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4f9.png\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F> \n\t- This project-based on-line course focuses on skill building across various aspects of cloud computing. We cover conceptual topics and provide hands-on experience through projects utilizing public cloud infrastructures (Amazon Web Services (AWS), Microsoft Azure and Google Cloud Platform (GCP)). The adoption of cloud computing services continues to grow across a variety of organizations and in many domains. Simply, cloud computing is the delivery of computing as a service over a network, whereby distributed resources and services are rented, rather than owned, by an end user as a utility.\n\t- For the projects, students will work with Amazon Web Services, Microsoft Azure and Google Cloud Platform, use them to rent and provision compute resources and then program and deploy applications that run on these resources. Students will develop and evaluate virtual machine (VM) and container scaling, elasticity and load balancing solutions. In addition, students will work with cloud storage systems and learn to develop different applications using batch, iterative and stream processing frameworks. 15-619 students will have to complete an extra project which entails designing and implementing a complete web-service solution for querying big data. For the extra project, the student teams are evaluated based on the cost and performance of their web service.\n\t- [Lecture Notes](http:\u002F\u002Fwww.cs.cmu.edu\u002F~msakr\u002F15619-s17\u002Frecitations.html)\n\t- [Videos](http:\u002F\u002Fwww.cs.cmu.edu\u002F~msakr\u002F15619-s17\u002Frecitations.html) \n- [15-410](https:\u002F\u002Fwww.cs.cmu.edu\u002F~410\u002F) **Operating System Design and Implementation** *Carnegie-Mellon University*  \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F> \n\t-  This awesome course covers some fundamental topics of operating system, such as process model, virtual memory concurrency, threads, locking, interrupts, preemptibility, race conditions. It also covers introductory understanding of typical OS topics (file systems, transactions, scheduling, security concepts and technologies, memory consistency)Parallel programming models \u002F frameworks.\n\t- [Lecture Notes](https:\u002F\u002Fwww.cs.cmu.edu\u002F~410\u002Flecture.html) \n\t- [Assignments](https:\u002F\u002Fwww.cs.cmu.edu\u002F~410\u002Fp1\u002Fproj1.html)\n- [15-418](http:\u002F\u002F15418.courses.cs.cmu.edu\u002Fspring2015\u002F) **Parallel Computer Architecture and Programming** *Carnegie-Mellon University* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4f9.png\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4da.png\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" \u002F>\n\t- The goal of this course is to provide a deep understanding of the fundamental principles and engineering trade-offs involved in designing modern parallel computing systems as well as to teach parallel programming techniques necessary to effectively utilize these machines. Because writing good parallel programs requires an understanding of key machine performance characteristics, this course will cover both parallel hardware and software design.\n\t- [Assignments](http:\u002F\u002F15418.courses.cs.cmu.edu\u002Fspring2015\u002Fexercises)\n\t- [Lecture Notes](http:\u002F\u002F15418.courses.cs.cmu.edu\u002Fspring2015\u002Freading)\n\t- [Lecture Videos](https:\u002F\u002Fscs.hosted.panopto.com\u002FPanopto\u002FPages\u002FSessions\u002FList.aspx#folderID=%22a5862643-2416-49ef-b46b-13465d1b6df0%22)\n\t- [Readings](http:\u002F\u002F15418.courses.cs.cmu.edu\u002Fspring2015\u002Freading)\n- [15-440](http:\u002F\u002Fwww.cs.cmu.edu\u002F~dga\u002F15-440\u002FF12\u002Findex.html) **Distributed Systems** *Carnegie-Mellon University*  \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F>\n\t- Introduction to distributed systems with a focus on teaching concepts via projects implemented in the Go programming language.\n\t- [Assignments](http:\u002F\u002Fwww.cs.cmu.edu\u002F~dga\u002F15-440\u002FF12\u002Fassignments.html)\n- [15-721](http:\u002F\u002F15721.courses.cs.cmu.edu\u002Fspring2016\u002F) **Database Systems** *Carnegie-Mellon University* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4f9.png\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4da.png\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" \u002F>\n\t- This course is a comprehensive study of the internals of modern database management systems. It will cover the core concepts and fundamentals of the components that are used in both high-performance transaction processing systems (OLTP) and large-scale analytical systems (OLAP). The class will stress both efficiency and correctness of the implementation of these ideas. All class projects will be in the context of a real in-memory, multi-core database system. The course is appropriate for graduate students in software systems and for advanced undergraduates with strong systems programming skills.\n\t- [Assignments](http:\u002F\u002F15721.courses.cs.cmu.edu\u002Fspring2016\u002Fsyllabus.html)\n\t- [Lecture Videos](https:\u002F\u002Fwww.youtube.com\u002Fplaylist?list=PLSE8ODhjZXjbisIGOepfnlbfxeH7TW-8O)\n\t- [Readings](http:\u002F\u002F15721.courses.cs.cmu.edu\u002Fspring2016\u002Fschedule.html)\n- [15-445\u002F645](http:\u002F\u002F15445.courses.cs.cmu.edu\u002Ffall2017\u002F) **Database Systems** *Carnegie-Mellon University* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4f9.png\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4da.png\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" \u002F>\n\t- This course covers fundamental topics of DBMS, compared to CMU 15-721. \n\t- [Assignments](http:\u002F\u002F15445.courses.cs.cmu.edu\u002Ffall2017\u002Fassignments.html)\n\t- [Lecture Videos](https:\u002F\u002Fwww.youtube.com\u002Fplaylist?list=PLSE8ODhjZXjYutVzTeAds8xUt1rcmyT7x)\n\t- [Readings](http:\u002F\u002F15445.courses.cs.cmu.edu\u002Ffall2017\u002Fschedule.html)\n- [15-749](http:\u002F\u002Fwww.andrew.cmu.edu\u002Fcourse\u002F15-749\u002F) **Engineering Distributed Systems** *Carnegie-Mellon University* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4da.png\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" \u002F>\t\n \t- A project focused course on Distributed Systems with an awesome list of readings\n\t- [Readings](http:\u002F\u002Fwww.andrew.cmu.edu\u002Fcourse\u002F15-749\u002FREADINGS\u002F)\n- [18-447](http:\u002F\u002Fwww.ece.cmu.edu\u002F~ece447\u002Fs15\u002Fdoku.php?id=start) **Introduction to Computer Architecture** *CMU* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4f9.png\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4da.png\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" \u002F>\n\t- 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. [Onur Mutlu ](http:\u002F\u002Fusers.ece.cmu.edu\u002F~omutlu\u002F)\n\t- [Lectures and Recitation](http:\u002F\u002Fwww.ece.cmu.edu\u002F~ece447\u002Fs15\u002Fdoku.php?id=schedule)\n\t- [Homeworks](http:\u002F\u002Fwww.ece.cmu.edu\u002F~ece447\u002Fs15\u002Fdoku.php?id=homeworks) 7 HWs with answer set as well\n\t- [Readings](http:\u002F\u002Fwww.ece.cmu.edu\u002F~ece447\u002Fs15\u002Fdoku.php?id=readings)\n\n--------\n### Programming Languages \u002F Compilers\n\n- [CS 75](https:\u002F\u002Fwww.cs.swarthmore.edu\u002F~jpolitz\u002Fcs75\u002Fs16\u002Findex.html) **Principles of Compiler Design** *Swathmore College* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4f9.png\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F>\n\t- Modelled after the influential paper on [incremental approach to compiler design](http:\u002F\u002Fscheme2006.cs.uchicago.edu\u002F11-ghuloum.pdf), this course teaches how to build a compiler in OCaml\n\t- [Course on Github](https:\u002F\u002Fgithub.com\u002Fcompilers-course-materials)\n\t- [Notes](https:\u002F\u002Fgithub.com\u002Fcompilers-course-materials\u002Fcs75-s16-lectures)\n- [CS 91](https:\u002F\u002Fwww.cs.swarthmore.edu\u002F~jpolitz\u002Fcs91\u002Fs15\u002Findex.html) **Introduction to Programming Languages** *Swathmore College* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F>\n\t- Uses the [Pyret](https:\u002F\u002Fwww.pyret.org\u002F) programming language & [PAPL](http:\u002F\u002Fpapl.cs.brown.edu\u002F2014\u002F) book to understand the fundamentals of programming languages.\n\t- [Labs](https:\u002F\u002Fwww.cs.swarthmore.edu\u002F~jpolitz\u002Fcs91\u002Fs15\u002Fs_labs.html)\n- [CIS 194](http:\u002F\u002Fwww.seas.upenn.edu\u002F~cis194\u002F) **Introduction to Haskell** *Penn Engineering* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F>\n\t- Explore the joys of functional programming, using Haskell as a vehicle. The aim of the course will be to allow you to use Haskell to easily and conveniently write practical programs.\n\t- [Previous](http:\u002F\u002Fwww.seas.upenn.edu\u002F~cis194\u002Fspring13\u002Findex.html) semester also available, with more exercises\n- [CIS 198](http:\u002F\u002Fcis198-2016s.github.io\u002F) **Rust Programming** *UPenn* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F>\n\t- This course covers what makes Rust so unique and applies it to practical systems programming problems. Topics covered include traits and generics; memory safety (move semantics, borrowing, and lifetimes); Rust’s rich macro system; closures; and concurrency.\n\t- [Assignments](https:\u002F\u002Fgithub.com\u002Fcis198-2016s\u002Fhomework)\n- [CMSC 430](http:\u002F\u002Fwww.cs.umd.edu\u002Fclass\u002Fspring2015\u002Fcmsc430\u002F) **Introduction to Compilers** *Univ of Maryland* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F>\n\t- The goal of CMSC 430 is to arm students with the ability to design, implement, and extend a programming language. Throughout the course, students will design and implement several related languages, and will explore parsing, syntax querying, dataflow analysis, compilation to bytecode, type systems, and language interoperation. \n\t- [Lecture Notes](http:\u002F\u002Fwww.cs.umd.edu\u002Fclass\u002Fspring2015\u002Fcmsc430\u002FSchedule.html)\n\t- [Assignments](http:\u002F\u002Fwww.cs.umd.edu\u002Fclass\u002Fspring2015\u002Fcmsc430\u002FProjects.html)\n- [Corsopl](https:\u002F\u002Fpradella.faculty.polimi.it\u002FPL.html) **Principles of Programming Languages** *Politecnico di Milano*  \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F> - Lecture Notes \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4da.png\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" \u002F> - Readings\n\t- This course gives an overview of Scheme, Haskell and Erlang while analyzing the languages' similarities and differences. As a result, many important\u002Fprevalent concepts and how they manifest differently in different programming languages are explained. Among these are (purely) functional programming, object orientation, type inference and evaluation order.\n\t- Thorough introduction to functional programming with no preknowledge in any functional language required.\t\n- [COS 326](http:\u002F\u002Fwww.cs.princeton.edu\u002F~dpw\u002Fcourses\u002Fcos326-12\u002Finfo.php) **Functional Programming** *Princeton University* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F>\n\t- Covers functional programming concepts like closures, tail-call recursion & parallelism using the OCaml programming language\n\t- [Lectures](http:\u002F\u002Fwww.cs.princeton.edu\u002F~dpw\u002Fcourses\u002Fcos326-12\u002Flectures.php)\n\t- [Assignments](http:\u002F\u002Fwww.cs.princeton.edu\u002F~dpw\u002Fcourses\u002Fcos326-12\u002Fassignments.php)\n- [CS 143](https:\u002F\u002Fweb.stanford.edu\u002Fclass\u002Fcs143\u002F) **Compiler construction** *Stanford University* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F>\n\t- CS143 is a Stanford's course in the practical and theoretical aspects of compiler construction.\n\t- [Home](https:\u002F\u002Fweb.stanford.edu\u002Fclass\u002Fcs143\u002F)\n\t- [Syllabus](https:\u002F\u002Fweb.stanford.edu\u002Fclass\u002Fcs143\u002Fsyllabus.html)\n\t- [Lectures](https:\u002F\u002Fweb.stanford.edu\u002Fclass\u002Fcs143\u002F)\n\t- [Assignments](https:\u002F\u002Fweb.stanford.edu\u002Fclass\u002Fcs143\u002F)\n\t- [CS143 - 2011](http:\u002F\u002Fwww.keithschwarz.com\u002Fcs143\u002FWWW\u002Fsum2011\u002F)\n- [CS 164](https:\u002F\u002Fsites.google.com\u002Fa\u002Fbodik.org\u002Fcs164\u002Fhome) **Hack your language!** *UC Berkeley* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4f9.png\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F>\n\t- Introduction to programming languages by designing and implementing domain-specific languages.\n\t- [Lecture Videos](https:\u002F\u002Farchive.org\u002Fdetails\u002Fucberkeley-webcast-PL3A16CFC42CA6EF4F)\n\t- [Code for Assignments](https:\u002F\u002Fbitbucket.org\u002Fcs164_overlord\u002F)\n- [CS 173](http:\u002F\u002Fcs.brown.edu\u002Fcourses\u002Fcs173\u002F2014\u002F) **Programming Languages** *Brown University* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4f9.png\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F>\n\t- Course by Prof. Krishnamurthi (author of [HtDP](http:\u002F\u002Fhtdp.org\u002F2003-09-26\u002FBook\u002F)) and numerous other [awesome](http:\u002F\u002Fcs.brown.edu\u002Fcourses\u002Fcs173\u002F2012\u002Fbook\u002F) [books](http:\u002F\u002Fpapl.cs.brown.edu\u002F2014\u002Findex.html) on programming languages. Uses a custom designed [Pyret](http:\u002F\u002Fwww.pyret.org\u002F) programming language to teach the concepts. There was an [online class](http:\u002F\u002Fcs.brown.edu\u002Fcourses\u002Fcs173\u002F2012\u002FOnLine\u002F) hosted in 2012, which includes all lecture videos for you to enjoy.\n\t- [Videos](http:\u002F\u002Fcs.brown.edu\u002Fcourses\u002Fcs173\u002F2012\u002FVideos\u002F)\n\t- [Assignments](http:\u002F\u002Fcs.brown.edu\u002Fcourses\u002Fcs173\u002F2014\u002Fassignments.html)\n- [CS 223](https:\u002F\u002Fwww.classes.cs.uchicago.edu\u002Farchive\u002F2016\u002Fwinter\u002F22300-1\u002F) **Purely Functional Data Structures In Elm** *University of Chicago* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F>\n\t- This course teaches functional reactive programming and purely functional data structures based on Chris Okazaki's book and using the Elm programming language.\n\t- [Lectures](https:\u002F\u002Fwww.classes.cs.uchicago.edu\u002Farchive\u002F2015\u002Fwinter\u002F22300-1\u002FSchedule.html)\n\t- [Assignments](https:\u002F\u002Fwww.classes.cs.uchicago.edu\u002Farchive\u002F2015\u002Fwinter\u002F22300-1\u002FSchedule.html)\n- [CS 240h](http:\u002F\u002Fwww.scs.stanford.edu\u002F14sp-cs240h\u002F) **Functional Systems in Haskell** *Stanford University* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F>\n\t- Building software systems in Haskell\n\t- [Lecture Slides](http:\u002F\u002Fwww.scs.stanford.edu\u002F14sp-cs240h\u002Fslides\u002F)\n\t- 3 Assignments: [Lab1](http:\u002F\u002Fwww.scs.stanford.edu\u002F14sp-cs240h\u002Flabs\u002Flab1.html), [Lab2](http:\u002F\u002Fwww.scs.stanford.edu\u002F14sp-cs240h\u002Flabs\u002Flab2.html), [Lab3](http:\u002F\u002Fwww.scs.stanford.edu\u002F14sp-cs240h\u002Flabs\u002Flab3.html)\n- [CS 421](https:\u002F\u002Fcourses.engr.illinois.edu\u002Fcs421\u002Ffa2014\u002F) **Programming Languages and Compilers** *Univ of Illinois, Urbana-Champaign* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4f9.png\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F>\n Course that uses OCaml to teach functional programming and programming language design.\n\t- [Lectures](https:\u002F\u002Fcourses.engr.illinois.edu\u002Fcs421\u002Ffa2014\u002Flectures\u002Findex.html)\n\t- [Videos](http:\u002F\u002Frecordings.engineering.illinois.edu\u002Fess\u002Fportal\u002Fsection\u002F631edaeb-2a33-4537-b7c8-0c1cba783a4f)\n\t- [Assignments](https:\u002F\u002Fcourses.engr.illinois.edu\u002Fcs421\u002Ffa2014\u002Fmps\u002Findex.html)\n\t- [Exams](https:\u002F\u002Fcourses.engr.illinois.edu\u002Fcs421\u002Ffa2014\u002Fexams\u002Findex.html)\n- [CS 3110](http:\u002F\u002Fwww.cs.cornell.edu\u002FCourses\u002Fcs3110\u002F2014fa\u002Fcourse_info.php) **Data Structures and Functional Programming** *Cornell University* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F>\n\t- Another course that uses OCaml to teach alternative programming paradigms, especially functional and concurrent programming.\n\t- [Lecture Slides](http:\u002F\u002Fwww.cs.cornell.edu\u002FCourses\u002Fcs3110\u002F2014fa\u002Flecture_notes.php)\n\t- [Assignments](http:\u002F\u002Fwww.cs.cornell.edu\u002FCourses\u002Fcs3110\u002F2014fa\u002F)\n- [CS 4120](http:\u002F\u002Fwww.cs.cornell.edu\u002Fcourses\u002FCS4120\u002F2013fa\u002F) **Introduction to Compilers** *Cornell University* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4da.png\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" \u002F>\n\t- An introduction to the specification and implementation of modern compilers. Topics covered include lexical scanning, parsing, type checking, code generation and translation, an introduction to optimization, and compile-time and run-time support for modern programming languages.  As part of the course, students build a working compiler for an object-oriented language.\n\t- [Syllabus](http:\u002F\u002Fwww.cs.cornell.edu\u002Fcourses\u002FCS4120\u002F2013fa\u002Foverview.html)\n\t- [Lectures](http:\u002F\u002Fwww.cs.cornell.edu\u002Fcourses\u002FCS4120\u002F2013fa\u002Fschedule.html)\n\t- [Assignments](http:\u002F\u002Fwww.cs.cornell.edu\u002Fcourses\u002FCS4120\u002F2013fa\u002Fhomework.html)\n- [CS 4400](https:\u002F\u002Fpl.barzilay.org\u002F) **Programming Languages** *Northeastern University* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4da.png\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" \u002F>\n\t- This is a course on the study, design, and implementation of programming languages.\n\t- The course works at two simultaneous levels: first, we will use a programming language that can demonstrate a wide variety of programming paradigms. Second, using this language, we will learn about the mechanics behind programming languages by implementing our own language(s). The two level approach usually means that we will often see how to use a certain feature, and continue by implementing it.\n\t- [Syllabus](https:\u002F\u002Fpl.barzilay.org\u002Fsyllabus.html)\n\t- [Lecture Notes\u002FResources](https:\u002F\u002Fpl.barzilay.org\u002Fresources.html)\n- [CS 4610](http:\u002F\u002Fwww.cs.virginia.edu\u002F~weimer\u002F4610\u002F) **Programming Languages and Compilers** *University of Virginia* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F>\n\t- Course that uses OCaml to teach functional programming and programming language design. Each assignment is a part of an interpreter and compiler for an object-oriented language similar to Java, and you are required to use a different language for each assignment (i.e., choose 4 from Python, JS, OCaml, Haskell, Ruby).\n\t- [Lecture Notes](http:\u002F\u002Fwww.cs.virginia.edu\u002F~weimer\u002F4610\u002Flectures.html)\n\t- [Assignments](http:\u002F\u002Fwww.cs.virginia.edu\u002F~weimer\u002F4610\u002Fpa.html)\n- [CS 5114](http:\u002F\u002Fwww.cs.cornell.edu\u002Fcourses\u002FCS5114\u002F2013sp\u002Findex.php) **Network Programming Languages** *Cornell University* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4da.png\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" \u002F>\n\t- This course provides an introduction to the languages used to program computer networks. It will examine recent proposals based on logic, functional, and distributed languages, as well as tools for establishing correctness using automatic solvers, model checkers, and proof assistants.\n\t- [Syllabus](http:\u002F\u002Fwww.cs.cornell.edu\u002Fcourses\u002FCS5114\u002F2013sp\u002Fsyllabus.php)\n\t- [Lectures](http:\u002F\u002Fwww.cs.cornell.edu\u002Fcourses\u002FCS5114\u002F2013sp\u002Fsyllabus.php)\n- [CS 5142](http:\u002F\u002Fwww.cs.cornell.edu\u002Fcourses\u002FCS5142\u002F2013fa\u002F) **Scripting Languages** *Cornell University* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F>\n\t- Perl, PHP, JavaScript, VisualBasic -- they are often-requested skills for employment, but most of us do not have the time to find out what they are all about. In this course, you learn how to use scripting languages for rapid prototyping, web programming, data processing, and application extension. Besides covering traditional programming languages concepts as they apply to scripting (e.g., dynamic typing and scoping), this course looks at new concepts rarely found in traditional languages (e.g., string interpolation, hashes, and polylingual code). Through a series of small projects, you use different languages to achieve programming tasks that highlight the strengths and weaknesses of scripting. As a side effect, you practice teaching yourself new languages.\n\t- [Syllabus](http:\u002F\u002Fwww.cs.cornell.edu\u002Fcourses\u002FCS5142\u002F2013fa\u002F)\n\t- [Lectures](http:\u002F\u002Fwww.cs.cornell.edu\u002Fcourses\u002FCS5142\u002F2013fa\u002F#schedule)\n\t- [Assignments](http:\u002F\u002Fwww.cs.cornell.edu\u002Fcourses\u002FCS5142\u002F2013fa\u002F#schedule)\n- [CS 5470](http:\u002F\u002Fmatt.might.net\u002Fteaching\u002Fcompilers\u002Fspring-2015\u002F) **Compilers** *University of Utah* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4da.png\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" \u002F>\n\t- If you're a fan of Prof Matt's writing on his [fantastic blog](http:\u002F\u002Fmatt.might.net\u002Farticles\u002F) 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 [cheating](http:\u002F\u002Fmatt.might.net\u002Fteaching\u002Fcompilers\u002Fspring-2015\u002F#collaboration) the page has tons of interesting links on programming languages, parsing and compilers.\n\t- [Lecture Notes](https:\u002F\u002Fwww.dropbox.com\u002Fsh\u002Fzanwtoflw4pcfu8\u002F5pdT6axS3y)\n\t- [Projects](http:\u002F\u002Fmatt.might.net\u002Fteaching\u002Fcompilers\u002Fspring-2015\u002F#projects)\n- [CS 6118](http:\u002F\u002Fwww.cs.cornell.edu\u002Fcourses\u002FCS6118\u002F2012fa\u002F) **Types and Semantics** *Cornell University* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4da.png\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" \u002F>\n\t- Types and Semantics is about designing and understand programming languages, whether they be domain specific or general purpose. The goal of this class is to provide a variety of tools for designing custom (programming) languages for whatever task is at hand. Part of that will be a variety of insights on how languages work along with experiences from working with academics and industry on creating new languages such as Ceylon and Kotlin. The class focuses on types and semantics and the interplay between them. This means category theory and constructive type theory (e.g. Coq and richer variations) are ancillary topics of the class. The class also covers unconventional semantic domains such as classical linear type theory in order to both break students from conventional thinking and to provide powerful targets capable of formalizing thinks like networking protocols, resource-sensitive computation, and concurrency constructs. The class project is to design and formalize a (programming) language for a purpose of the student's choosing, and assignments are designed to ensure students have had a chance to practice applying the techniques learned in class before culminating these skills in the class project.\n\t- [Syllabus](http:\u002F\u002Fwww.cs.cornell.edu\u002Fcourses\u002FCS6118\u002F2012fa\u002F)\n\t- [Lectures](http:\u002F\u002Fwww.cs.cornell.edu\u002Fcourses\u002FCS6118\u002F2012fa\u002F)\n- [CSC 253](http:\u002F\u002Fpgbovine.net\u002Fcpython-internals.htm) **CPython internals: A ten-hour codewalk through the Python interpreter source code** *University of Rochester* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4f9.png\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4da.png\" width=\"20\" height=\"20\" alt=\"Readings\" title=\"Readings\" \u002F>\n  - Nine lectures walking through the internals of CPython, the canonical Python interpreter implemented in C. They were from the *Dynamic Languages and Software Development* course taught in Fall 2014 at the University of Rochester.\n- [CSE 341](http:\u002F\u002Fcourses.cs.washington.edu\u002Fcourses\u002Fcse341\u002F16sp\u002F) **Programming Languages** *University of Washington* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4f9.png\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F>\n\t- Covers non-imperative paradigms and languages such as Ruby, Racket, and ML and the fundamentals of programming languages.\n\t- [Lectures and Videos](https:\u002F\u002Fcourses.cs.washington.edu\u002Fcourses\u002Fcse341\u002F16sp\u002F#lectures)\n\t- [Assignments and Tests](https:\u002F\u002Fcourses.cs.washington.edu\u002Fcourses\u002Fcse341\u002F16sp\u002F#homeworks)\n- [CSE P 501](http:\u002F\u002Fcourses.cs.washington.edu\u002Fcourses\u002Fcsep501\u002F09au\u002Flectures\u002Fvideo.html) **Compiler Construction** *University of Washington* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4f9.png\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F>\n\t- Teaches understanding of how a modern compiler is structured and the major algorithms that are used to translate code from high-level to machine language. The best way to do this is to actually build a working compiler, so there will be a significant project to implement one that translates programs written in a core subset of Java into executable x86 assembly language. The compilers themselves will use scanner and parser generator tools and the default implementation language is Java.\n\t- [Lectures](http:\u002F\u002Fcourses.cs.washington.edu\u002Fcourses\u002Fcsep501\u002F09au\u002Flectures\u002Fvideo.html)\n\t- [Assignments, Tests, and Solutions](http:\u002F\u002Fcourses.cs.washington.edu\u002Fcourses\u002Fcsep501\u002F09au\u002Fhomework\u002Findex.html)\n- [DMFP](http:\u002F\u002Fcs.wheaton.edu\u002F~tvandrun\u002Fdmfp\u002F) **Discrete Mathematics and Functional Programming** *Wheaton College* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4f9.png\" width=\"20\" height=\"20\" alt=\"Lecture Videos\" title=\"Lecture Videos\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F>\n  - A course that teaches discrete maths concepts with functional programming\n  - [Lecture Videos](http:\u002F\u002Fcs.wheaton.edu\u002F~tvandrun\u002Fdmfp\u002F)\n  - [Assignments](http:\u002F\u002Fcs.wheaton.edu\u002F~tvandrun\u002Fdmfp\u002Fsource.html)\n- [PCPP](http:\u002F\u002Fwww.itu.dk\u002Fpeople\u002Fsestoft\u002Fitu\u002FPCPP\u002FE2015\u002F) **Practical Concurrent and Parallel Programming** *IT University of Copenhagen* \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4dd.png\" width=\"20\" height=\"20\" alt=\"Lecture Notes\" title=\"Lecture Notes\" \u002F> \u003Cimg src=\"https:\u002F\u002Fassets-cdn.github.com\u002Fimages\u002Ficons\u002Femoji\u002Funicode\u002F1f4bb.png\" width=\"20\" height=\"20\" alt=\"Assignments\" title=\"Assignments\" \u002F> \u003Cimg src=\"ht","这个项目是一个精心整理的计算机科学课程列表，旨在为学习者提供高质量的大学课程资源。它涵盖了从算法、人工智能到系统设计等多个领域的课程，并提供了包括讲座视频、讲义、作业和阅读材料在内的丰富学习资料。该项目特别适合那些希望深入学习计算机科学但无法亲自参加大学课程的学习者，也适用于教育工作者寻找优质教学资源的情况。通过这个列表，用户可以轻松访问到来自世界各地顶尖大学的免费教育资源。",2,"2026-06-11 02:36:06","top_all"]