PLAN: first half -- use Python! second half -- SAGE is the math library to make Python better for you. * sage days 5 -- invitiation to people * sage days 6 -- bristol in nov * open source means you can easily look at the source (not true for Magma; impossible if just a consultant) * open source means you can easily look at the source (not true for Mathematica) * notebook security -- inside version not secure, but hopefully soon; outside is. * what can sage do for you? * integrated graphs * quality high level language * very nice easy programming language: object oriented -- clean! * python <--> perl : more readable. * list of functionality - big chunk of matlab (via scipy/numpy/cvxopt) --------------------------------------------------------------------- Structure: 10 minutes: Python 10 minutes: SAGE 20 minutes: discussion Section 1: Python Python is a popular well-supported open source modern interpreted language: * Extremely easy for you to define your own class and methods on it. bitstreams, ciphers, rings, whatever (This works much better than in Magma or Mathematica.) * Very clean language that results in easy to *read* code. * Extremely easy to learn -- people who know how to program can typically learn enough python to be productive in a day. http://www.diveintopython.org/ * An *huge* number of libraries: statistics, networking, databases, bioinformatic, physics, video games, 3d graphics, and serious mathematics (via SAGE) * Excellent builtin support for things like string manipulation and bit fiddling. * Cython -- a Python compiler (http://www.cython.org). * Neat software written using Python: - SCONS - Mercurial - SAGE Section 2: SAGE Section 3: Discussion