🎉 C14008 Website

C14008 Lecture 6: Challenge Day

Visit challenge.julia.party for the Challenge Day dashboard.


Before the challenge

  1. Read these rules! It's important that you know how Challenge Day will run before class because time will be tight.

    • Follow the rules in good faith, as the instructors intend for them to followed. Loopholes are lame.

    • If you have any questions with these rules, email us at c14008-teachers@esp.mit.edu and we'll help you out.

  2. Visit the Challenge Day spreadsheet at challenge.julia.party, which will open Saturday morning.

    • You will not be able to attempt any problems that are crossed out. These are problems we attempted in class or were assigned for homework.

  3. Get to class on time, before 1:35 EDT. At this time, we'll place you into teams of 4 using breakout rooms.

During the challenge

  1. The challenge will start at 1:40 EDT and will last for 60 minutes.

  2. Choose problems to solve that are not crossed out or claimed by other teams (which will be highlighted in green) by weighing the point value against how difficult you think the problem will be to solve.

    • Each problem can only be solved by one team, so choose carefully.

    • The spreadsheet will be updating live throughout the class as problems are solved.

    • You can also check the "Queue" tab of the dashboard to see what problems are being attempted.

    • All solutions to the problems must be ideated and written during the 45 minute challenge, so you can't choose problems any member of your group has previously solved.

  3. Use the Julia documentation and any online resources you like, short of directly looking up the solutions to the Euler problems.

    • Violations of this rule include reading blog posts with mathematical solutions to the Euler problem or solutions in other programming languages than Julia.

    • As long as what you're reading doesn't reference Project Euler or the specific problem you're solving, you're probably okay. For example, looking up "lattice paths" is fine, but looking up "project euler problem lattice paths" is not.

  4. Collaborate with your team to solve the problems. We recommend turning on your cameras and having someone screenshare as you develop your solutions.

    • You can share pieces of code using the Zoom chat functionality or a collaborative workspace like repl.it.

  5. To demonstrate that you have solved a problem (and claim it on the spreadsheet), fill out this google form to enter the queue. We'll come to your breakout room to verify you have solved the problem and briefly review your code.

    • To help us, please keep the Euler page with a green checkmark open.

    • We may ask you to run your code for us to verify that it works.

    • All solutions must be written in Julia and without the PyCall module.

  6. Every entry in the queue submitted before 2:40 EDT will be allowed to claim solutions.

After the challenge

  1. Each team will get 1 minute per problem to redeem their solutions to the problems they solved.

  2. For each problem you solve, to redeem your points, a random member of your group will be selected to present your solution to the class. Whoever has the code can screenshare for the group, but the random member must be the one to present, without help from the group.

    • To get credit, you must briefly walk through your code, explain your strategy, and why it works.

    • A good presentation consists of a concise restatement of the problem, clean code, and a coherent explanation.

    • If the random team member is unable to explain your work sufficiently, then you will not be able to redeem your points for that problem.

  3. The team with the highest number of points redeemed wins the challenge! There is no prize, so just do your best. 😊

After class

  1. Congrats on finishing Julia! Thanks for learning with us and sticking around. We appreciate all the effort and hard work y'all have put into this class. ♥

  2. We'll probably play scribbl lol