January 27, Tuesday. SNOW DAY.
January 29, Thursday. class01
February 3, Tuesday. ANOTHER SNOW DAY.
Please read class02 before
the next class.
February 5, Thursday. class02
February 10, Tuesday. ANOTHER SNOW DAY. Assigned
Homework 2
February 12, Thursday. class03
February 17, Tuesday. NO CLASS AGAIN TODAY.
Read ahead in notes for class04 .
February 19, Thursday...
class04 .
February 24, Tuesday...
class05 .
February 26, Thursday...
class06.
March 3, Tuesday...
class07.
March 5, Thursday....
class08.
March 10, Tuesday....
class09.
March 12, Thursday....
class10.
Spring break March 15-22
March 24, Tuesday....
Character frequencies: Python dictionaries.
March 26, Thursday....
Cryptography. Substitution ciphers as an application for Python
dictionaries.
March 31, Tuesday....
Swami guest lecture - pseudocode for homework 5.
April 2, Thursday....
Lecture on literate programming - keeping documentation, code
and tests all in the same file. (Not quite what my TeX framework does,
but close.) Using the framework to tell the development story.
April 7, Tuesday....
Started mathematica. Spent a few minutes with the kernel application -
just a command line interpreter. That won't do for serious work.
Then opened a brand new notebook to play in. Arithmetic and variables
work the way you'd expect. Built in keywords start with an upper case
letter. They get arguments with brackets. Braces group. Checked out
Integrate, Plot, Sum, Function, Pi, Infinity.
Talked about using a notebook for literate programming. Saved our
notebook as a TeX file (it was enormous); couldn't compile it in TeX
since was missing a package and wasn't connected to the internet.
Mathematica help (via prompts) is very good. For one liners, you can
ask in English at Wolfram alpha and have it tell you mathematica
syntax.
April 9, Thursday....
Sage. Free as in speech/beer. What sage wraps for you
(e.g. GAP). Installing sage - virtual machines. Sage worksheets
(notebooks) - see the command line kernel under the covers.
Sage locally and in the cloud. Sage vs mathematica.
Sage and TeX:
www.sagemath.org/doc/tutorial/sagetex.html
www.ctan.org/tex-archive/macros/latex/contrib/sagetex/?lang=en
April 14, Tuesday....
April 16, Thursday....
The Mandelbrot set - mathematics, pictures, read naive Mathematica
implementation at
www.kellenmyers.org/ExpMath/mandel.html.
Not the most sophisticated code, but worth reading for an introduction
to Mathematica programming (beyond onw-liners), memoization and
complex arithmetic.
April 21, Tuesday....
Slicing cubes. Physical models. Challenge to find software tools for
3D visualization.
April 25, Thursday....
Brief look at Microsoft Mathematics. Why it's not suitable for this
course, and for math majors. But it did allow for a nice excursion
into superellipses and the L_p norms (in the plane).
Looked at the Mathematica function for finding convex hulls, and at
the Rhombic Dodecahedron notebook (downloaded from wolfram) to think
about implementing functions to draw cube slices, and dodecahedron
slices.
April 28, Tuesday....
Benford's law - the mathematics, and Python. See
benford directory for notes and code.
April 30, Thursday....
Revisited factoring using the rosetta code solution that implements
the Croft sieve - an algorithm we reinvented earlier this
semester. See the rather weird discussion at http://www.primesdemystified.com/,
croft.pdf and
croft.py. Digression
on Mersenne primes.
May 5, Tuesday....
Lucas Lehmer test. lucaslehmer.pdf,
lucaslehmer1.py,
lucaslehmer2.py.
May 7, Thursday....
May 12, Tuesday....
Sudoku in Python.