2017-01-10 18:40:25 +01:00
# Reading list
Here you can find a list of relevant resources that you may find useful for
learning new skills, or polishing the ones you already have.
The topics cover a wide variety of topics, from basic Python coding to
general developing guidelines.
Feel free to create a pull request in Zulip's [GitHub repository](
https://github.com/zulip/zulip/) with any interesting books, articles or
videos you would like to see in this list.
Some titles have been shortened for organizational purposes.
## General programming/IT
2021-08-21 00:09:11 +02:00
*Book* - [Clean Code: A Handbook of Agile Software Craftsmanship ](https://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882 ) *(Not free!)*
2017-01-10 18:40:25 +01:00
2021-08-21 00:09:11 +02:00
*Books* - [Free programming books list ](https://github.com/vhf/free-programming-books )
2017-01-10 18:40:25 +01:00
2021-08-21 00:09:11 +02:00
*Blog* - [Free Code Camp blog ](https://medium.freecodecamp.com )
2017-01-10 18:40:25 +01:00
2021-08-21 00:09:11 +02:00
*Blog* - [Idle Words talks transcripts ](https://idlewords.com/talks )
2017-01-10 18:40:25 +01:00
2021-08-21 00:09:11 +02:00
*Tutorial* - [HTTP Can Do That?!, by Sumana Harihareswara (PyCon 2016) ](https://youtu.be/HsLrXt2l-kg )
2017-01-10 18:40:25 +01:00
2021-08-21 00:09:11 +02:00
*Video* - [Minimum Viable Documentation, by Matthew Lyon (WriteTheDocs 2014) ](https://youtu.be/bEZcodengwk )
2017-01-10 18:40:25 +01:00
2021-08-21 00:09:11 +02:00
*Video* - [NoOps, by Kelsey Hightower (DepOpsDays 2016) ](https://youtu.be/ajT90pC3ris )
2017-01-10 18:40:25 +01:00
2021-08-21 00:09:11 +02:00
*Video* - [The mind behind Linux (TED interview) ](https://youtu.be/o8NPllzkFhE )
2017-01-10 18:40:25 +01:00
2021-08-21 00:09:11 +02:00
*Tutorial* - [Learn code the hard way ](https://learncodethehardway.org )
2017-01-10 18:40:25 +01:00
2021-08-21 00:09:11 +02:00
*Tutorial* - [What happens when... ](https://github.com/alex/what-happens-when )
2017-01-10 18:40:25 +01:00
2021-08-21 00:09:11 +02:00
*Article* - [An Interview With Linus Torvalds ](https://techcrunch.com/2012/04/19/an-interview-with-millenium-technology-prize-finalist-linus-torvalds )
2017-01-10 18:40:25 +01:00
2021-08-21 00:09:11 +02:00
*Article* - [Effective Learning Strategies for Programmers ](https://akaptur.com/blog/2015/10/10/effective-learning-strategies-for-programmers/ )
2017-01-10 18:40:25 +01:00
2021-08-21 00:09:11 +02:00
*Article* - [Readme Driven Development ](https://tom.preston-werner.com/2010/08/23/readme-driven-development.html )
2017-01-10 18:40:25 +01:00
2021-08-21 00:09:11 +02:00
*Article* - [Systematic Debugging ](https://akaptur.com/blog/2013/07/24/systematic-debugging )
2017-01-10 18:40:25 +01:00
2021-08-21 00:09:11 +02:00
*Paper* - [Floating-Point Arithmetic ](https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html )
2017-01-10 18:40:25 +01:00
## Python
2021-08-21 00:09:11 +02:00
*Video* - [Intro to Python for beginners, by Jessica McKellar (PyCon 2013) ](https://youtu.be/rkx5_MRAV3A )
2017-01-10 18:40:25 +01:00
2021-08-21 00:09:11 +02:00
*Video* - [Breaking the rules, by Jessica McKellar (PyCon Sweden) ](https://youtu.be/C0fnHhY9UOc )
2017-01-10 18:40:25 +01:00
2021-08-21 00:09:11 +02:00
*Video* - [Build & break a Python sandbox, by Jessica McKellar (PyCon 2014) ](https://pyvideo.org/pycon-us-2014/building-and-breaking-a-python-sandbox.html )
2017-01-10 18:40:25 +01:00
2021-08-21 00:09:11 +02:00
*Video* - [Cache me if you can, by Guillaume Ardaud (PyCon 2014) ](https://pyvideo.org/pycon-us-2014/cache-me-if-you-can-memcached-caching-patterns.html )
2017-01-10 18:40:25 +01:00
2021-08-21 00:09:11 +02:00
*Video* - [Loop like a native, by Ned Batchelder (PyCon 2013) ](https://youtu.be/EnSu9hHGq5o )
2017-01-10 18:40:25 +01:00
2021-08-21 00:09:11 +02:00
*Video* - [Modern Dictionaries, by Raymond Hettinger (SF Python) ](https://youtu.be/p33CVV29OG8 )
2017-01-10 18:40:25 +01:00
2021-08-21 00:09:11 +02:00
*Video* - [Python Language, by Guido van Rossum (PyCon 2016) ](https://youtu.be/YgtL4S7Hrwo )
2017-01-10 18:40:25 +01:00
2021-08-21 00:09:11 +02:00
*Video* - [The Mighty Dictionary, by Brandon Rhodes (PyCon 2010) ](https://pyvideo.org/pycon-us-2010/the-mighty-dictionary-55.html )
2017-01-10 18:40:25 +01:00
2021-08-21 00:09:11 +02:00
*Article* - [Static types in Python, oh my(py)! ](https://blog.zulip.org/2016/10/13/static-types-in-python-oh-mypy )
2017-01-10 18:40:25 +01:00
2021-08-21 00:09:11 +02:00
*Guide* - [The Hitchhiker’ s Guide to Python! ](https://docs.python-guide.org/ )
2017-01-10 18:40:25 +01:00
## Java/Android
2021-08-21 00:09:11 +02:00
*Course* - [Android Development for Beginners ](https://www.udacity.com/course/android-development-for-beginners--ud837 )
2017-06-01 11:15:19 +02:00
2021-08-21 00:09:11 +02:00
*Blog* - [Java Tutorials for Beginners ](https://www.geeksforgeeks.org/java/ )
2017-06-01 11:15:19 +02:00
2017-01-10 18:40:25 +01:00
## JavaScript/ECMAScript
2021-08-21 00:09:11 +02:00
*Tutorial* - [clean-code-javascript Software engineering principles ](https://github.com/ryanmcdermott/clean-code-javascript )
2017-01-10 18:40:25 +01:00
2021-08-21 00:09:11 +02:00
*Course* - [React native and redux course ](https://www.udemy.com/course/the-complete-react-native-and-redux-course/ ) (*Not free!*)
2017-01-10 18:40:25 +01:00
2021-08-21 00:09:11 +02:00
*Slides* - [TypeScript vs. CoffeeScript vs. ES6 ](https://www.slideshare.net/NeilGreen1/type-script-vs-coffeescript-vs-es6 )
2017-01-10 18:40:25 +01:00
2019-03-28 20:55:05 +01:00
## TypeScript
2021-08-21 00:09:11 +02:00
*Tutorial* - [TypeScript handbook section on base types ](https://www.typescriptlang.org/docs/handbook/basic-types.html )
2019-03-28 20:55:05 +01:00
2021-08-21 00:09:11 +02:00
*Book* - [TypeScript Deep Dive ](https://basarat.gitbooks.io/typescript/ )
2019-03-28 20:55:05 +01:00
2021-08-21 00:09:11 +02:00
*Guide* - [TypeScript Declaration Files Introduction ](https://www.typescriptlang.org/docs/handbook/declaration-files/introduction.html )
2019-03-28 20:55:05 +01:00
2020-08-11 01:47:54 +02:00
## Git/version control systems (VCS)
2017-01-10 18:40:25 +01:00
2021-08-21 00:09:11 +02:00
You may want to take a look first at our [Git and GitHub guide ](../git/index.md ).
2017-01-10 18:40:25 +01:00
2020-08-11 01:47:54 +02:00
## Computer science/algorithms
2017-01-10 18:40:25 +01:00
2021-08-21 00:09:11 +02:00
*Blog* - [GeeksforGeeks ](https://www.geeksforgeeks.org )
2017-01-10 18:40:25 +01:00
2021-08-21 00:09:11 +02:00
*Book* [Introduction to Algorithms ](https://mitpress.mit.edu/books/introduction-algorithms ) (*Not free!*)
2017-01-10 18:40:25 +01:00
2021-08-21 00:09:11 +02:00
*Blog* - [Setosa data visualization and visual explanations ](https://setosa.io )
2017-01-10 18:40:25 +01:00
2021-08-21 00:09:11 +02:00
*Course* - [Algorithms, Part I ](https://www.coursera.org/learn/algorithms-part1 )
2017-01-10 18:40:25 +01:00
2021-08-21 00:09:11 +02:00
*Course* - [Open Source Society University ](https://ossu.firebaseapp.com )
2017-01-10 18:40:25 +01:00
2021-08-21 00:09:11 +02:00
*Course* - [MIT CSAIL 6.828: Operative Systems Engineering ](https://pdos.csail.mit.edu/6.828/2016 )
2017-01-10 18:40:25 +01:00
## Community experience
2021-08-21 00:09:11 +02:00
*Book* - [Producing Open Source Software ](https://producingoss.com/en/ )
2017-01-30 19:24:59 +01:00
2021-08-21 00:09:11 +02:00
*Article* - [Advice on Starting And Running A New Open Source Project ](https://www.harihareswara.net/sumana/2016/08/04/1 )
2017-01-30 19:24:59 +01:00
2021-08-21 00:09:11 +02:00
*Article* - [How to ask good questions ](https://jvns.ca/blog/good-questions )
2017-01-10 18:40:25 +01:00
2021-08-21 00:09:11 +02:00
*Article* - [Notes for New FLOSS Contributors ](https://www.harihareswara.net/sumana/2016/10/12/0 )
2017-01-10 18:40:25 +01:00
2021-08-21 00:09:11 +02:00
*Article* - [To be mentored ](https://trueskawka.github.io/zulip/outreachy/blog/2017/01/02/to-be-mentored.html )
2017-01-10 18:40:25 +01:00
2021-08-21 00:09:11 +02:00
*Article* - [To mentor ](https://trueskawka.github.io/zulip/outreachy/gci/blog/2017/01/03/to-mentor.html )
2017-01-10 18:40:25 +01:00
2021-08-21 00:09:11 +02:00
[List of good projects for new contributors ](https://github.com/MunGell/awesome-for-beginners )
2017-01-10 18:40:25 +01:00
2020-08-11 01:47:54 +02:00
## Competitions/camps
2017-01-10 18:40:25 +01:00
2021-08-21 00:09:11 +02:00
[CodeForces ](https://codeforces.com )
2017-01-10 18:40:25 +01:00
2021-08-21 00:09:11 +02:00
[Free Code Camp ](https://www.freecodecamp.com )
2017-01-10 18:40:25 +01:00
2020-08-11 01:47:54 +02:00
## Massive open online courses (MOOC) platforms
2017-01-10 18:40:25 +01:00
2021-08-21 00:09:11 +02:00
[Coursera ](https://www.coursera.org )
2017-01-10 18:40:25 +01:00
2021-08-21 00:09:11 +02:00
[edX ](https://www.edx.org )
2017-01-10 18:40:25 +01:00
2021-08-21 00:09:11 +02:00
[MIT OpenCourseWare ](https://ocw.mit.edu )
2017-01-10 18:40:25 +01:00
2021-08-21 00:09:11 +02:00
[Udacity ](https://www.udacity.com )