Awesome Courses is one markdown file last touched in May 2023, and that is its whole design
:books: List of awesome university courses for learning Computer Science!
At a glance
- What is it?
- A list of university computer science courses whose lecture notes, videos and assignments were published free, curated as a single README with an icon legend instead of any data structure. Useful as a starting index, and honest about nothing more, since the repository has three files, no licence and a last commit dated 2023-05-04.
- Who is it for?
- Awesome Courses earns a place as a bookmark, not as a curriculum, because the eleven-subject table of contents and the per-course link sets are faster to scan than any single institution's own course index, and the entries point at material that is genuinely free rather than at an enrolment page.
- Can I use it commercially?
- Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
- Is it still maintained?
- Probably not. The repository last received commits 41 months ago, on May 4, 2023.
- What is it written in?
- GitHub does not report a main language for this repository.
Answers come from the project's GitHub data, last synced on September 30, 2026, and from our analysis. They are not legal advice.
Editorial analysis
The repository is three files, and none of them is code
The top level of the repository contains .gitignore, CONTRIBUTING.md and README.md. That is the entire tree. There is no src directory, no package manifest, no build step, no data file, no test and no workflow that validates anything, and the project description records no primary language because there is no source to classify.
For a list, that is the correct shape rather than a shortfall. There is nothing to install, nothing to break, and nothing to keep in sync. A reader who wants the courses opens the README, and a reader who wants to contribute reads the contribution guide and adds a markdown block. There is no schema to learn and no file format to parse.
The cost of that simplicity is that the list cannot be queried. Every fact a tool would want, which institutions are represented, which subjects have video as well as notes, which entries have old exams, what the last edit to each entry was, exists only as prose inside one markdown document. You can read it, and you can copy a link out of it, and that is the full extent of what the repository supports.
Every entry is pinned to one academic term, and the list was last pushed in 2023
The last push to this repository was on 2023-05-04. The project is not archived, so nothing has been formally abandoned, but it has not been touched in more than three years, and the entries themselves are older than that. Every course in the Systems section is tied to a named term in its URL: CS 61C points at an sp15 path, CS 140 at a spring14 path, CS 168 at a fa14 path, CS 162 at a sp15 lecture path, and CS 186 at a Google Site named for spring 2015.
That is not a criticism of the curator, because pinning to a term is the only way to link to course material at all. It is a warning to the reader. A university course page is a per-term artefact, and the archive of a term is a different page from the archive of the next one, so a link that was correct when it was written is addressing a page the institution may since have retired. The list cannot warn you about this, because nothing in it records when each entry was last verified.
So the discipline is on you. Pick the two or three courses you are actually going to study, open their lecture notes and assignment links, and confirm they still serve the material before you plan a term around them. The index is a good way to find candidates. It is not evidence that a candidate is still available.
The legend is four icons, and the icons are the only schema
The list encodes which resources a course publishes using a legend of four marks: Lecture Videos, Lecture Notes, Assignments / Labs, and Readings. Every entry then carries whichever of those four it has, and nothing else. A course with videos, notes and assignments gets three marks; a course with notes and readings gets two.
This is the whole data model, and it is a good one for a human scanning a page. It answers the question that actually stops people, which is whether a course is worth your time given that you cannot attend, so long as the marks are honest. A course that is listed with no video mark tells you up front that you are reading rather than watching, and a course with an old exams link tells you that past papers exist, which for an exam-bound course is often the most valuable item on the page.
What the model cannot express is the thing a reader most wants next, which is whether the material is current and whether it is complete. There is no year attached to a mark, no indication of which of several semesters a link points at, and no distinction between a full lecture-notes archive and a single stray document. Four icons carry four facts, and the reader is left to infer freshness from the URL.
The Systems section is ordered by course number, and the numbering is the argument
Within a subject, entries are not ranked. They run in course-number order, and the sequence in Systems is CS 61C, CS 107, CS 140, 6.004, CS 162, CS 168, CS 179 and CS 186. Read as a path, that ordering is a curriculum the curator never wrote down: Berkeley's Great Ideas in Computer Architecture, then Stanford's Computer Organization and Systems, then Stanford's Operating Systems, then MIT's Computation Structures, then Berkeley's Operating Systems and Systems Programming, then Berkeley's Introduction to the Internet, then Caltech's GPU Programming, then Berkeley's Introduction to Database Systems.
There is no recommendation here and no difficulty rating, which is a deliberate omission. A ranked list has to commit to an order of value, and any such order is contestable and goes stale. Course numbers carry the information instead, and they are the one piece of metadata a university publishes that means the same thing across institutions and across time.
The descriptions are where the entries get their substance, and they are the course's own framing rather than the curator's. CS 107 is described as the third course in Stanford's introductory programming sequence, working from C down to the microprocessor. CS 140 is described as dividing into three sections, concurrency, then memory management, then file systems. CS 162 lists its topics from multiple-program systems and paging through to transactions, security and privacy. Reading them tells you what a course covers and nothing about whether you are ready for it.
Berkeley supplies four of the eight visible entries, which makes this a sample
Counting the institutions in the Systems section gives eight entries from four universities. UC Berkeley appears four times, with CS 61C, CS 162, CS 168 and CS 186. Stanford appears twice, with CS 107 and CS 140. MIT appears once with 6.004, and Caltech appears once with CS 179. The remaining seven subjects in the table of contents, Algorithms, Artificial Intelligence, Computer Graphics, CS Theory, Introduction to CS, Machine Learning and Programming Languages / Compilers, plus Misc and Statistics / Regression, are not visible here, so this ratio describes one section rather than the list.
Even so, the shape is worth naming. This is a list built from courses whose materials were found and published free, which is a property of what an institution chose to put online rather than of what is best taught. A university that records its lectures and publishes its problem sets appears here. One that keeps its materials behind a login does not, regardless of the quality of the teaching.
There is also a resource signal in the links. The CS 61C entry reaches the Internet Archive for its lecture videos, which is the pattern to look for when a course page has been retired. The CS 162 entry credits the course to the chair of EECS at Berkeley by name, and CS 61C carries a separate link to old exams on a Berkeley domain. A course with archived video and past papers is a course someone expected people to take remotely, and that expectation is a decent proxy for whether the material is usable on its own.
The table of contents has eleven entries and the document has one heading level
The list is divided into eleven subjects: Algorithms, Artificial Intelligence, Computer Graphics, CS Theory, Introduction to CS, Machine Learning, Misc, Programming Languages / Compilers, Security, Systems and Statistics / Regression. Each is a level-two heading with an anchor, and the table of contents at the top is a list of links to those anchors, which is the only navigation the document has. There are no per-subject files, no index page per subject and no tag system.
Two of the eleven are catch-alls by name, Misc and Statistics / Regression. That is honest rather than sloppy, because a list maintained by one person accumulates the courses that do not fit elsewhere, and a reader can see from the heading that those entries were not chosen to represent a coherent field. A subject called Statistics / Regression also signals that the list's coverage of statistics is partial, since regression is one technique rather than a discipline.
The one structural weakness is that anchors are the only addressing scheme. A link into the document can point at a subject, so a reader can send someone to the Security section, but nothing in the repository identifies a single course entry. Sharing one course means sharing one course's own URL, which means the list is a directory rather than a reference, and a directory that is not regenerated cannot be diffed to show what changed.
Editorial conclusion
Awesome Courses earns a place as a bookmark, not as a curriculum, because the eleven-subject table of contents and the per-course link sets are faster to scan than any single institution's own course index, and the entries point at material that is genuinely free rather than at an enrolment page. It does not fit anyone who needs to know whether a link still resolves, because the list was last pushed on 2023-05-04 and every entry is pinned to a specific term, and it does not fit anyone who needs to reuse the list itself, because the repository has no licence file. Before you plan a study term around it, open two or three of the links you actually intend to use and confirm the lecture notes and assignments are still served, because nothing in the repository will tell you which of its hundreds of links have decayed since 2023.
Frequently asked questions
What is awesome-courses?
It is a curated list of university computer science courses whose lectures, notes, assignments, readings and examinations are published online for free, as described in its own introduction. The project holds three files at its root, .gitignore, CONTRIBUTING.md and README.md, and contains no code.
Which courses are listed in the Systems section of awesome-courses?
Eight entries from four universities: UC Berkeley CS 61C on computer architecture, CS 162 on operating systems and systems programming, CS 168 on Internet architecture and protocols, and CS 186 on database systems; Stanford CS 107 on computer organization and CS 140 on operating systems; MIT 6.004 on computation structures; and Caltech CS 179 on GPU programming. Each entry links separately to lecture videos, lecture notes, assignments, readings or old exams where those exist.
Is awesome-courses still maintained?
The last push to the repository was on 2023-05-04, and there are no GitHub releases. The repository is not archived, but it has not been updated in more than three years, and the entries are pinned to specific academic terms such as sp15, spring14 and fa14 in their URLs.
What licence applies to awesome-courses?
No licence file is present in the repository and no licence is named, so nothing in the project grants reuse rights. You can read the list and follow the links to the courses themselves, which are hosted by the universities, but copying or redistributing the list as your own is not something the repository author has authorised.