Worksheets:
Resources:
- Calculus Quick Reference Card
- Sage Calculus Tutorial
- Linear Algebra Quick Reference Card
- Sage Constructions: "How do I construct ... in Sage?"
Worksheet:
Additional Sage worksheets (for self-study):
- Collatz conjecture: practice writing functions, plotting and interact while exploring the 3n+1-conjecture.
- Dictionaries and Graph Theory: learn about dictionaries through graph theory exercises. (The Graph Theory Quick Reference Card might come in handy.)
- Strings and the Burrows-Wheeler Transform: learn about strings while exploring the Burrows-Wheeler Transform.
Related thematic tutorials:
- Comprehensions, Iterators, and Iterables
- Objects and Classes in Python and Sage
- Functional Programming for Mathematicians
- Testing a conjecture in parallel
- Implementing Algebraic Structures
- How to implement new algebraic structures in Sage
Learn-to-program resources:
- Project Euler: Project Euler is a series of challenging mathematical/computer programming problems that will require more than just mathematical insights to solve. This is a great source of problems to attempt while learning Sage/Python. (Projet Euler en Français; Проект Эйлера (Russian).)
- Learn to Code: The Full Beginner's Guide from lifehacker.com: 5 lessons on the basics of programming (PDF version)
- Google's Exploring Computational Thinking
- Python challenge
Python resources:
- Learn Python in 10 minutes (disponible en français)
- Instant Python: a minimal crash-course in Python.
- Discover Python is a series of articles published in IBM's developerWorks technical resource center.
- Dive into Python is a Python book for experienced programmers. Also available in other languages.
- Code Like a Pythonista: Idiomatic Python is an interactive tutorial that covers many essential Python idioms and techniques in depth.
- Python tutorial: the "official" Python tutorial from the Python Software Foundation
- Learn Python the Hard Way is a very beginner book for people who want to learn to code.
- Google's Python class for people with a little bit of programming experience; includes videos of lecture, written materials and exercises.
- Python Programming Wikibook
- Python Standard Library
- High Performance Python
- Good to great Python reads by Jesse Noller, a collection of articles, books, classes on Python (includes a section on "Python Must Reads")
- A Guide to Python's Magic Methods: the methods surrounded by double underscores (e.g. __init__ or __lt__).
Here are some slides on how to get start with contributing to Sage; and here is a version of the slides hosted on github: Getting Started With SageMath Development
Resources:
- Cython: all the benefits of Python with the speed of C
- Cython tutorial: describes the Cython language and shows how it can be used both to write optimized code and to interface with external C libraries.
- Cython user's guide
- Cython, Sage, and the Need for Speed
- Getting Started With Cython
- Python extensions with C libraries made easy by Cython