Tag Archives: algorithms

Bringing current events into the technical classroom

I spent last summer thinking about how to bring something related to the climate crisis into my fall undergraduate algorithms class.  In this class, I have converged on having 4-5 projects covering iterative, divide and conquer, dynamic programming, linear programming and heuristics.  These projects each have a practical component where an algorithm is implemented.  Linear programming seemed to be the tool that I could use to “solve” some problem in climate change.  It wasn’t until I stumbled upon this article by Robert Vanderbei suggesting an upper-level class project wherein students fit a curve to daily temperature recordings.  The suggested curve is the superposition of

  • a sinusoidal curve with a period of one year to model the change in seasons,
  • a sinusoidal curve with a period of 10.7 years to model the solar cycle, and
  • a linear term representing any drift in mean daily temperatures.

I adapted the suggested project to my class and had them fit such a curve, using GLPK, to 60 years of daily temperature recordings for Corvallis.

Corvallis_plot_min_max

I provided the students with the data and offered bonus credit for students who repeated the project for another location (downloading data from NOAA).  The students found the project challenging but seemed to appreciate the tangibility of the project, so I think I will likewise adapt other projects. The students could then interpret the coefficient of the linear term as the amount of warming in average daily temperatures.

A few interesting things came up.  For example, apparently two different versions of GLPK find two different “optimal” solutions to the same LP — with different values.  For more details, please see the project description.

Next year, I think I will have them choose their own location by default as I think it is a useful experience to clean data …

Undergraduate algorithms study guide

A year ago, I was just finishing putting together materials for the new online version of our undergraduate algorithms course.  I’ve finally compiled all that material into one webpage: available here. There are a few things not yet posted, but this is essentially the content of our undergraduate algorithms course less the assignments and exams. As when I teach the on-site course, I relied heavily on material from others, notably:

Though the “interactive questions” were written by me, they were not implemented by me.  I have to thank Oregon State University’s eCampus group for that.

Hopefully this will be helpful to others, though it assumes the particular prerequisites of our program …