> For the complete documentation index, see [llms.txt](https://books.codepath.org/student-handbook/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://books.codepath.org/student-handbook/bonus/learning-cs-online.md).

# Learning Computer Science

In this section, we look at the top places to study Computer Science online

### Getting Started

* Start with the [free Harvard CS50 course on EDX](https://www.edx.org/course/cs50s-introduction-to-computer-science). Check out the sub [r/cs50](https://www.reddit.com/r/cs50) has a lot of like minded people learning together.
* [Open Source Society University](https://github.com/open-source-society/computer-science): *This is a solid path for those of you who want to complete a Computer Science course on your own time, for free, with courses from the best universities in the World.*
* Learn Java OOP (here is an excellent course): [Java MOOC](https://java-programming.mooc.fi/)

### Web Development

* [Free Code Camp](https://www.freecodecamp.com/) for web development
* [Colt Steele](https://www.udemy.com/the-web-developer-bootcamp/) has a good web dev course and is highly recommended to do in parallel with FreeCodeCamp
* [The Rails Tutorial](https://www.railstutorial.org/) by Michael Hartl is the Bible for learning Ruby on Rails

### Specialized and Advanced Topics

* Build your own operating system: [NAND2TETRIS](http://www.nand2tetris.org/)
* For x86 assembly: <http://opensecuritytraining.info/IntroX86.html>
* For deeper knowledge of OOP check out Sandi Metz’s [POODR](http://www.poodr.com/)
* The canonical handbook for C Programming: [K\&R](https://www.amazon.com/Programming-Language-2nd-Brian-Kernighan/dp/0131103628)

### Other Resources

* [Stackoverflow](http://stackoverflow.com/) is your friend where you can ask any question you have or bounce ideas off of others.
* [Cave of Programming](https://www.caveofprogramming.com/) : All kinds of programming
* [r/arduino](https://www.reddit.com/r/arduino) for some embedded programming fun!
* Courses for anything under the sun: <https://www.edx.org/> & <https://www.coursera.org/>

### Articles and Posts

* [The MIT Challenge](https://www.scotthyoung.com/blog/myprojects/mit-challenge-2/) is Scott Young’s blog on how he completed the entire 4 year MIT Computer Science curriculum in 12 months
