$\DeclareMathOperator{\p}{Pr}$ $\DeclareMathOperator{\P}{Pr}$ $\DeclareMathOperator{\c}{^C}$ $\DeclareMathOperator{\or}{ or}$ $\DeclareMathOperator{\and}{ and}$ $\DeclareMathOperator{\var}{Var}$ $\DeclareMathOperator{\E}{E}$ $\DeclareMathOperator{\std}{Std}$ $\DeclareMathOperator{\Ber}{Bern}$ $\DeclareMathOperator{\Bin}{Bin}$ $\DeclareMathOperator{\Poi}{Poi}$ $\DeclareMathOperator{\Uni}{Uni}$ $\DeclareMathOperator{\Exp}{Exp}$ $\DeclareMathOperator{\N}{N}$ $\DeclareMathOperator{\R}{\mathbb{R}}$ $\newcommand{\d}{\, d}$

The Probability Challenge

Due: Saturday, March 9th, 11:59pm


We're pleased to announce the Stanford CS109 Probability for Computer Scientists Challenge! This challenge is completely optional (and in the genuine sense of the word optional – not in some mischievous "this is extra credit but if you don’t do it, your grade will suffer" sort of way). Our intention is to give you space to have fun with the material, to be inspired, and to yourself inspire others. It's also a way for you to demonstrate what you have learned this quarter.

For the challenge, design a probability driven project of your choosing that highlights concepts from the class and does something interesting. Each of you is eligible to submit one entry for the challenge, where an entry consists of a screen capture and a short write-up of the probability theory behind your work. The challenge entries will be due Saturday, March 9th at 11:59pm. We will announce the winners by Friday, March 14th, though as we will explain, you win just by playing!

Who is This For?

Creative Learner: Do you love being creative? Do you excel at learning when you have to think outside the box? Then the Challenge is for you!

Beyond Exam: Do you feel like you are unable to show what you know in an exam setting? The Challenge is for you! Show us what you know by being creative with the material.

Pushing Limits: Do you feel like you have mastered the basics, and you want to see what is the upper limits of what you can do? The challenge is for you!

Genuinely Optional

This challenge is genuinely optional. We appreciate that many of you are busy, so our intention is not to create any more required work. When we say optional, we really mean it. We will only apply bonuses for the challenge after we have calculated final grades for the class. If you don’t participate you are going to get the exact same final grade in CS109 as you would have received had there been no challenge.

Evaluation Criteria

The entries will be evaluated by the CS 109 staff (see official rules below) with the following in mind:

  1. Creativity. We are looking for original ideas that showcase unique thought. This dimension will be reflected in how novel your work is. Similarly, we encourage work that is aesthetically interesting.
  2. Impact. We will give special consideration to work that seems to have the potential for positive social benefit.
  3. Academic Sophistication. This dimension is based on the difficulty of the underlying probability, how well the ideas relate to the concepts presented in CS109 and how well you are able to articulate your ideas.

An entry does not have to be strong on all dimensions, but it helps if it hits multiple objectives. For example a submission that is an expression of a truly creative idea will be well received, even if it does not rely on the most difficult concepts from CS109 and doesn’t have much social impact. All submissions should be ethically sound and, especially, should not harm society (since this is subjective, please feel free to chat to us if you think there is some grey area). Do: make a project that shows off CS109 material. Don't: feel like you need to force an impact area into your project.

Here are three projects from the past that we have loved. They include a range of CS109 topics, and applications:

Prizes

We will reward all serious challenge entries with extra credit, based on the amount of effort that was included, the mixture of CS109 and creativity, and most importantly, how much it updates our belief that you have understood the core material of CS109. Everyone wins by playing. In addition we are going to give at least one grand prize. If you win a grand prize we will replace all of your exam scores with 100%.

Submission Format

Your submission will have two parts, a demonstration video and a short writeup (the minimum needed to explain what is cool and probabilistic about your submission).

The demonstration video: Time expectation, 5 mins. Only in exceptional circumstances should you go over (eg your project is a lesson and you need more time).

Short Writeup: Max length 3 pages. You can have an appendix with further derivations / figures if necessary. Your main argument should fit in 3 pages.

Use the two submission parts in anyway you like. If your idea is best expressed via a writeup, you can submit a short and sweet video. If your entry is best expressed via a video, you can keep your writeup minimal. Less is more!

Submission logistics will be posted here closer to the date.

Official rules

  1. Entries to this challenge are beholden to the Stanford Honor Code.
  2. Only students registered in CS 109 are eligible to submit entries in the challenge. Only one entry per person will be accepted.
  3. Your project must be something you've not worked on before, and it can't be something you're concurrently working on for another class.
  4. No groups are allowed. Individual work only.
  5. You can code your submission in any programming language.
  6. You may use LLMs such as GPT-4 to help you in any way. Please include in your writeup how you used GPT-4. This seems like a great opportunity to learn how to create using LLMs as a tool.
  7. All entries must be submitted electronically on Gradescope. Include both a link to your demonstration video and a PDF of your write up.
  8. Your submission must come in by Saturday, March 9th at 11:59pm. Late entries will not be accepted.
  9. You may ask Jerry or the TAs for help during office hours, however they will give priority to students working on problem sets.
  10. You are free to use any of the probability ideas we have gone over in class.
  11. If you use a concept we didn’t cover, the concept should be close enough to the material that you could explain it in terms of things we have learned in CS109.
  12. To keep things fair, we are not going to give credit for using advanced python libraries (e.g. tensorflow or pytorch). You could use them, but we won't consider it demonstration of CS109 concepts and your submission should involve probability beyond any library you use.

That's all!

Don't forget to have fun!