In the 170th installment of his embedded systems column, writer Tsuneo Yamaura launched a programming fundamentals series on MONOist titled “Ichikara Zenbu Tsukutte Miyou,” using a nikujaga recipe to explain software development logic to beginners.
The Bottom Line
- Tsuneo Yamaura launched an introductory series on MONOist to walk beginners through every phase of software development.
- The series uses a simple nikujaga cooking recipe to demonstrate the basic logic and sequential instructions required for programming.
- Unlike human cooks, computers follow instructions literally without filling in blanks, making precise procedural design essential.
From Software Architecture to Detailed Design Phases
The new series builds directly on the foundational engineering steps established earlier in Yamaura’s embedded systems column on MONOist. Previous installments walked readers through basic design concepts, defining what a software system should accomplish and outlining its core features. With the high-level architecture established, the curriculum moves into the detailed design phase.
Detailed design requires translating abstract functions into actionable programming logic. For example, a feature to process a product purchase must account for specific data inputs, execution sequences, and conditional branches. To prepare beginners for this technical leap, the column introduces the fundamentals of computational thinking through a familiar domestic task rather than raw syntax.
Cooking Recipes as Algorithmic Instructions
Writing a computer program shares a direct structural parallel with writing a culinary recipe. Both documents serve as instruction manuals designed to guide an executor step-by-step toward a finished result. Programming simply translates human intentions into precise, ordered commands that a machine can execute without ambiguity.
However, the comparison highlights a fundamental challenge in software development: computers lack human intuition. While a human cook reading “stir-fry the vegetables” naturally understands when to stop heating to prevent burning, a computer executes instructions blindly. Without explicit termination conditions, a program will continue processing indefinitely, burning the ingredients to ash while the system keeps running.
Nikujaga Preparation as a Programming Exercise
To ground these concepts, the first practical exercise asks readers to write a complete recipe for nikujaga, the classic Japanese meat-and-potato stew. The prompt intentionally leaves formatting, precise ingredient quantities, and procedural steps open-ended to encourage unstructured logical thinking before diving into subsequent answer examples.
| Development Phase | Software Engineering Focus | Nikujaga Recipe Analogy |
|---|---|---|
| Requirements Definition | Determining system purpose and core features | Deciding to cook nikujaga for dinner |
| Basic Design | Outlining overall system structure | Listing necessary ingredients and kitchen tools |
| Detailed Design | Specifying data types and execution logic | Writing step-by-step cooking instructions |
By mapping out the preparation of meat, potatoes, and seasonings in a logical sequence, beginners learn to structure conditional logic and loops before encountering syntax errors in traditional programming languages. The curriculum continues on subsequent pages of the MONOist series with detailed answer keys illustrating how a structured recipe translates into procedural computer code.