Differences between revisions 2 and 18 (spanning 16 versions)
Revision 2 as of 2012-05-03 12:25:36
Size: 449
Editor: saliola
Comment:
Revision 18 as of 2012-05-05 19:47:11
Size: 12742
Editor: saliola
Comment:
Deletions are marked like this. Additions are marked like this.
Line 6: Line 6:
Tutorial I
----------
*Using the Sage notebook and navigating the help system*

    * leader: Franco Saliola

 * 14h30 : `Tutorial II`_ : *Calculus and Linear Algebra in Sage*
 * 14h30 : `Tutorial III`_: *Programming in Python and Sage*, Florent Hivert
 * 11h30 : `Tutorial IV`_: *Contributing to Sage*, Anne Schilling
 * 11h30 : `Tutorial V`_: *Cython*, Florent Hivert
**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

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:

 -

 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/

.. 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:
.. _`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/

Sage Days 38 Tutorials

For the main Sage Days 38 wiki page go here.

Tutorial I: Using the Sage notebook and navigating the help system

Leader: Franco Saliola

Worksheet:

Resources:

Tutorial II: Calculus and Linear Algebra in Sage

Leader: Franco Saliola

Worksheet:

Resources:

Tutorial III: Programming in Python and Sage

Leader: Florent Hivert

Worksheet:

Related thematic tutorials:

Learn-to-program resources:

Python resources:

Tutorial IV: Contributing to Sage

Leader: Anne Schilling

Guides:

Videos:

Related thematic tutorials:

ReStructuredText resources:

Mercurial resources:

Tutorial V: Cython

Leader: Florent Hivert

Worksheet:

Related thematic tutorials:

Resources:

days38_tutorials (last edited 2012-05-11 15:02:37 by slabbe)