Resources
Books
No book is required. But we highly recommend two books for this course.
- Fluent Python: Clear, Concise, and Effective Programming, by Luciano Ramalho. Publisher: O'Reilly Media. 2015.
- Designing Data Intensive Applications, by http://dataintensive.net/, The Big Ideas Behind Reliable, Scalable, and Maintainable Systems by Martin Kleppmann. Publisher: O'Reilly Media 2014
Other useful books
- The Practice of Programming by Brian W. Kernighan and Rob Pike, Addison-Wesley, 1999.
- Skiena: The Algorithm Design Manual
- Abelson, Sussmann and Sussmann: SICP and python based online version based on it: http://composingprograms.com/
- High Performance Python: By Micha Gorelick, Ian Ozsvald. Oreilly Media 2014.
- Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation by Andreas Griewank
Papers and other readings
Git
- GitHub Videos and Training
- GitHub Interactive Tutorial
- Git - the simple guide
- Git Reference
- Git Book (recommended reading)
- Git Cheat Sheet
- Git Immersion Tutorial
- Git Atlassian Tutorial
Python
- python
- Rich overview of Python 3 language features (recommended to work through)
C/C++
Vim
- Spend 30 minutes to complete the
vimtutor
. After you have installedvim
, execute the following command in your command line:vimtutor
- Vim Cheat Sheet
- Vimcasts
- Recommended book