ada-build

The Ada Developers Academy Jump Start program, which is intended for anyone who is interested in beginning their journey into coding.

View the Project on GitHub Ada-Developers-Academy/ada-build

Problem Solving

Ada Build - Learning at Ada - Lesson 2

Learning Goals

Activities

Start by reading through our notes on algorithms.

Write an algorithm for getting to the house of a family member or friend. Make sure to include all 5 essential elements of an algorithm: input, output, finiteness, definiteness, and effectiveness.

Watch the Driverless Car Hits the Street - Not People (2008) and think about why writing instructions for computers might be different than writing instructions for humans.

Then watch The 2015 DARPA Robotics Challenge Finals (2015), a more recent video and think about what the computer scientists writing code for these robots have to think about. What inputs do they have? What is their intended output? How are their algorithms considered Definite, Effective, and Finite?

Finally, complete either the peanut butter (or alternative) and jelly sandwich activity, or the paper snowflake activity.

(Option 1) Make a Peanut Butter (or alternative) and Jelly Sandwich

Write precise instructions to make a peanut butter (or alternative) and jelly sandwich. Then have someone carry out those instructions to test your algorithm’s clarity. While they are following your instructions, you are only allowed to watch, they are not able to ask you questions.

When listing the steps in your procedure, you should assume the person following your instructions is as straightforward as a computer (they do not make assumptions or ask for clarity). Let the person know who is following the instructions to interpret them as literally as possible. If your algorithm does not work out as expected, modify your algorithm and test on a new person until you get the desired output.

(Option 2) Make a Paper Snowflake

For this activity, you will write precise instructions to make a paper snowflake. You will need to find someone to carry out those instructions to test your algorithm’s clarity. While they are following your instructions, you are only allowed to watch, they are not able to ask you questions.

When listing the steps in your procedure, you should assume the person following your instructions is as straightforward as a computer (they do not make assumptions or ask for clarity). Let the person know who is following the instructions to interpret them as literally as possible. If your algorithm does not work out as expected, modify your algorithm and test on a new person until you get the desired output.

Optional readings