How to prepare for Hyper
What’s Hyper?
If you haven’t already heard, Hyper is our flagship event where 350 high schoolers come to one place and compete in a coding challenge for awesome prizes. We’ll be working on this for around 10 months before it’s ready for everyone. I know many people have been wondering how they can prepare and what to expect when they get there, so I’m writing this article to help answer some of your questions.
How’s Hyper made?
Hyper’s core system is made up of many microservices named for some of our favorite shows. It consists of the main frontend created with React.js and Next.js as well as our different backend services like The Queen’s Gambit which checks submitted answers and Ozark which generates different inputs for every team (both use Vercel Serverless Functions to operate). Everything we make is open sourced at our GitHub but will be closed source temporarily during the competition.
Do I need to know how to code?
This event has no prerequisites. We’ll have workshops teaching you how to code. But like all things in life, preparation is always handy. If you’re a complete beginner to coding, and you really want to win, I’d recommend using Codecademy to start your journey through software development. We recommend choosing JavaScript or Python as your first language. Once you’ve created some basic projects and learned how to code a few functions, you’ll be ready to answer the problems we make.
If you already know a scripting language (this means no HTML or CSS), then you should be ready to answer some coding problems. Our dev team consists of 1 person (me) so we don’t have a bunch of problems ready to hand out. However, we can give a couple.
How do I practice?
The Tower of Hanoi is a great problem to solve for intermediates and advanced coders. Look it up, and try to write an algorithm to solve it!
All of our problems contain an input and a question. Take the input and solve the question and submit a numerical answer. Here’s an example:
Diego is going to the Texas DMV where they have the longest line and the longest wait time. When Diego finally gets to the DMV, he notices the mile long line around the corner. Wondering why, he asks the security guard who responded saying “the clerks are having trouble sorting through the records, so it’s going to take a while”. You ask the security guard if you could help them, to which he responds “sure, go ahead”.
When you finally go to the clerks they have a tiny, just a tiny, problem. They can’t find the records because their password list is corrupted, and they need to fix it. They give you the list of passwords consisting of a password and the policy when that password was set. The answer is the number of valid passwords in the list.
This is how the list looks. I’ve simplified it for this example, but the algorithm to solve it is the same.
The first line means the letter a must appear at least 1 time and at most 3 times in the password abcc. This does happen to be the case, so this password is valid.
Following the list, we can see two valid passwords, the first one and the third one. The answer is therefore 2.
This problem has many solutions, some more efficient than others. Here’s how I solved this 2020 Advent of Code Day 2 Part 1 problem using JavaScript:
If you can’t read that, and you know JavaScript, then your best bet is to relearn JavaScript using the Codecademy link I provided above.
If you can read that, I won’t go through how it works, since it’s pretty self-explanatory, just go line-by-line.
We’ll be releasing a bunch of practice problems on our Medium page in the coming months so stay tuned. We’ll also be writing a couple of articles on what to expect and how teams work, etc.
Thanks for reading and I hope I answered some of your questions. If not, don’t be afraid to reach out to me specifically at sarthak@alamocityhacks.com or our team at team@alamocityhacks.com, so we can answer those for you.