Unit 1

Algorithms and Abstraction

[1.1] What are algorithms? Can you think of some examples of them in your daily life?

[1.2] What are the core parts of an algorithm? (Hint: there are 3!)

[1.3] What is abstraction? Can you think of an example of abstraction from the real world or from the computing world?

[1.4] Write a step-by-step algorithm at a low level of abstraction for making a cup of noodles. Assume you have access to all the ingredients i.e., chopsticks, cup noodles, hot water, the sauce packets, etc. Break down the process into clear, simple instructions that someone can follow if they have no prior knowledge of utensils and ingredients and what each item is, how to use them and in which order.

[1.5] Now write the same algorithm but at a medium level of abstraction. They have knowledge about each of the ingredients and how to use the given items but not how to make the noodles.

[1.6] Now write the same algorithm but at a high level of abstraction.