Math Fluency for UVa 927

From time to time, I’ll run across a UVa problem description that makes liberal use of mathematical notation. UVa 927, the first starred problem in uHunt Chapter 3, is one of those. uHunt classifies it as a Level 4 problem, but most of the challenge is in interpreting the problem description. Once you figure out […]

Continue

The Role of Questions and Answers in Learning

Here are two approaches you could take to learn something new: Passive review: Consume an explanation of the topic you’re trying to learn. For example, read a textbook chapter, watch a video lecture, or read an online article on the topic. Active recall: Do an activity that requires you to remember something that you know […]

Continue

Why Measure Your Productivity?

It’s impossible to measure developer productivity. At least, that’s what the experts say. Martin Fowler came to that conclusion over 10 years ago in a classic article, and the consensus hasn’t changed since then. My favorite recent article on the subject is by Jim Bird, a development manager and CTO. So let’s take that as […]

Continue

The Competitive Programming Debate

Which of the following statements best describes your opinion of competitive programming? -2: It is harmful to the software industry, and should be abolished. -1: It’s no worse than any other form of entertainment, but it has no educational value. 0: It may help some people get better at programming, but it’s a niche hobby. […]

Continue

The Time Bank Productivity System

Earlier this year, I wrote a survey of the Productivity Habits that I’m using to keep my project moving along. This week, I’m going to focus on one habit, which I’m calling Time Bank. I’ll also share a handy spreadsheet that makes it easy to try out this system.

Continue

Java Lessons from uHunt Chapter 2

This post is part of a series on Java syntax and libraries for solving the problems in each chapter of uHunt, a tool for competitive programming practice. You can find the rest of the posts in the series by visiting my uHunt Java post category. In the previous post in this series, a review of […]

Continue

Lessons from uHunt Chapter Two

This post is part of a series that considers what can be learned from the problems in each chapter of uHunt, a tool for competitive programming practice. You can find the rest of the posts in the series by visiting my uHunt post category. I recently finished the last of the 37 starred problems in […]

Continue

Solving UVa 11402 with Segment Trees

UVa 11402: Ahoy, Pirates! is one of the most challenging of the uHunt starred problems I have come across so far, for a few reasons: The problem is designed to be solved using a segment tree. This is a data structure that comes up in competitive programming, but isn’t covered in the standard algorithms textbooks […]

Continue

Cal and Scott’s Top Performer Course

In an earlier post, I mentioned a pilot course I took a couple of years ago on applying deliberate practice to various types of jobs. Well that original pilot, and a subsequent pilot in 2014, has resulted in a course called Top Performer (not an affiliate link). As part of the homework for the second […]

Continue