Below you will find worksheets and links to resources used for the tutorial sessions at Sage Days 38 and Sage Days 45.

Updated versions of the worksheets below that are can be used on SageMathCloud are available from this SageMath project.

Leader: Franco Saliola

Worksheets:

- Calculus in Sage (html version)
- Linear Algebra in Sage (html version)
- Calculus and Linear Algebra in Sage (Sage worksheet)
Resources:

- Calculus Quick Reference Card
- Sage Calculus Tutorial
- Linear Algebra Quick Reference Card
- Sage Constructions: "How do I construct ... in Sage?"

Leader: Florent Hivert

Worksheet:

- Programming in Python and Sage (html version)
- Programming in Python and Sage (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__).

Warning

The Sage project recently implemented a new workflow and some of the guides below need to be updated. For now, see the Sage Developer's Guide for more information.

Leader: Anne Schilling

Guides:

- How to Referee Sage Trac Tickets by William Stein
- How to contribute to Sage by Sébastien Labbé
- Introduction to Sage Development by Mike Hansen
- Short step-by-step checklist for reviewing a patch by Franco Saliola
- Sage Developer's Guide:
Videos:

- Contributing to Sage : Who, What and How: video of a talk by William Stein
Related thematic tutorials:

ReStructuredText resources:

- Quick reStructuredText: quick reference for reStructuredText
- reStructuredText: more detailed reference
- reStructuredText (saifoo.net)
Mercurial resources:

Note

This section is no longer relevant as Sage moved from mercurial to git.

- Hg Init: a Mercurial Tutorial. In this user-friendly, six-part tutorial, Joel Spolsky teaches you the key concepts of Mercurial.
- Learning Mercurial in Workflows. This page illustrates the use of Mercurial in various workflows.
- Mq Tutorial. A tutorial on Mercurial queues.
- A Git User’s Guide to Mercurial Queues

Leader: Florent Hivert

Worksheet:

Related thematic tutorials:

Resources:

- Cython: all the benefits of Python with the speed of C
- A quick Cython introduction
- 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