Skip to content
Tech News
← Back to articles

What designing 54 computer science cards taught me about graphic design

read original more articles

Graphic design solves a communication problem, and software engineering solves an information problem.

For many, the world of computer science is a “black box”—dense, abstract, and hidden behind screens. But for me, it is a world of elegant structures and creative problem-solving. With Algodeck, a physical deck of 54 cards featuring bold illustrations and short descriptions, I want to distil computer science and mathematics into an accessible form that makes essential skills and a handful of mind-changing mental models easier to understand.

Algodeck is a collection of my favourite algorithms, data structures and mental models, brought together to make computer science easier to explore. They are things I learnt at university and on the job as a software engineer. The cards range from informational to prescriptive. For example, one of the cards advises: “Instead of thinking about what to do, consider what to avoid doing. Oh, and taking a walk is quite good, too!”

My vision was to distil complex knowledge into a short, accessible form, so readers could stumble upon something that interests them. The deck breaks away from traditional, linear, dense textbooks on the subject. Following your own path while learning is key. Sometimes a card will feel cryptic, but if it leads someone to search for more information and learn something new, my job is done.

When deep into a project, there is always more to learn. I’m a software engineer by trade, but I used this opportunity to learn the fundamentals of graphic design. I blended my love for coding and logic with graphic design to create all 54 illustrations using code.

I used the tool of my trade: code. For me, it felt natural, more natural than opening up Illustrator and clicking around. I could change things like the colours or stroke widths of all the cards at once, which helped me quickly test different options. Using code also gave me constraints, which helped me a lot.

This project showed me that computer science and graphic design have more in common than you might think. Both solve problems: graphic design solves communication problems, and software engineering solves information problems. In both disciplines, practitioners start by building systems to solve those problems.

Graphic designers are often well-versed in mathematical and logical concepts, sometimes without realising it. Deciding on a type scale or dividing a grid requires mathematical thinking. Often, we use concepts like the golden ratio to rationalise our layout choices. Gerstner’s famous book Designing Programmes (1964) is a manifesto for system-oriented design, inspired by the rise of computer systems in the ’60s. More recently, Flexible Visual Systems by Martin Lorenz introduced us to the idea of creating design systems that can be reused and combined to create communication solutions. I found this systems-thinking approach useful for this project because I had the challenge of designing 54 cards with a consistent style and scale.

With the first prototype of the deck, all the cards had different scales. Some illustrations looked tiny; others looked large. It looked messy, but it was an exploration phase. For the second prototype, I selected the best parts I liked and crystallised them into a design system. To make things uniform, I divided the space into a grid. The size of a cell would dictate the sizing of everything, even the size of strokes. Using code for design lets you create variables and encode your design system’s rules. Defining rules and variables makes things easier by imposing constraints. A design system also means you don’t have to start with a blank page. You can pull shapes, colours and basic elements and begin from there. Play with them and see what happens.

For the visual language, I was drawn to simplicity, choosing a classic red-and-blue duotone. It echoes the binary system used by computers, while also paying homage to the Bauhaus movement and old French elementary school books. Primary shapes and colours appear throughout.

... continue reading