Red-Green-Code

Deliberate practice techniques for software developers

  • Home
  • About
  • Contact
  • Project 462
  • CP FAQ
  • Newsletter

Using Khan Academy for Post-Mastery Practice

By Duncan Smith Leave a Comment Jan 23 0

Khan Academy

Before learning discrete math, it’s useful to know how much other math you remember. Last week, I discussed how Khan Academy is uniquely useful for evaluating and improving your skills in math topics through Calculus. But eventually you might reach Mastery level in all Khan Academy math skills. Does that mean it’s time to move on? Not quite.

« Continue »

How Useful is Khan Academy for Learning Math?

By Duncan Smith Leave a Comment Jan 16 0

Khan Academy

Math builds on itself, so trying to learn a math topic without first mastering its prerequisites is just asking for trouble. A good place to learn prerequisites is Khan Academy. Although it’s missing many advanced math topics, it covers the basics well. And the way it organizes practice problems ensures that you regularly get tested on the concepts you need the most practice with.

« Continue »

How Important is Math for Competitive Programming?

By Duncan Smith Leave a Comment Jan 10 0

Slide rule

Competitive programming practice sites often organize problems by topic area. For example, uHunt has categories for graphs, string processing, dynamic programming, and many others. uHunt Chapter 5 covers topics in mathematics. Since math is a separate field from computer science and algorithms (though it’s closely related), I’m considering this week how it relates to competitive programming preparation.

« Continue »

A Project for 2019

By Duncan Smith Leave a Comment Jan 3 0

Discrete

Petr Mitrichev, legendary competitive programmer and current Google employee, didn’t major in computer science. He got a degree from Moscow State University in mathematics. In a Topcoder Spotlight Session in 2008, he answered a few questions about how math relates to competitive programming practice:

« Continue »

Competitive Programming Frequently Asked Questions: 2018 In Review

By Duncan Smith Leave a Comment Dec 27 0

Winter 2018

For each of the past two years, I’ve been working on year-long projects and writing about them here. In 2017, the topic was designing and coding a time-tracking app. This year, my project was a competitive programming FAQ. Like most FAQs, it’s a work in progress, but it now contains a set of popular questions, and is set up for me to add more.

In the process of creating the FAQ, I learned a few things about how Quora and Google work, wrote some research tools, experimented with MediaWiki, classified a lot of Quora questions, tried to merge some of those Quora questions (and had many of them unmerged by the Quora Content Review bot), and even wrote a few FAQ answers.

« Continue »

CPFAQ: How Did X Become a Top Competitive Programmer, Part 2

By Duncan Smith Leave a Comment Dec 19 0

Gennady Korotkevich

I’m working on a project this year to build a competitive programming FAQ. This is one in a series of articles describing the research, writing, and tool creation process. To read the whole series, see my CPFAQ category page.

Last month, I described how several successful competitive programmers approached their training. These stories are not uncommon on Quora and elsewhere. So as the year wraps up, here are some more suggestions from the experts, including the two experts you would expect to hear from.

« Continue »

CPFAQ: How Do Coding Interviews Differ from Coding Contests?

By Duncan Smith Leave a Comment Dec 13 0

Egg

I’m working on a project this year to build a competitive programming FAQ. This is one in a series of articles describing the research, writing, and tool creation process. To read the whole series, see my CPFAQ category page.

It’s no secret that the popularity of competitive programming depends partly on the popularity of the coding interview, the ubiquitous interview format in which interviewers present candidates with a problem and ask them to to solve it using code. Like candidates for software jobs, contestants in a programming contest also face tough coding puzzles. But programming contests and coding interviews are not the same thing. Even in a company-sponsored contest like Google Code Jam, doing well doesn’t get you a job offer, though it can get you invited for an interview.

A few weeks ago, I wrote about whether programmers should see competitive programming as a way to get a programming job. This week, I’ll go into some similarities and differences between programming contests and coding interviews.

« Continue »

CPFAQ: A Topcoder Chat with Petr Mitrichev

By Duncan Smith Leave a Comment Dec 6 0

Petr Mitrichev

I’m working on a project this year to build a competitive programming FAQ. This is one in a series of articles describing the research, writing, and tool creation process. To read the whole series, see my CPFAQ category page.

On September 20, 2008, Petr Mitrichev took part in a Topcoder Spotlight Session where he answered questions from competitive programming enthusiasts. I ran across a reference to this session on Quora while researching another topic and thought it would make a good addition to my current series on how top competitive programmers practice.

The transcript below is an edited version of the original. I included just the questions that Petr answered directly, and I rearranged the chat order to put his answer directly after the corresponding question. I also fixed spelling, grammar, and word choice, and converted textspeak to standard English. I left in the original user handles, which should help if you want to find something in the original chat. I hope my edited version captures the essence of the original while being easier to read.

« Continue »

CPFAQ: How Did X Become a Top Competitive Programmer?

By Duncan Smith Leave a Comment Nov 29 0

Studying

I’m working on a project this year to build a competitive programming FAQ. This is one in a series of articles describing the research, writing, and tool creation process. To read the whole series, see my CPFAQ category page.

Questions that are too specific to one person’s situation don’t work well on Quora. They tend to be non-canonical duplicates that are fishing for ultra-personalized advice that’s unlikely to help future readers. Often they include a long personal story.

Answers, on the other hand, can benefit from writers who are willing to share their life experience. In the competitive programming topic, several people have described how they made the journey from beginner to expert level in the world of programming contests.

« Continue »

CPFAQ: How Long Should I Work on a Programming Problem Before Looking at the Answer?

By Duncan Smith Leave a Comment Nov 21 0

Clock

I’m working on a project this year to build a competitive programming FAQ. This is one in a series of articles describing the research, writing, and tool creation process. To read the whole series, see my CPFAQ category page.

Anyone who has practiced solving competitive programming or coding interview problems, has confronted a choice: when you get stuck on a problem, when is it time to look for help? Here are some principles and suggestions to make the right decision.

« Continue »

  • « Previous Page
  • 1
  • …
  • 27
  • 28
  • 29
  • 30
  • 31
  • …
  • 50
  • Next Page »

Stay in the Know

I'm trying out the latest learning techniques on software development concepts, and writing about what works best. Sound interesting? Subscribe to my free newsletter to keep up to date. Learn More
Unsubscribing is easy, and I'll keep your email address private.

Getting Started

Are you new here? Check out my review posts for a tour of the archives:

  • 2023 in Review: 50 LeetCode Tips
  • 2022 in Review: Content Bots
  • 2021 in Review: Thoughts on Solving Programming Puzzles
  • Lessons from the 2020 LeetCode Monthly Challenges
  • 2019 in Review
  • Competitive Programming Frequently Asked Questions: 2018 In Review
  • What I Learned Working On Time Tortoise in 2017
  • 2016 in Review
  • 2015 in Review
  • 2015 Summer Review

Archives

Recent Posts

  • Will AI Coding Assistants “Deskill” Us? January 30, 2026
  • Stateless by Design: How to Work With AI Coding Assistants December 31, 2025
  • Do Coding Bots Mean the End of Coding Interviews? December 31, 2024
  • Another Project for 2024 May 8, 2024
  • Dynamic Programming Wrap-Up May 1, 2024
  • LeetCode 91: Decode Ways April 24, 2024
  • LeetCode 70: Climbing Stairs April 17, 2024
  • LeetCode 221: Maximal Square April 10, 2024
  • Using Dynamic Programming for Maximum Product Subarray April 3, 2024
  • LeetCode 62: Unique Paths March 27, 2024
Red-Green-Code
  • Home
  • About
  • Contact
  • Project 462
  • CP FAQ
  • Newsletter
Copyright © 2026 Duncan Smith