Bonus Points Rewards Program

Table of Contents

Help others and help yourself. Bonus points!

1 What?

Bonus points are available for doing anything that, in the staff’s opinion, is Awesome. What’s Awesome? A good guideline is the Three Laws of Bonusotics:

  1. A bonus-point accumulating activity (BPAA) goes above and beyond the standard expectations of the course.
  2. A BPAA contributes to the learning of the student who did it without detracting from others’ learning and preferably contributes to the entire class’s learning. “Learning” is broadly defined.
  3. There is no other Law, but there have to be Three Laws.

The course staff has sole discretion over whether an activity qualifies for bonus points and how many to award. To calibrate, we will usually award one bonus point at a time and won’t award more than 4 at a time without national news coverage.

2 Examples

  1. Posting on [Piazza] about an interesting connection between course material and general current events, or an interesting update on or application of Haskell, Prolog, functional programming, or logic programming in the news.
  2. Posting something especially scintillating on the discussion board, particularly if it gains acclaim from your peers.
  3. Following up on an open question raised during class (by searching the literature, designing an illustrative program, performing experiments, etc.) and posting a summary of the results.
  4. Posting an insightful and entertaining parody version of a popular song that centres around functional/logic programming concepts. (E.g., for inspiration, Depeche Module’s Enjoy the Soundness (yeah.. that a PS file).)
  5. Establishing a weekly, open 312 study period by setting up a Zoom room or the like and posting an open invitation on Piazza.
  6. Brilliantly extending the Haskell Typeclassopedia.
  7. Anything else the course staff deem worthy.

3 Why?

Well, besides being good for you (like spinach), bonus points lead to the following fabulous rewards1:

Finally, the class as a whole will also accumulate rewards. For every bonus point you accumulate, we will donate $1 (to a maximum of $512) in the class’s name to Engineers Without Borders, who are also quite used to bewildering language diversity. (Donation will occur as a unit near the end of the term.)


  1. Rewards may not be fabulous. Fabulous items may not be rewards. Bonus points may not be pointy. Haskell may not be as tasty as Curry. Prolog may not contain wood. If you earn 27 bonus points, we’ll figure out what to do. Do not taunt Happy Fun Ball.↩︎