HeadlinesBriefing favicon HeadlinesBriefing.com

Designing 54 CS Cards: Graphic Design Lessons

Hacker News •
×

Graphic design solves communication problems while software engineering solves information problems. With Algodeck, a physical deck of 54 cards featuring bold illustrations and short descriptions, I wanted to distil computer science and mathematics into an accessible form that makes essential skills and mind-changing mental models easier to understand. The cards range from informational to prescriptive, covering favourite algorithms, data structures, and mental models from university and work experience.

Breaking away from traditional linear textbooks, the deck lets readers follow their own learning path. Sometimes a card feels cryptic, but if it leads someone to search and learn something new, the job is done. As a software engineer, I used code to create all 54 illustrations via Drawbot, a Python-driven graphic design tool created by Just van Rossum, brother of Python's Guido van Rossum. Using code allowed changing colours or stroke widths across all cards at once and imposed helpful constraints.

This project revealed that computer science and graphic design share systems-thinking. Both start by building systems to solve problems. Graphic designers often use mathematical concepts like the golden ratio or grid systems without realising. Gerstner's Designing Programmes (1964) and Martin Lorenz's Flexible Visual Systems informed this approach. For the second prototype, I crystallised a design system using a grid where cell size dictated all sizing, encoded as variables in code.

The visual language uses a classic red-and-blue duotone echoing binary systems and paying homage to Bauhaus and old French school books. While AI LLMs could now generate similar content, Algodeck remains valuable as a tactile learning tool for thinking outside the screen. Available at algodeck.com.