uHunt Chapter 3 has six starred problems, and many more problems in total, on the topic of binary search. If you want to solve them, it helps to have a firm grasp of how that algorithm works. The binary search algorithm is conceptually simple. In ancient times, like the early 1990’s, people used it instinctively […]
ContinueWhen to Peek at the Solution
When I’m solving competitive programming problems for practice, I follow a specific series of steps to help me get the most out of the process. My current process ends with submitting an accepted solution and recording my stop time (for measurement purposes). But there really should be another step: find someone else’s solution and compare […]
Continue6 Snippets of Advice
A few weeks ago, K. Anders Ericsson of deliberate practice fame released a new book (which I haven’t yet read) called Peak: Secrets from the New Science of Expertise. The main challenge with reading these types of popular science/psychology books is taking action. They are written to be enjoyed, but there’s nothing forcing you to […]
ContinueCoding Style for Competitive Programming (UVa 10567)
When you’re solving competitive programming problems, it’s tempting to code as fast as possible. Once you have some idea about what the problem is asking for, just start coding and hack away until your solution passes. After all, these problems are written for timed contests, so why not solve them as if you’re racing the […]
ContinueRecursion: See Recursion
[T]here are two things traditionally taught in universities as a part of a computer science curriculum which many people just never really fully comprehend: pointers and recursion. — Joel Spolsky Let’s try to comprehend the basics of recursion using an example that comes up frequently in programming puzzles: generating all permutations of a set.
ContinueWish List for a Time Tracker App
Software developers spend a lot of time in front of computers, obviously. It’s also a modern truism that a networked computer is both a productivity enhancer and the greatest time waster humanity has ever invented. The same devices that we use to make a living are also perfect for delivering endless cat videos. But we […]
ContinueDeep Work and Collaboration in Software Development
“The relationship between deep work and collaboration is tricky,” writes Cal Newport in his recent book on focused productivity. That’s for sure. The goal of deep work is to expand your cognitive abilities in a distraction-free working environment. But many people don’t work alone. And as anyone who has worked on a team can attest, […]
ContinueWhat Problems Should You Work On?
To find a job you love, you can start by considering your career values, what specific job is compatible with those values, and what skills you need to do well at that job. If you already have the job you want, you still need to decide what you want to work on. The job description […]
ContinueSkills for Programmers
Over the past couple of weeks, I have been writing about software careers, including career values and characteristics of a good programming job. This week: types of skills used in a programming job.
ContinueWhat Makes a Good Programming Job?
Last week, I wrote about how to use career values to evaluate a programming job. This week, I’m going to follow up with some characteristics of a programming job you might find using a values-oriented approach.
Continue- « Previous Page
- 1
- …
- 41
- 42
- 43
- 44
- 45
- …
- 50
- Next Page »