Michi’s blog » archive for 'Teaching'

[Stanford] MATH 198: Category Theory and Functional Programming

  • August 29th, 2009

Category theory, with an origin in algebra and topology, has found use in recent decades for computer science and logic applications. Possibly most clearly, this is seen in the design of the programming language Haskell – where the categorical paradigm suffuses the language design, and gives rise to several of the language constructs, most prominently the Monad.

In this course, we will teach category theory from first principles with an eye towards its applications to and correspondences with Haskell and the theory of functional programming. We expect students to previously or currently be taking CS242 and to have some level of mathematical maturity. We also expect students to have had contact with linear algebra and discrete mathematics in order to follow the motivating examples behind the theory expounded.

Wednesdays at 4.15.

Online notes will appear successively on the Haskell wiki on http://haskell.org/haskellwiki/User:Michiexile/MATH198

Soliciting advice

  • July 22nd, 2009

Dear blogosphere,

come this fall, I shall be teaching. My first lecture course, ever.

The subject shall be on introducing Category Theory from the bottom up, in a manner digestible for Computer Science Undergraduates who have seen Haskell and been left wanting more from that contact.

And thus comes my question to you all: what would you like to see in such a course? Is there any advice you want to give me on how to make the course awesome?

The obvious bits are obvious. I shall have to discuss categories, functors, (co)products, (co)limits, monads, monoids, adjoints, natural transformations, the Curry-Howard isomorphism, the Hom-Tensor adjunction, categorical interpretation of data types. And all of it with explicit reference to how all these things influence Haskell, as well as plenty of mathematical examples.

But what ideas can you give me to make this greater than I’d make it on my own?

Restarting high school topology

  • May 21st, 2008

My two high-school kids came by today. We’ve been trying to get a new teaching session together since early February, but they had a hell of a time all through February, and all our appointments ended up canceled with little or no notice; and then I spent March and April on tour.

We pressed on with knot theory. Today, we discussed knot sums, prime knots, knot tabulation, behavior of the one invariant (n-colorability) we know so far under knot sums, Dowker codes, and we got started on Conway codes for knots. Next week, I plan for us to finish up talking about the Conway knot notation, get the connection between rational knots and continued fractions down pat, and start looking into new invariants.

My topology students move into knot theory

  • February 1st, 2008

So, here’s the plan for my 10th grade topology students.

Today, we’ll abandon algebraic topology completely, and instead go into knot theory. I’ll want to discuss what we mean by a knot (embedding of S^1 in S^3), what we mean by a knot deformation (thus introducing isotopies while we’re at it) and the Reidemeister moves. Also we’ll discuss knot invariants – and their use analogous to topological invariants.

Later on, we’ll continue with other invariants; definitely including the Jones polynomial, and possibly even covering Khovanov homology. One possible end report would be to explain a bunch of knot invariants and show using examples how these have different coarseness.

Edited to add: I got myself some damn smart students. They figured out the Reidemeister moves on their own – as well as minimal crossing number in a projection being highly relevant – with basically no prompting from me. I’m impressed.

Planning the future

  • December 14th, 2007

The last meeting with my 10th grade topology kids this year just finished. We introduced singular homology, calculated the singular homology of a point and discussed homeomorphism invariance.

Next term, we’ll want to show homotopy invariance and that the singular and simplicial homology coincide when applicable. After that, we’ll change directions slightly.

The future after that holds knot theory, was decided today. We’ll want to introduce knots, look at Reidemeister moves and basic knot invariants. I use basic here in a pretty wide sense – we’ll probably do the Jones polynomial and we might even end up doing Khovanov homology if I feel particularly insane late spring.

High school topology restarting

  • November 16th, 2007

Today, I told my two bright students about abstract and geometric simplicial complexes, about the boundary map and the chain complex over a ring R associated with a simplicial complex Δ, and assigned them reading out of Hatcher’s Algebraic Topology.

The next couple of weeks will be spent doing homology of simplicial complexes, singular homology, equivalence of the two, neat things you can do with them; and then we’ll start moving towards a Borsuk-Ulam-y topological combinatorics direction.

I might end up pulling combinatorics papers from my old “gang” in Stockholm on graph complexes, and graph property complexes, and poke around those with them.

Young Topology: The fundamental groupoid

  • May 4th, 2007

Today, with my bright topology 9th-graders, we discussed homotopy equivalence of spaces and the fundamental groupoid. In order to get the arguments sorted out, and also in order to give my esteemed readership a chance to see what I’m doing with them, I’ll write out some of the arguments here.

I will straight off assume that continuity is something everyone’s comfortable with, and build on top of that.

Homotopies and homotopy equivalences

We say that two continuous maps, f,g:X→Y between topological spaces are homotopical, and write f\simeq g, if there is a continuous map H\colon X\times[0,1]\to Y such that H(x,0)=f(x) and H(x,1)=g(x). This captures the intuitive idea of step by step nudging one map into the other in formal terms.

Two spaces X,Y are homeomorphic if there are maps f\colon X\to Y,f^{-1}\colon Y\to X such that ff^{-1}=\operator{Id}_Y and f^{-1}f=\operator{Id}_X.

Two spaces X,Y are homotopy equivalent if there are maps f\colon X\to Y,f^{-1}\colon Y\to X such that ff^{-1}\simeq\operator{Id}_Y and f^{-1}f\simeq\operator{Id}_X.

Bright students and topology

  • March 2nd, 2007

Today, I started an experiment together with the local specialised secondary school. I’ll be taking care of two of their brightest students, meeting them roughly once a week, and taking them on a charge through algebraic topology. At the far end shimmers knot theory and other funky applications; and on the way there, I hope for many interesting spinoffs and avenues.

They got, today, Armstrong’s Basic Topology, and an extract from the German topology book by Jänich, and on monday, we shall go over the formal definition of topological spaces, and of continuous functions together.

I plan to keep updates on our progress here on the blog – with the questions I send them off with each meeting as well as some sort of discussion about how this setup is working out, if at all.

For the first trip, the questions I dumped in their laps were:

  • What topologies are possible on the set {0,1}?
  • What topologies are possible on the set {0,1,2}?
  • Which are the continuous functions between the topologies above?
  • Give an example of a continuous and a discontinuous function each for the following cases
    1. f\colon\mathbb R\to\mathbb R with the standard topology on \mathbb R
    2. f\colon\mathbb C\to\mathbb C with the standard topology on \mathbb C
    3. f\colon\mathbb Z\to\mathbb Z with the discrete topology
    4. f\colon\mathbb Z\to\mathbb Z with the finite-complement topology

post navigation
about
Michi is a recent PhD working in homological algebra and applied algebraic topology. This blog is his outlet for texts with some manner of thought put into them. Over at his LiveJournal intimate details and streams of consciousness might be found.
Not all here is mathematics. All here, though, are my personal thoughts and opinions. Please read the about page (linked above) for more details.
This blog uses statcounter.com for logging and traffic analysis. In order to identify return visitors, this site will issue a cookie on viewing the blog.
RSS Travel plans
Recent Comments
Tags
Categories
Blogroll
Family
Mathematician blogs
Archives
the rdc* theme