The current (as of this writing) state of affairs of second year CS courses is rather abysmal. They are aimed lower than the lowest common denominator and based off of the outdated and poor CS134 curriculum. As it stands students in the top half of CS136 and all students from CS145 are bored to tears and left bitter and angry about the field. The School has made some attempts at mending second year but they've been ineffective, ignored, or token superficial changes. Traditionally, the Club has picked up the School's slack and here we again find ourselves doing such.
To help the top students enjoy the material of second year (and to some extent first year) it has been proposed that we write a series of "enhancements" that introduce accessable and semi open ended tangents to the actual course material, in the hopes that they either become part of the curriculum or at least pressure the school to raise the bar.
This page will be used to track ideas, who is working on them, and how we'll publicize them once an adequate folio has been assembled for distribution along side courses.
Ideas can be posted in any level of detail, from a blank heading to a list of links to references. Once writing begins please mark your username next to the idea so that others know its in progress and to contact you for further discussion instead of wikiing. If a topic can be broken up, feel free to break it up.
Functional Lexing and Parsing
plragde will give a talk on this, after which its unclear who will write the enhancement from the talk slides
Formal Language Intro
A source of ideas, info, etc. Great Algorithms Course
Probabilistic Computational Geometry
Binomial Heaps done Lazy
The lack of mathematics used during analysis of algorithms, and the odd "proof" leaves something to be desired. More formality in the arguments would be helpful to students who learn this way and enjoy it.