Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/edujtm/awesome-computer-science-websites

Some websites with a huge amount of free content on computer science topics
https://github.com/edujtm/awesome-computer-science-websites

List: awesome-computer-science-websites

Last synced: about 1 month ago
JSON representation

Some websites with a huge amount of free content on computer science topics

Awesome Lists containing this project

README

        

# awesome-computer-science-websites
Some websites with a huge amount of free content on computer science topics

- Items marked with :warning: are incomplete/work in progress.
- Publication years (Pub. Year) are based on information I've found on the websites and might not be completely accurate. They are only meant to give a rough idea if the content might be outdated. (C.U. means Continuosly Updated and a - means Not Found)

## Operating Systems

| name | topic | Pub. Year | author |
-------|-------|--------|--------|
|[Operating System in Rust](https://os.phil-opp.com/) | OS, Rust | 2020 | [Philipp Opperman](https://github.com/phil-opp) |
|[How to make an Operating System](https://samypesse.gitbook.io/how-to-create-an-operating-system/) :warning: | OS, C++ | 2018 | [Sammy Pessé](https://github.com/SamyPesse) |
|[Linux Insides](https://0xax.gitbooks.io/linux-insides/content/index.html) | Linux, C | 2020 (C.U.) | [0xAX](https://github.com/0xAX) |
|[OSDev Wiki](https://wiki.osdev.org/Main_Page) | Operating Systems | 2020 (C.U.) | [Many Authors](https://wiki.osdev.org/OSDev_Wiki:About) |
|[Raspberry PI OS](https://github.com/s-matyukevich/raspberry-pi-os) :warning: | Raspberry PI, Operating Systems | 2019 |[Sergey Matyukevich](https://github.com/s-matyukevich) |
|[Making our own executable packer](https://fasterthanli.me/series/making-our-own-executable-packer)| Linux, Rust | 2020 | [Amos Wenger](https://fasterthanli.me/about) |

## Compilers, Parsers, Lexers

| name | topic | Pub. Year / Last Update | author |
|------|-------|--------|--------|
| [Lisperator - Implementing a programming language in Javascript](http://lisperator.net/pltut/) | Parsers, Javascript | - / - | [Mihai Bazon](https://github.com/mishoo) |
| [Crafting Interpreters](https://www.craftinginterpreters.com/) | Compilers, Java, C | 2015 / - | [Bob Nystrom](https://twitter.com/munificentbob) |
| [Let's Build a Simple Interpreter](https://ruslanspivak.com/lsbasi-part1/) | Interpreters, Python | 2015 / - | [Ruslan Spivak](https://ruslanspivak.com/pages/about/) |
| [Build Your Own Lisp](http://www.buildyourownlisp.com/) | Compilers, C | 2015 / - |[Daniel Holden](https://github.com/orangeduck) |
| [Make a Language with Rust](https://arzg.github.io/lang/) | Parsers, Lexers, Rust | 2020 / 2020 | [Aramis Razzaghipour](https://github.com/arzg) |

## Computer Graphics
| name | topic | author |
|------|-------|--------|
| [Scratch A Pixel](https://www.scratchapixel.com/) | Computer Graphics | [Jean-Colas Prunier](https://twitter.com/Scratchapixel) |
|[Tiny Renderer](https://github.com/ssloy/tinyrenderer) | Rendering | [Dmitry V. Sokolov](https://github.com/ssloy) |
|[The Book of Shaders](https://thebookofshaders.com/) :warning: | Shaders | [Patricio Gonzalez](http://patriciogonzalezvivo.com/) |
|[3D Game Shaders for Beginners](https://lettier.github.io/3d-game-shaders-for-beginners/index.html) | Shaders | [David Lettier](https://www.lettier.com/) |
|[Vulkan Tutorial](https://vulkan-tutorial.com/Introduction)| Computer Graphics |-|
|[Physically Based Rendering: From Theory to Implementation](http://www.pbr-book.org/)| Rendering |[Matt Pharr](https://github.com/mmp), [Wenzel Jakob](https://github.com/wjakob), and Greg Humphreys|
|[Raytracing In One Weekend](https://raytracing.github.io/)| Rendering | [Peter Shirlay](https://github.com/petershirley) |
|[Learning Modern 3D Graphics Programming](https://paroj.github.io/gltut/)| Computer Graphics | Jason L. McKesson |
|[3D Math Primer for Graphics and Game Development](https://gamemath.com/book/intro.html)| Computer Graphics | Fletcher Dunn, Iann Parbery |
|[Computer Graphics from Scratch](https://gabrielgambetta.com/computer-graphics-from-scratch/)| Computer Graphics | [Gabriel Gambetta](https://gabrielgambetta.com/index.html) |

## Game Programming

| name | topic | author |
|------|-------|--------|
| [Game Programming Patterns](http://gameprogrammingpatterns.com/contents.html) | Game Programming, C++ | [Bob Nystrom](https://twitter.com/munificentbob) |
|[Unreal Cpp](https://unrealcpp.com/) | Game Programming, Computer Graphics | [Harrison McGuire](https://unrealcpp.com/) |
|[Roguelike Tutorial in Rust + Tcod](https://tomassedovic.github.io/roguelike-tutorial/) | Game Programming, Rust | [Tomas Sedovick](https://github.com/tomassedovic) |
|[Roguelike Tutorial in Rust](https://bfnightly.bracketproductions.com/rustbook/chapter_0.html)| Game Programming, Rust | [Herbert Wolverson](https://github.com/thebracket) |
|[How to Make a Roguelike](https://hexworks.org/posts/tutorials/2018/12/04/how-to-make-a-roguelike.html)| Game Programming, Kotlin | [Adam Arold](https://github.com/adam-arold) |
|[Game Programming Tutorials](https://bell0bytes.eu/game-programming/)| Game programming, C++ | [Gilles Bellot](https://gitlab.com/Symplectos) |

## Software Engineering

| name | topic | author |
|------|-------|--------|
|[Refactoring Guru](https://refactoring.guru/) | Design Patterns | [Alexander Shvets](https://github.com/shvets) |
|[System Design Primer](https://github.com/donnemartin/system-design-primer)| System Design, Scalability | [Donne Martin](https://github.com/donnemartin) |

## Web Development

| name | topic | Pub. Year / Last Update |author |
|------|-------|--------|--------|
| [How to GraphQL](https://www.howtographql.com/)| GraphQL | 2018 / 2020 |[Many Authors](https://github.com/howtographql/howtographql) |
| [Mozilla Developer Network Tutorials](https://developer.mozilla.org/en-US/docs/Web/Tutorials)| Web Development | - |[Many Authors](https://developer.mozilla.org/en-US/docs/MDN/Community) |
| [High Performance Browser Networking](https://hpbn.co/) | Networking, Web Performance | - | [Ilya Grigorik](https://www.goodreads.com/author/show/6889482.Ilya_Grigorik) |
| [OAuth Simplified](https://www.oauth.com/)| OAuth | - | [Aaron Parecki](https://github.com/aaronpk) |
| [OWASP Cheatsheet](https://cheatsheetseries.owasp.org/) | Web Security | 2020 (C.U.) | [OWASP Foundation](https://owasp.org/) |
| [useHooks](https://usehooks.com/) | React Hooks | 2018 / 2020 | [Gabe Garland](https://twitter.com/gabe_ragland) |
| [FullStack Redux Tutorial](https://teropa.info/blog/2015/09/10/full-stack-redux-tutorial.html) | Redux | 2015 | [Tero Parviainen](https://teropa.info/) |
|[Soundcloud clone with React + Redux](https://www.robinwieruch.de/the-soundcloud-client-in-react-redux) | React, Redux | 2016 | [Robin Wieruch](https://www.robinwieruch.de/) |
| [Explore Flask](http://exploreflask.com/en/latest/preface.html) | Python, Flask | 2014 |[Robert Picard](https://github.com/rpicard) |
| [TDD With Python](https://www.obeythetestinggoat.com/pages/book.html#toc) | Python, Django | 2016 / 2017 | [Harry Percival](https://github.com/hjwp) |
| [Flask Mega Tutorial](https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world) | Python, Flask | - / 2017 | [Miguel Grinberg](https://github.com/miguelgrinberg) |
| [Django Book](https://django-book.readthedocs.io/en/latest/)| Python, Django | 2012 / 2013 | [Matt Behrens](https://github.com/askedrelic) |
| [Testing Angular - A Guide to Robust Angular Applications](https://testing-angular.com/) | Angular | 2021 | [Mathias Schäfer](https://twitter.com/molily) |
| [Haskell and Yesod](https://www.yesodweb.com/book) | Haskell, Yesod | 2015 / - |[Michael Snoyman](https://github.com/snoyberg) |
| [Web Browser Engineering](https://browser.engineering/) | Browsers | 2021 / - | [Pavel Panchekha](https://browser.engineering/blog/) |
| [Cosmic Python \| Architecture Patterns with Python ](https://www.cosmicpython.com/)| Web Server Architecture, Python | 2020 | [Harry Percival](https://github.com/hjwp), [Bob Gregory](https://github.com/bobthemighty)|

## Databases

| name | topic | author |
|------|-------|--------|
|[SQL Server Tutorial](https://www.sqlservertutorial.net/)| SQL Server, T-SQL | - |
|[MySQL Tutorial](https://www.mysqltutorial.org/)| MySQL | - |
|[PostgreSQL Tutorial](https://www.postgresqltutorial.com/)| PostgreSQL | - |

## Security & Criptography

| name | topic | Pub. Year | author |
|------|-------|--------|--------|
| [Practical Criptography With Go](https://leanpub.com/gocrypto/read) | Criptography, Go | 2015 | - |

## Algorithms

| name | topic | author |
|------|-------|--------|
|[Interactive Coding Challenges](https://github.com/donnemartin/interactive-coding-challenges)| Algorithms | [Donne Martin](https://github.com/donnemartin) |
|[Data Structures with Java](https://joshhug.gitbooks.io/hug61b/) | Data Structures | [Joshua Hug](https://www2.eecs.berkeley.edu/Faculty/Homepages/joshhug.html) |
|[Codeforces Algorithms And Data Structures](http://codeforces.com/blog/entry/13529) | Algorithms | Many Authors |
|[Codeforces Competitive Programming Tutorials](http://codeforces.com/blog/entry/57282) | Algorithms | Many Authors |
|[CodeChef Data Structures And Algorithms](https://discuss.codechef.com/t/data-structures-and-algorithms/6599) | Algorithms | Many Authors |
|[E-Maxx Algorithms](https://cp-algorithms.com/) | Algorithms | Many Authors |
|[Topcoder Tutorials](https://www.topcoder.com/community/competitive-programming/tutorials/) | Algorithms | Many Authors |

## Data science

| name | topic | author |
|------|-------|--------|
|[Data Science Notebooks](https://github.com/donnemartin/data-science-ipython-notebooks) | Data Science, Python | [Donne Martin](https://github.com/donnemartin) |
|[The Foundations of Data Science](http://www.cs.cornell.edu/courses/cs1380/2018sp/textbook/) | Data Science | [Ani Adikhari](https://statistics.berkeley.edu/people/ani-adhikari) and [John Denero](http://denero.org/) |
|[Machine Learning Topic Explanations](https://leonardoaraujosantos.gitbooks.io/artificial-inteligence/content/) | Machine Learning | [Leonardo Araujo Santos](https://github.com/leonardoaraujosantos) |
|[Interpretable Machine Learning](https://christophm.github.io/interpretable-ml-book/) | Machine Learning | [Christoph Molnar](https://github.com/christophM) |
|[Neural Networks And Deep Learning](http://neuralnetworksanddeeplearning.com/) | Machine Learning | [Michael Nielsen](http://michaelnielsen.org/) |
|[MIT: Convolutional Neural Networks for Visual Recognition](http://cs231n.github.io/) | Machine Learning | [Andrej Karpathy](https://cs.stanford.edu/people/karpathy/) |

## Programming Languages

| name | topic | author |
|------|-------|--------|
| [Typealias](https://typealias.com/) | Kotlin | [Dave Leeds](https://twitter.com/djleeds) |
| [The Rust Book](https://doc.rust-lang.org/book/) | Rust | [Steve Klabnik](https://www.steveklabnik.com/) and [Carol Nichols](https://github.com/carols10cents) |
| [The Rustonomicon](https://doc.rust-lang.org/nomicon/index.html) | Rust | - |
| [Learn Go With Tests](https://quii.gitbook.io/learn-go-with-tests/) | Go | [Chris James](https://github.com/quii) |
| [Effective Go](https://golang.org/doc/effective_go.html) | Go | - |
| [Go by Example](https://gobyexample.com/) | Go | [Mark Mcgranaghan](https://markmcgranaghan.com/) & [Eli Bendersky](https://eli.thegreenplace.net/) |
| [Go 101](https://go101.org/) | Go | - |
| [Eloquent Javascript](https://eloquentjavascript.net/) | Javascript |[Marijn Haverbeke](https://github.com/marijnh) |
| [Javascript Garden](http://bonsaiden.github.io/JavaScript-Garden/) | Javascript | [Ivo Wetzel](https://github.com/BonsaiDen) |
| [Understanding ES6](https://leanpub.com/understandinges6/read) | Javascript, EcmaScript 6 | [Nicholas Zakas](https://leanpub.com/u/nzakas) |
| [Javascript Enlightenment](https://frontendmasters.com/books/javascript-enlightenment/) | Javascript, EcmaScript 6 | [Cody Lindley](http://codylindley.com/) |
| [Javascript For Impatient Programmers](https://exploringjs.com/impatient-js/index.html)| Javascript | [Axel Rauschmayer](https://dr-axel.de/) |
| [Deep Javascript](https://exploringjs.com/deep-js/toc.html)| Javascript | [Axel Rauschmayer](https://dr-axel.de/) |
| [Tackling Typescript](https://exploringjs.com/tackling-ts/toc.html) | Typescript | [Axel Rauschmayer](https://dr-axel.de/) |
| [Typescript Deep Dive](https://basarat.gitbook.io/typescript/) | Typescript | [Helmut Tammen](https://github.com/htammen) |
| [F# For Fun And Profit](https://swlaschin.gitbooks.io/fsharpforfunandprofit/content/) | F# | [Scott W.](https://fsharpforfunandprofit.com/about/) |
| [Learn You A Haskell For A Great Good](http://learnyouahaskell.com/chapters) | Haskell |[Mirân Lipovaca](http://learnyouahaskell.com/faq) |
| [Real World Haskell](http://book.realworldhaskell.org/read/) | Haskell | Bryan O'Sullivan, Don Stewart, and John Goerzen |
| [Edulinq](https://codeblog.jonskeet.uk/category/edulinq/) | C#, LINQ | [Jon Skeet](https://github.com/jskeet) |

## Programming Paradigms

| name | topic | author |
|------|-------|--------|
|[Mostly Adequate Guide to Functional Programming](https://mostly-adequate.gitbooks.io/mostly-adequate-guide/) | Functional Programming, Javascript | [Many Authors?](https://github.com/MostlyAdequate) |
|[Functional Programming in OCaml](https://www.cs.cornell.edu/courses/cs3110/2019sp/textbook/) | Functional Programming, OCaml | [Many Authors](https://www.cs.cornell.edu/courses/cs3110/2019sp/textbook/) |

## Programming Tools

| name | topic | author |
|------|-------|--------|
|[MIT - The Missing Semester of Your CS Education](https://missing.csail.mit.edu/) | terminal tools | Many Authors |
|[Pro Git](https://git-scm.com/book/en/v2) | Git | [Ben Straub](https://github.com/ben) |
|[Learn Vimscript The Hard Way](https://learnvimscriptthehardway.stevelosh.com/) | Advanced Vim | [Steve Losh](https://stevelosh.com/) |
|[Software Tools in Javascript](https://stjs.tech/)| Software Tooling | [Greg Wilson](https://github.com/gvwilson) |

## Mathematics

| name | topic | author |
|------|-------|--------|
|[Mathematics for Programmers](https://jeremykun.com/main-content/) | Mathematics | [Jeremy Kun](https://jeremykun.com/about/) |
|[Nature of Code](https://natureofcode.com/book/)| Mathematics, Artistic Programming | [Daniel Shiffman](https://shiffman.net/about/) |
|[Interactive Linear Algebra](https://textbooks.math.gatech.edu/ila/index.html)| Linear Algebra| Dan Margalit, [Joseph Rabinoff](https://github.com/QBobWatson) |

# Why make this repository?

I made this repository because I couldn't keep all of the websites that I found with good content in my head, so I decided to put on github since it's the website I use the most. It currently doesn't have a lot of websites, but if you know any that isn't listed here, please do a pull request.