CoCalc Public Fileswww / wiki / 10(2f)480b.htmlOpen with one click!
Author: William A. Stein
Compute Environment: Ubuntu 18.04 (Deprecated)
 [top] [TitleIndex] [WordIndex]


Math 480b: Programming for the Working Mathematician

Course Description

We’re going to try to give you a view of the parts of the computer science world that we think are the most important for mathematics. We’ll be using the programming language Python, and the math software system Sage. Our goal is for you to all leave this course with the feeling that you now know much more about how to use a computer to help you attack mathematical problems, and enough “programming culture” to know what tools and techniques are available to make that easier.

Of course, this is a Herculean task. Computer science is its own discipline for a good reason – there’s a whole world of amazing and interesting things to learn, and there’s no way we could cover it all in a quarter. This means that we won’t be able to give you all the details of anything we’re doing; instead, we’ll have to settle for giving you the highlights, providing references if you want to know more, and trying to give you the chance to “get your feet wet” and learn about it all firsthand.

Course Info

The syllabus is here.

Schedule and Lectures


Grading and Project Info

Your grade will be determined by 50% project and 50% homework. Specific project details are coming soon.


Assignments should be submitted by email to whoever your assigned grader is for that assignment. (If it's less than two days before the HW is due, and you haven't yet received your grader assignment, e-mail Craig and remind him to send those out.) You can also cc [email protected] if you'd like to have a backup, in the event that your grader doesn't receive your assignment.

Graded assignments should be submitted by email to [email protected].

Useful Software Links

If you're looking for a good link to install something, you might find one here. If you find a useful link somewhere, let us know and we'll post it.

  • Python: you can't do better than this page.

  • Look here for more info about getting tab complete to work in Python.

  • Emacs:
    • On Linux, you should use your distribution's package manager, or try here.

    • On Mac OSX, there are a number of choices, but this is my favorite.

    • On Windows, this is one choice, though there may be better ones. This page seems to have a lot of google juice, so maybe that's a good sign?

  • VIM: I'd start here. Someone forwarded along this interesting visual tutorial, originally from here.

  • IPython: Again, they have an excellent download page with instructions.

  • Sage: The download page is the place to look. (Stay tuned for more info on a Cygwin Sage.)

  • Cygwin: Look no further than the homepage.


Previous 480s

2013-05-11 18:32