Learning to break problems down into smaller pieces, thinking about data, and constructing algorithms is a critical step.
In this project, you will practice PEDAC without having to think about code yet.
- Practice the PEDAC approach.
- Thinking about data and algorithms free from the complications of also having to consider code.
- Either a deck of playing cards OR a set of notecards, post-it notes, or small pieces of paper.
- Paper and pencil or Visual Studio Code
- A friend or family member to help you when you are done with your assignment.
If you are not using a deck of playing cards, take 20 notecards, post-it-notes, or small pieces of paper and label ONE side of them with the numbers one through 20.
If you are using a deck of playing cards, take 20 cards out of the deck.
Shuffle the cards/paper into a random order.
Lay the cards/paper out on a table to form a horizontal line leaving a little space between each.
Using the PEDAC process create an algorithm to put the cards/paper in numerical order. For using cards consider the
ACE to be a one, and consider
King to be in that order.
You may only turn over TWO cards at any time.
You may only swap the position of TWO cards (that you have turned over) at any time.
You may only refer to cards based on their position in your list (left-to-right). You may choose to refer to the position by
1, whichever you prefer.
You may NOT keep track of the value of any cards in any manner other than by turning over TWO cards and considering their value. For instance, you may not "remember" any values, or write down their values elsewhere, etc.
When you have your algorithm, test it until you are satisfied that it is as clear as you can make it.
Take your cards/notes and shuffle them again, laying them out horizontally on the table again.
Invite your friend or family member to follow your algorithm precisely. They may not ask you any clarifying questions. If they do not understand a step you must STOP and revise your algorithm and have them start OVER with a new sorted set of cards/paper.
Turn in a copy of your PEDAC work including your final algorithm.
Either turn in your text or turn in a link to a photo of your written work if you wrote your PEDAC on paper.
- Does your algorithm work for 52 cards? 1000 cards?
- If not, what needs to be modified?
- Can you transform your algorithm into C# code?
- If so, see if you can use it to order a list of