{{{#!rst Sage Days 38 Tutorials ====================== **For the main Sage Days 38 wiki page go** `here`__. __ days38 Tutorial I: Using the Sage notebook and navigating the help system ------------------------------------------------------------------ Leader: Franco Saliola Worksheet: - `Using the Sage Notebook and navigating the help system`_ (here is the `html version`__ of this worksheet) __ http://combinat.sagemath.org/doc/thematic_tutorials/tutorial-notebook-and-help-long.html Resources: - `Sage Quick Reference Card`_ - `The Sage tutorial`_ - `Sage Constructions`_: "How do I construct ... in Sage?" - `Sage documentation`_: the standard documentation and other resources - `Calcul mathématique avec Sage`_ (`download PDF`__) __ http://purple.lateralis.org/sagebook-r1014.pdf Tutorial II: Calculus and Linear Algebra in Sage ------------------------------------------------ Leader: Franco Saliola Worksheet: - `Calculus and Linear Algebra in Sage`_ (`html version of the calculus part`__ and `html version of the linear algebra part`__ of the worksheet) __ http://combinat.sagemath.org/doc/thematic_tutorials/siena_tutorials/Worksheet04-CalculusPlottingInteract.html __ http://combinat.sagemath.org/doc/thematic_tutorials/siena_tutorials/Worksheet06-LinearAlgebra.html Resources: - `Calculus Quick Reference Card`_ - `Sage Calculus Tutorial`_ - `Linear Algebra Quick Reference Card`_ - `Sage Constructions`_: "How do I construct ... in Sage?" Tutorial III: Programming in Python and Sage -------------------------------------------- Leader: Florent Hivert Worksheet: - `Programming in Python and Sage`_ (`html version`__ of this worksheet) __ http://combinat.sagemath.org/doc/thematic_tutorials/tutorial-programming-python.html - Additional Exercises (Sage worksheets): - `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: - `Loops and Iterators`_ - `Objects and Classes in Python and Sage`_ - `Functional Programming for Mathematicians`_ - `Testing a conjecture in parallel`_ - `Implementing Algebraic Structures`_ 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. - `Dive into Python`_ is a Python book for experienced programmers. Also available in French, `Plongez au coeur de Python`_, and `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. - `Discover Python`_ is a series of articles published in `IBM's developerWorks`_ technical resource center. - `Python Programming Wikibook`_ - `Python Standard Library`_ - `High Performance Python`_ Tutorial IV: Contributing to Sage --------------------------------- 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`_: - `Walking Through the Development Process`_ - `Review a patch`_ Videos: - `Contributing to Sage : Who, What and How`_: video of a talk by William Stein Related thematic tutorials: - `Editing the Sage sources`_ ReStructuredText resources: - `Quick reStructuredText`_: quick reference for reStructuredText - `reStructuredText`_: more detailed reference - `reStructuredText (saifoo.net)`_ Mercurial resources: - `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`_ Tutorial V: Cython ------------------ Leader: Florent Hivert Worksheet: - `Florent's Cython Tutorial`_ Related thematic tutorials: - `Introduction to Cython`_ 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`_ .. links .. attachments .. _`Using the Sage Notebook and navigating the help system`: attachment:tutorial1.sws .. _`Calculus and Linear Algebra in Sage`: attachment:tutorial2.sws .. _`Programming in Python and Sage`: attachment:tutorial3.sws .. _`Collatz conjecture`: attachment:CollatzConjecture.sws .. _`Dictionaries and Graph Theory`: attachment:Dictionaries-GraphTheory.sws .. _`Strings and the Burrows-Wheeler Transform`: attachment:Strings-BWT.sws .. quick references .. _`Sage Quick Reference Card`: http://wiki.sagemath.org/quickref?action=AttachFile&do=get&target=quickref.pdf .. _`Linear Algebra Quick Reference Card`: http://wiki.sagemath.org/quickref?action=AttachFile&do=get&target=quickref-linalg.pdf .. _`Calculus Quick Reference Card`: http://wiki.sagemath.org/quickref?action=AttachFile&do=get&target=quickref-calc.pdf .. _`Graph Theory Quick Reference Card`: http://wiki.sagemath.org/quickref?action=AttachFile&do=view&target=quickref-graphtheory.pdf .. _`Elementary Number Theory Quick Reference Card`: http://wiki.sagemath.org/quickref?action=AttachFile&do=get&target=quickref-nt.pdf .. thematic tutorials .. _`Loops and Iterators`: http://combinat.sagemath.org/doc/thematic_tutorials/tutorial-iterators.html .. _`Objects and Classes in Python and Sage`: http://combinat.sagemath.org/doc/thematic_tutorials/tutorial-objects-and-classes.html .. _`Functional Programming for Mathematicians`: http://combinat.sagemath.org/doc/thematic_tutorials/functional_programming.html .. _`Testing a conjecture in parallel`: http://combinat.sagemath.org/doc/thematic_tutorials/tutorial-parallel.html .. _`Implementing Algebraic Structures`: http://combinat.sagemath.org/doc/thematic_tutorials/tutorial-implementing-algebraic-structures.html .. _`Introduction to Cython`: http://combinat.sagemath.org/doc/thematic_tutorials/siena_tutorials/Worksheet10-IntroductionToCython.html .. Sage: .. _`Sage`: http://www.sagemath.org .. _`The Sage tutorial`: http://www.sagemath.org/doc/tutorial .. _`A tour of Sage`: http://www.sagemath.org/doc/a_tour_of_sage/index.html .. _`Exploring Mathematics with Sage`: http://vps.arachnoid.com/sage .. _`Sage documentation`: http://sagemath.org/help.html#SageStandardDoc .. _`Sage: Creating a Viable Free Open Source Alternative to Magma, Maple, Mathematica, and MATLAB`: http://sagemath.blogspot.com/2011/08/sage-creating-viable-free-open-source.html .. _`Sage Constructions`: http://sagemath.org/doc/constructions .. _`Sage Calculus Tutorial`: http://www.sagemath.org/calctut/ .. _`Calcul mathématique avec Sage`: http://sagebook.gforge.inria.fr/ .. Contributing to Sage: .. _`How to contribute to Sage`: http://thales.math.uqam.ca/~labbes/Sage/how-to-contribute/ .. _`How to Referee Sage Trac Tickets`: http://sagemath.blogspot.com/2010/10/how-to-referee-sage-trac-tickets.html .. _`Editing the Sage sources`: http://combinat.sagemath.org/doc/thematic_tutorials/tutorial-editing-sage-sources.html .. _`Introduction to Sage Development`: http://wiki.sagemath.org/days20.5/schedule?action=AttachFile&do=view&target=sd20.5.pdf .. _`Short step-by-step checklist for reviewing a patch`: https://www.evernote.com/shard/s16/sh/f30e5eb9-70a9-4882-818b-333c690942bf/d7a138e2705c25b8da6e2053950a89d5 .. _`Sage Developer's Guide`: http://sagemath.org/doc/developer/index.html .. _`Walking Through the Development Process`: http://sagemath.org/doc/developer/walk_through.html .. _`Review a patch`: http://sagemath.org/doc/developer/walk_through.html#reviewing-a-patch .. _`Contributing to Sage : Who, What and How`: http://vimeo.com/14044496 .. Python: .. _`Python website`: http://www.python.org .. _`Python tutorial`: http://docs.python.org/tutorial/ .. _`Learn Python in 10 minutes`: http://www.korokithakis.net/tutorials/python .. _`disponible en français`: http://mat.oxyg3n.org/index.php?post/2009/07/26/Python-en-10-minutes .. _`Dive into Python`: http://diveintopython.net/ .. _`Plongez au coeur de Python`: http://diveintopython.adrahon.org/ .. _`other languages`: http://diveintopython.net/#languages .. _`Discover Python`: http://www.ibm.com/developerworks/views/opensource/libraryview.jsp?search_by=Discover+Python+Part .. _`IBM's developerWorks`: http://www.ibm.com/developerworks/ .. _`Learn Python the Hard Way`: http://learnpythonthehardway.org .. _`Code Like a Pythonista: Idiomatic Python`: http://python.net/~goodger/projects/pycon/2007/idiomatic/handout.html .. _`Google's Python class`: http://code.google.com/edu/languages/google-python-class .. _`Python Programming Wikibook`: http://en.wikibooks.org/wiki/Python_Programming .. _`Python Standard Library`: http://docs.python.org/library/ .. _`Instant Python`: http://hetland.org/writing/instant-python.html .. _`High Performance Python`: http://ianozsvald.com/2011/07/25/high-performance-python-tutorial-v0-2-from-europython-2011 .. Cython: .. _`Florent's Cython Tutorial`: http://combinat.sagemath.org/doc/thematic_tutorials/tutorial-programming-cython.html .. _`Cython`: http://cython.org/ .. _`A quick Cython introduction`: http://www.perrygeo.net/wordpress/?p=116 .. _`Cython tutorial`: http://conference.scipy.org/proceedings/SciPy2009/paper_1/ .. _`Cython user's guide`: http://docs.cython.org/ .. _`Cython, Sage, and the Need for Speed`: http://sagemath.blogspot.com/2010/11/cython-sage-and-need-for-speed.html .. _`Getting Started With Cython`: http://sagemath.blogspot.com/2010/11/getting-started-with-cython.html .. _`Python extensions with C libraries made easy by Cython`: http://equatorialmaths.wordpress.com/2010/10/16/python-extensions-with-c-libraries-made-easy-by-cython/ .. ReStructuredText: .. _`Quick reStructuredText`: http://docutils.sourceforge.net/docs/user/rst/quickref.html .. _`reStructuredText`: http://docutils.sourceforge.net/rst.html .. _`Sphinx Markup Constructs`: http://sphinx.pocoo.org/markup/index.html .. _`reStructuredText (saifoo.net)`: http://www.siafoo.net/help/reST/ .. _`ReText`: http://sourceforge.net/p/retext/home/ReText .. Mercurial: .. _`Hg Init: a Mercurial Tutorial`: http://hginit.com/ .. _`Learning Mercurial in Workflows`: http://mercurial.selenic.com/guide .. _`Mq Tutorial`: http://mercurial.selenic.com/wiki/MqTutorial .. _`A Git User’s Guide to Mercurial Queues`: http://stevelosh.com/blog/2010/08/a-git-users-guide-to-mercurial-queues/ .. Learn to Program: .. _`Project Euler`: http://projecteuler.net/ .. _`Projet Euler en Français`: http://eulerdz.toile-libre.org .. _`Проект Эйлера`: http://euler.jakumo.org .. _`Learn how to code this weekend`: http://lifehacker.com/5733449/learn-how-to-code-this-weekend .. _`Learn to Code: The Full Beginner's Guide`: http://lifehacker.com/#!5744113/learn-to-code-the-full-beginners-guide .. _`PDF version`: http://dl.dropbox.com/u/3448760/Learn%20How%20To%20Code.pdf .. _`LifeHacker.com`: http://www.lifehacker.com .. _`Python challenge`: http://www.pythonchallenge.com .. _`Exploring Computational Thinking`: http://www.google.com/edu/computational-thinking/ .. Teaching with Sage: .. _UTMOST: http://utmost.aimath.org/ }}}