About MicroCode
What is MicroCode?
MicroCode is a programming event created by the IT section of MicroClub at USTHB. Think Advent of Code, but set during Ramadan and wrapped in a space adventure. Every night, new challenges drop. Each one is a piece of a larger story. You read the narrative, download your unique puzzle input, write code in whatever language you want, and submit your answer.
There are no templates and no starter code. You get a problem and a pile of data. How you solve it is entirely up to you.
General Tips
If you get stuck, try your solution on the examples given in the problem statement first. Each challenge has a small example with a known answer. If your code works on that, try it on your full input. If you get an answer that seems wrong, make sure you are reading the entire input. Some challenges have tricky edge cases that only appear in the full data.
There is no time limit per challenge. A puzzle that unlocks on night 3 can be solved on night 7. The only thing that changes is your position on the speed leaderboard. If you care about points, solve fast. If you just want lanterns, take your time.
Read the problem statement carefully. Really carefully. The description intentionally includes misleading hints and traps designed to catch common implementation mistakes. Every word matters.
How It Works
Challenges unlock progressively throughout the event, usually in the evening to fit Ramadan schedules. Each challenge has two parts. You start with Part 1. Solve it correctly and Part 2 appears, building on the same input with a harder twist.
Every participant gets a unique puzzle input. Your answer will be different from everyone else's. Write code to compute it, paste the number, and submit. If it's correct, you light a lantern. Up to 2 lanterns per challenge.
You can use any programming language. Python, C, Rust, JavaScript, Java, Go, a shell script, a spreadsheet. We don't see your code. We only check your answer.
Scoring
Your score has two components: speed points and lantern bonuses.
For each challenge part, the first person to solve it earns 100 speed points. The second earns 99, the third 98, and so on. The 100th solver earns 1 point. After that, you still light the lantern, but with 0 speed points.
On top of that, every lantern you light gives you a flat +20 bonus points, regardless of how fast you solved it. So even if you solve a challenge days late, each lantern is still worth 20 points toward your total.
Your leaderboard score is the sum of all your speed points plus 20 for each lantern. Ties are broken by the timestamp of your most recent lantern.
IRL Finale
The top performers from the online phase qualify for an in-person coding showdown hosted at MicroClub. New challenges, same format, but this time you solve them live, side by side with the best. The IRL finale has its own leaderboard and its own set of lanterns.
FAQ
Who can participate?
MicroCode is open to members of MicroClub and the event's Discord community. Sign in with your Discord account to get started.
Do I need to be fast?
Only if you want speed points. Every lantern is worth 20 points no matter when you solve it. You can solve old challenges at any point during the event.
Why is my answer wrong?
Test your code on the example in the problem statement first. If that works, make sure you are reading and processing the full input, not just the first few lines. Also, read the problem statement again. Every word counts.
Can I use AI tools?
You can, but you probably shouldn't rely on them too much. The challenges are designed with traps that catch pattern-matching solvers. Understanding the problem yourself will get you further.
I found a bug!
Please reach out to the organizers via the Discord server. We appreciate bug reports.
Credits
MicroCode is built and organized by the IT section of MicroClub at USTHB.
