The purpose of this ranklist app is twofold:

  1. As a gamification system to push the entire ~21 NUS students currently enrolled in Steven's CS3233 module to work as hard as they can...
  2. As a testing platform for Steven to self-learn Laravel framework, to be subsequently taught to Steven's CS3226 students :)

MC = Weekly Mini Contest (36%)

9 Weekly Mini Contests, three problems in 75 minutes, using Mooshak.
(9 weeks x (3%+0.5%+0.5%)/week = 36%).

  1. very easy/easy/warm-up/1-2 simple CP technique(s): 1%.
  2. medium/last week material, 2%.
  3. usually very hard and from topics not specifically taught in class, for CS3233R students, bonus 0.5% for CS3233/R students who can get this AC in contest time.

Occasionally, we may open problem D (or even E) which is (are) the easier form of problem A/B/C. We give bonus 0.5% for top 3 in each mini contest. We use strict binary grading (Accepted or not Accepted: Wrong Answer, Time Limit, Memory Limit, Runtime Error, etc) for our contests.

Two Team Contests (24%)

1 Midterm Team Contest (10%+0.5%=10.5%, 10 "original" problems, worth 1.0% each).
1 Final Team Contest (13%+0.5%=13.5%, 10 "original" problems, worth 1.3% each).
Bonus 0.5% for top 3 teams in both team contests.
Team size is three students.
If the class size is not divisible by 3, the last team can have 4 or 5 members.

Weekly Homework (15%)

10 Weekly Homework (10 weeks * 1.5%/week = 15%).
CP3.17 book review + solve certain written exercises + update the lecturer, 1.5%.
Scoring scheme: 0% = no submission, 0.5% = poor, 1% = default score, 1.5% superb.

Problem Bs (9%)

Solve problem B of last week's mini contest at home, on your own pace, by next Wed 04.30pm (closed by the time Wei Liang's consultation hour is over), if you fail to solve it during the live Mini Contest. Simply submit your code to Mooshak, TA will check your last submission @ Mooshak.

Scoring scheme:
0% = not AC in the actual mini contest and not attempted after one more week.
1% = managed to solve problem B during mini contest itself or before deadline.
There is no additional marks for solving problem C at home (for CS3233R students).

Kattis Set (12%)

We use [email protected] for this semester.

Steven selects ten targeted Kattis problems related to CS3233 topic of that week. To get 1% per week, student has to solve at least three (of any preferred difficulty level as indicated in Kattis) of the selected problems within the stipulated deadline (Wednesday night 09:00:00pm SGT of that week until Wednesday 08:59:59pm SGT of the following week).

  • Set #01, Ad Hoc
  • Set #02, Data Structures and Libraries
  • Set #03, Complete Search
  • Set #04, Dynamic Programming
  • Set #05, Graph 1 (Basics) and Special Cases of NP-hard Problems
  • NUS recess week (nothing is due this week)
  • Set #06, Graph 2 (Network Flow)
  • Set #07, Graph 3 (Shortest Paths, before Steven's baby no 3 birth day)
  • Set #08, Graph 4 (Matching and Special Graphs, after Steven's baby no 3 birth day)
  • Set #09, Mathematics
  • Set #10, String Processing
  • Set #11, Computational Geometry
  • Set #12, Mix and Match

Achievement System of CS3233 (17%)

One star = 1%, most achievements are manual entry:

  1. * Let it begins: Solve any 1st Kattis problem (thus having non zero point on Kattis) by Wed, 11 January 2017, 23:59 (this is after the introduction lecture).
  2. * Quick starter: Score at least 30 points on Kattis (approximately 20 easiest problems worth 1.5 points, or 20*1.5 = 30 points) by the end of Week01.
  3. *** Active in class: Subjective title for student who participated well during various class activities (answering in-lecture questions, asking/answering questions in real life or in our Facebook group, consultations (with Steven or Wei Liang on Wed 2.30-4.30pm), active in Kattis, etc), awarded by Steven throughout the semester (max claim: 3 times/student).
  4. *** Surprise us: Managed to surprise the teaching staffs by giving a better/more elegant solution/pinpoint bug in lecture, etc anytime during the semester (max claim: 3 times/student).
  5. * High determination: Objective title for student who always diligently solve (AC) problem B of all 10 weekly contests, be it during contest time or as homework assignment. This achievement will be auto updated by this system at the end of the semester.
  6. * Bookworm: Subjective title for student who diligently study and review CP3.17 book by the end of Week12 (at least 10*1.5% - 0.5% = 14.5% score, i.e. at most one 1.0 with the rest 1.5). This achievement will be auto updated by this system at the end of the semester.
  7. ****** Kattis apprentice: Be in top 25 (6%)/50 (5%)/100 (4%)/150 (3%)/200 (2%)/250 (1%) of Kattis ranklist by the end of Week13 (this achievement will NOT be updated weekly as this will keep changing every week).
  8. * CodeForces Specialist: Given to student who also join CodeForces contests and attain rating of at least 1400 (Cyan color) by the end of Week13 (this achievement will NOT be updated weekly as this will keep changing every week).