Red-Green-Code

Deliberate practice techniques for software developers

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

Archives for November 2016

Review: How to Win Coding Competitions by ITMO University

By Duncan Smith Leave a Comment Nov 30 2

ITMO

Last month, ITMO University launched an edX course called How to Win Coding Competitions: Secrets of Champions. With this first iteration of the course coming to an end, I thought I would discuss my experience with it.

« Continue »

An Ultralearning Approach to Competitive Programming Practice

By Duncan Smith Leave a Comment Nov 23 0

Studying

Scott Young has recently been writing about a concept he calls ultralearning, a philosophy and collection of techniques for quickly gaining mastery of a subject. This week, I’m going to explore how we can use ultralearning techniques for competitive programming practice.

« Continue »

How Many Problems Do You Need to Solve?

By Duncan Smith Leave a Comment Nov 16 0

HowManyProblems

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 can learn from other practitioners and fix your mistakes. But the core of the learning process is solving problems. Without that core, reading textbooks and solutions won’t get you very far.

« Continue »

Review: Awesome Competitive Programming by Jasmine Chen

By Duncan Smith Leave a Comment Nov 9 0

Awesome

In January of this year, Jasmine Chen (lnishan) published a Codeforces blog post called An awesome list for competitive programming! Since then, she and a few collaborators have been editing and expanding the list on GitHub.

Awesome list in this context doesn’t just mean “a really great list.” It refers to a project started by Sindre Sorhus in which people create lists of links to useful and/or interesting resources, and publish them on GitHub. There is of course a list of these lists.

Here’s what the Awesome Competitive Programming list offers.

« Continue »

How Long Should You Spend on a Problem?

By Duncan Smith Leave a Comment Nov 2 0

Hourglass

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 to look at them?

Solving a problem yourself improves your understanding of a concept more than reading someone else’s solution. If that wasn’t true, then it would be possible to learn a technical subject just by reading about it. That would be easier, but it doesn’t work. So you need to struggle with problems.

However, you can’t avoid looking at the solution forever. Problems in textbooks or online judges are intended to be solved in hours or days. They aren’t unsolved research problems that take months or years to solve. (Or if they are, they’re clearly marked as such — e.g., some of the problems in Knuth’s books).

So part of your job as a problem-solver is to settle on the best time to look at each solution.

« Continue »

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:

  • • 2015 Summer Review
  • • 2015 in Review
  • • 2016 in Review
  • • What I Learned Working On Time Tortoise in 2017
  • • Competitive Programming Frequently Asked Questions: 2018 In Review

Archives

  • February 2019 (2)
  • January 2019 (5)
  • December 2018 (4)
  • November 2018 (4)
  • October 2018 (5)
  • September 2018 (4)
  • August 2018 (5)
  • July 2018 (4)
  • June 2018 (4)
  • May 2018 (5)
  • April 2018 (4)
  • March 2018 (4)
  • February 2018 (4)
  • January 2018 (5)
  • December 2017 (4)
  • November 2017 (5)
  • October 2017 (4)
  • September 2017 (4)
  • August 2017 (5)
  • July 2017 (4)
  • June 2017 (4)
  • May 2017 (5)
  • April 2017 (4)
  • March 2017 (5)
  • February 2017 (4)
  • January 2017 (4)
  • December 2016 (4)
  • November 2016 (5)
  • October 2016 (4)
  • September 2016 (4)
  • August 2016 (5)
  • July 2016 (4)
  • June 2016 (5)
  • May 2016 (4)
  • April 2016 (4)
  • March 2016 (5)
  • February 2016 (4)
  • January 2016 (4)
  • December 2015 (5)
  • November 2015 (4)
  • October 2015 (4)
  • September 2015 (5)
  • August 2015 (4)
  • July 2015 (5)
  • June 2015 (4)
  • May 2015 (4)
  • April 2015 (5)
  • March 2015 (4)
  • February 2015 (4)
  • January 2015 (4)

Recent Posts

  • What is Discrete Mathematics?
  • The Khan Academy Math Course System
  • Post-Mastery Practice Examples from Khan Academy
  • Using Khan Academy for Post-Mastery Practice
  • How Useful is Khan Academy for Learning Math?
Red-Green-Code
  • Home
  • About
  • Contact
  • Project 462
  • CP FAQ
  • Newsletter
Copyright © 2019 Duncan Smith