Algodeck logo: a blue triangle next to a red vertical rectangle.

A field guide to problem solving

You don't know where to start. Tired of indecisions. Learn algorithms, data structures, and mental models for a simple life.

When easy is not enough

What is the difference between easy and simple? Form and effort dictate our relationship with objects and interfaces.

How to create generative designs with a genetic algorithm

Play god by learning how to create a basic genetic algorithm and making some generative art.

Good for what ails you: beyond symptomatic fix

What hides behind a simple bug fix? Tools and techniques to think beyond symptoms.

Want to be more creative? This pattern will teach you a trick or two.

One afternoon I was doing some research for an illustration I had in mind. What I learned that day will stick with me.

How to solve a business problem with dynamic programming

Learn how to use dynamic programming with this funny story. What is the best way to cut a baguette to make the most profits selling sandwiches? Can some computer science help our baker?

Mental models for developers — finding solutions

Mental models are shortcuts that you can use to think differently about a problem. They are an excellent tool to add to your developer’s toolbox. Learn 15 mental models that will help you find answers to tricky problems.

How to engineer your luck

Have you ever wondered how many time you should try something before getting a positive result? Read this to learn how to engineer your luck and minimize your effort.

What is the best way to ship code to your users? Frameworks, patterns and recipes

Learn the differences between frameworks, patterns and recipes to create better abstractions.

Simple simulation of birth and death

How to simulate life with maths? Learn how to use the Poisson distribution to create a simple JavaScript simulator.

Keep in touch

Join the 60+ readers who grow their problem solving skills. Receive an email every 2 weeks packed with tips, and guides on computer science.