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 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

Book - Clean Code: A Handbook of Agile Software Craftsmanship (Not free!)

Books - Free programming books list

Blog - Free Code Camp blog

Blog - Idle Words talks transcripts

Tutorial - HTTP Can Do That?!, by Sumana Harihareswara (PyCon 2016)

Video - Minimum Viable Documentation, by Matthew Lyon (WriteTheDocs 2014)

Video - NoOps, by Kelsey Hightower (DepOpsDays 2016)

Video - The mind behind Linux (TED interview)

Tutorial - Learn code the hard way

Tutorial - What happens when…

Article - An Interview With Linus Torvalds

Article - Effective Learning Strategies for Programmers

Article - Readme Driven Development

Article - Systematic Debugging

Paper - Floating-Point Arithmetic

Python

Video - Intro to Python for beginners, by Jessica McKellar (PyCon 2013)

Video - Breaking the rules, by Jessica McKellar (PyCon Sweden)

Video - Build & break a Python sandbox, by Jessica McKellar (PyCon 2014)

Video - Cache me if you can, by Guillaume Ardaud (PyCon 2014)

Video - Loop like a native, by Ned Batchelder (PyCon 2013)

Video - Modern Dictionaries, by Raymond Hettinger (SF Python)

Video - Python Language, by Guido van Rossum (PyCon 2016)

Video - The Mighty Dictionary, by Brandon Rhodes (PyCon 2010)

Article - Static types in Python, oh my(py)!

Guide - The Hitchhiker’s Guide to Python!

Java/Android

Course - Android Development for Beginners

Blog - Java Tutorials for Beginners

JavaScript/ECMAScript

Tutorial - clean-code-javascript Software engineering principles

Course - React native and redux course (Not free!)

Video - TypeScript vs. CoffeeScript vs. ES6

TypeScript

Tutorial - TypeScript handbook section on base types

Book - TypeScript Deep Dive

Guide - TypeScript Declaration Files Introduction

Git/version control systems (VCS)

You may want to take a look first at our Git and GitHub guide.

Computer science/algorithms

Blog - GeeksforGeeks

Book Introduction to Algorithms (Not free!)

Blog - Setosa data visualization and visual explanations

Course - Algorithms, Part I

Course - Open Source Society University

Course - MIT CSAIL 6.828: Operative Systems Engineering

Community experience

Book - Producing Open Source Software

Article - Advice on Starting And Running A New Open Source Project

Article - How to ask good questions

Article - Notes for New FLOSS Contributors

Article - To be mentored

Article - To mentor

List of good projects for new contributors

Competitions/camps

CodeForces

Free Code Camp

Massive open online courses (MOOC) platforms

Coursera

edX

MIT OpenCourseWare

Udacity