New Member Guide
What Is Competitive Programming?
Competitive programming is an activity where participants compete to solve problems using algorithmic techniques within a given time limit.
Choosing the Right Editor
Competitive programming is about quickly programming an efficient, correct solution to a problem. Naturally, in your computer science career, you'll need to choose a text editor or integrated development enviroment to work on.
While there are a lot of text editors available for use, there are some that are highly recommended by ACM @ UCI users:
Most, if not all problems, require reading in some form of input and outputting an answer based on that input. Thus, being able to quickly and efficiently read input is critical to succeeding in competitive programming.
Most programming languages have functions that read in input, including Python and C++.
That's it! While this may seem easy, many more coding paradigms and methods are often tied together in order for a problem to be solved. With enough practice and time, you can intuitively determine which of these methods to use when solving a problem.
If you're looking for a place to start or are looking to enhance your knowledge of data structures and algorithms, there's nothing better than reading through a guide that contains all the information you need!
If watching videos helps you learn better, there are a lot of competitive programming resources available on YouTube as well!
If you prefer a more academic path, many universities post recordings of past lectures on data structures and algorithms.
The best way to get better at competitive programming is to practice! ACM @ UCI often uses these websites for meetings, presentations, and contests.
There are also other websites where you can focus solely on improving your knowledge of competitive programming.