The Best Algorithm for Learning to Cook

Cook to eat and cook to learn

There are two reasons for cooking: cooking to eat and cooking to learn. The main point of cooking is to eat healthy food, affordably without spending too much time or effort. Once that’s achieved, cooking allows you to learn about what foods work with your tastes and your body. You can also use cooking to learn about your own culture or other cultures.

The method I’m going to describe is inspired by building software which emphasizes reusable pieces.


A meal has three interchangeable parts

I tend to eat high fiber diets. That means my meals (lunch and dinner) are about 1/4 carbs, 1/4 protein, and 1/2 vegetables by volume with plenty of oils. My snacks tend to be fruit and nuts. Breakfast is plain whole yogurt and bananas.

Your meals depend on what works for your body, but using these guideliens this is a reasonable starting point for a healthy diet. Americans tend to eat too much sugar, meat, and bread and not enough vegetables, so that’s why I err on the side of too much vegetables.

We want to think of these three parts (carbs, protein, vegetables) in a meal as parts that can be swapped out, like a three-person play that can have different actors. 

When I start cooking, I think “what’s my carb, my protein, and my vegetables?”. 

As we learn more recipes, we can then identify what ingredients play these three roles and introduce these parts in our meals.


Flavor agents dress up our three parts

We’re trying to get a tasty meal at the end and we’re starting with raw ingredients. Most raw ingredients have a taste, but I think of them as a canvas for a range of flavors.

Boiling a raw potato would be rather bland so we add salt or sour cream to make it taste better. The salt and sour cream give the food additional flavors, so I’m going to call them flavor agents.


Cooking methods turn these parts of the meal into different forms

Cooking is the collection of methods (algorithms) for turning those raw ingredients (inputs) into good food (outputs). Here are some example outputs.

Examples of carbs

  • Steamed carbs
  • Mashed potatoes
  • Pizza dough, pita, flatbread
  • Burger bun
  • Corn tacos, arepas

Examples of proteins

  • Burgers
  • Meatballs
  • Breaded and fried fish
  • Roasted meats
  • Braised meats
  • Curries

Examples of vegetables

  • Salad
  • Sauteed vegetables
  • Roasted vegetables
  • Grilled vegetables

Examples of flavor agents

  • Vinegar
  • Ginger
  • Garlic
  • Black bean sauce
  • Spices
  • Herbs
  • Capers
  • Mayo
  • Mustard
  • Honey

The key to learning to cook (or really learning anything) is learning the next most useful skill enough to get you to the next level. You could call it agile. At that new level, you may find that you need a whole different set of skills. What’s missing is a leveling system to help guide cooking students. In the same way that when you play Pokemon Go, you feel great when you level up, you should be able to see your cooking skills level up too.

We like leveling up because we like the feeling of progress within a structure of that tells you what to do next towards a given a goal. Finding your own goal is really difficult and you may spend a lot of time wandering before you find it.


A great cooking course organizes cooking methods into levels and guides you through them

The cooking course that I’m imagining comes down to starting everyone at level 1 of the four different parts (carbs, proteins, vegetables, and flavors). I would split up the different methods into levels by difficult, effort, ingredients and amount of equipment needed.

The first goal would be to complete level 1 for all four parts. Then it’s really up to the individual to choose what they want to get better at.

Within the levels, the course would describe the method, give examples of what kinds of ingredients can be put into the method and have the student cook a couple recipes with this method.

When the student is bored with a recipe, then they can either cook another ingredient with the same method or move on to the next level. Since the three parts are interchangable, they can be taught independently and students can progress at their own pace based on their interest.

Now I just have to build it.