2016 Work Habits Checklist

With 2016 wrapping up, I have my traditional end-of-year review planned for next week. In that post, I’ll go over all of the articles from this year. This week, I’m reviewing a more specific topic. If you have been following along for the last couple of years, you know that I write a lot about […]

Continue

How Many Problems Do You Need to Solve?

Programmers get better at competitive programming mainly by solving competitive programming problems. It’s true that there are other activities that go along with problem-solving practice. Reading about algorithms, data structures, and problem-solving techniques is useful to avoid re-inventing the wheel. And it’s even more important to read solutions after you solve a problem, so you […]

Continue

How Long Should You Spend on a Problem?

To get better at programming or math, it’s not enough to read about a topic. You have to solve problems. And solving problems is a lot more beneficial if you have access to solutions, especially ones with detailed explanations. But as useful as solutions are, they also present another problem: when is the best time […]

Continue

Why is Competitive Programming Hard?

When I came up with 12 Reasons to Study Competitive Programming, I picked the following for reason #3: Studying competitive programming gives you a way to practice solving hard problems. (As I pointed out in the article, this is also a reason that some people give for not studying competitive programming. They claim that most […]

Continue