UD CPC

Watch IOI champion William Lin explain competitive programming:

About

What is Competitive Programming?
Competitive programming is a mind sport where you'll be given some set of algorithmic challenges and a fairly short amount of time to submit code that produces an exact solution. In this way it's not dissimilar to math competitions, though they are a bit more expansive since you can do more with a computer.

How to improve?
Unfortunately, there is no real shortcut. It is not a quick or easy process, the only way to get better is to practice. 'Practice' means solving problems, spending time working through problems and learning how to break down a problem to its core and logically think of the next steps. While it is still important to study theory, practicing problem solving skills should be your main focus.

It's also important to reflect on your time spent when you finish working on a problem.
  • How did you arrive at the solution?
  • What made you realize something would or wouldn't work?
  • If something didn't work why did you not realize the idea didn't work earlier?
  • Was this problem too easy?
To draw an analogy, lifting 100 pound weights 500 times won't help you do the 150 pound weights at all. It only makes you better at 100 pound weights, likewise doing easy problems only makes you better at easy problems.

If you didn't finish a problem, can't solve it, or are just exhausted
  • Was this problem too hard? (have no ideas)
  • Was there some data structure or optimization vou don't know how to make? (insufficient knowledge)
Again, these aren't easy questions to answer. The process isn't easy and it never will be (it's part of the reason so many of us enjoy it so much), the process of getting better is never ending. If you're ever feeling drained or feel like you stop having fun, it's ok to take breaks. Burnout is a real thing so make sure to take your mental health seriously too!

Resources

Meeting Info

Fall Semester Meetings: Thursdays 6:30pm - 8:00pm
Add to Google Calendar
Feel free to come and go at any time during this block!