UNIT 3A Algorithmic Thinking. Algorithms

Similar documents
Party with Patrick. Rainbow s End. 10 x 6½" Mug Mat

INSTRUCTIONS FOR KNITTING

Heart to Heart. 20 appliqué mat

Provisional Cast On Set Up Cast On

15" scalloped placemat. Materials needed

Let Them Eat. Cupcakes! 8 round snack/mug mat. Materials needed for one placemat

Party with Patrick Lovebirds 12 x 18 wall hanging

Spooky Sky. 14½ x 18½ placemat. Fabric requirements: 16 x x x 12. 1/4 yd (includes binding)

Original Recipe. DIY Party with a Fat Quarter Bundle by Sheree Schattenmann

12½ mini quilt. Fabric requirements using non-directional prints: 1 6 x x 8. 6 x 12. 1/8 yd. 1/4 yd (or 6 x 42 ) includes binding.

The Knit & Purl Scarf

Two Hearts. 14 x 18 placemat. Materials needed. These requirements are for non-directional prints.

LEARNING MORE ABOUT KIT KITTREDGE

Memory Clear Clears M+ and displays total.

Materials needed for 15" placemat. Materials needed for 12" Candle Mat. Additional supplies and tools

A is for Apple. 12½ mini quilt. Fabric requirements: 1/4 yd. 7 x x 14. 1/2 yd (includes binding)

Make a Christmas Paper Chain!

The Night Parade Activity Kit

Mathématiques + jeu = combinaison gagnante Math + Game = Fun

Party with Patrick/August 2013 Halloween Hoot Owl

Headed to quilt retreat!

Piece the Pillow Top Use ¼ seam allowances for piecing and pillow construction.

Knitting Board Basics

Sensory Paint Recipes

FENTON FINDERS OF GREATER KANSAS CITY

Mini Bacon and Eggs Pattern

SPIRIT VEST. by Joji Locatelli for Pagewood Farm

IPSWICH METHODIST CIRCUIT ARTS AND CRAFTS FESTIVAL

A monthly dose of Patrick Lose! April Online 1.0. May Flowers. 14 x 30 appliqué door banner or wall hanging.

Beaded Evening Bag Flap Chart. 48 st cast on

ABC Baby Blanket Knitting Pattern

A Let This Mind Be in You on Etsy crochet pattern

Warwickshire County Honey Show 2017

abc 3 def. 4 ghi 5 jkl 6 mno. Computers Rule the World

FAMILY FUN FROM PHYSICIANS MUTUAL. Presented by Physicians Mutual. What s inside...

GRAIN MILL VKP1012. Instruction Manual

A Beginner s Guide to Knitting! Woo! Brought to you by: Craft and Tea Society

Rockin Shamrocks Instructions

Prairie Family Center February 2019

Quiltville Custom Quilting Orange Crush!! Part 5! (click here for printer friendly.pdf file) Make 20 album Blocks!

Some Valentine s History...

Knitting with MODA VERA FISH NET FEVER

Materials and techniques

define explainsolve inform 171 W R I T E

Mathtastic! Perfectly Effortless Programs:

OH! MEMORIES BY LYDIA BROWN & SARAH STEVENS. NOTIONS 1 stitch marker and tapestry needle for weaving in ends

WELCOME TO CHOCOMAKER, INC. THIS PRODUCT IS FOR HOUSEHOLD USE ONLY Any other servicing should be performed by an authorized service representative.

Party with Patrick. Tree Trimming Time. 7½ x 26" Banner

70 th Annual Show. Domestic Section. Camborne Show Society

Some Valentine s History...

Fiery Furnace Puppet Show

Joining in new yarn. Joining in a new yarn by working 1ch. Joining in a new shade of yarn when working in rows

Grade 5 WINTER HOLIDAY Brain Boosting Student Activities

Mini 4-H CAKE DECORATING

#MADEUNIQUE TE AMO SCARF BEGINNER 15MM (19US) NEEDLES

Painted Desert Tree & Feather Shawl

1. Introduction 3 2. Bunny Easter Basket 4-34

Free Knitting Pattern Lion Brand Ice Cream Happy Valley Baby Afghan Pattern Number: L60166 Designed by Irina Poludnenko

Year 6. Mathematics A booklet for parents

Swirl fingerless gloves

Merry Christmas. The Provider Chronicle. ~Angel. Christmas/Boxing Day/New Years

ROWAN SELECTS Stone Washed CORRINA CARDIGAN ADVANCED

Flower Power Creative Knitter Designer Linda Allegra 2017

Art Hall Exhibits DIVISION H - CULINARY. Class 10 - Breads. All items must be listed on paper prior to entry. Recipes must be included.

ALWAYS GRAND WRAP EP46

Copyright Information:

ROWAN SELECTS Stone Washed FOREVER YOUNG TOP INTERMEDIATE 6.5MM (US10.5) NEEDLES

Free Knitting Pattern Lion Brand Touch of Mohair Dover Cardigan Pattern Number: L80100 Designed by Vladimir Teriokhin

Fluted Lace Pullover. knitting. BACK With larger straight needles, cast on 75 (83, 89, 97, 103) sts.

By Wendy D. Johnson Photos by Ian M. Ories

ROWAN SELECTS Stone Washed ALL TANGLED UP TOP ADVANCED 9MM (US13) NEEDLES 10MM (US15) NEEDLES

Page 1. LION BRAND JIFFY THICK & QUICK Knit Woven Capelet Pattern: 50076

Alabama Course of Study Digital Literacy and Computer Science Grade 8

Clematis by Ingrid Hiddessen

Step by step instructions for ages 6 and up

Free Knit-Crochet Pattern Lion Brand Wool-Ease Thick & Quick Camo Earflap Hat Pattern Number: L40076 Designed by Mari Lynn Patrick

Module 1 Getting Started

wbyib with both yarns in back wbyif with both yarns in front s1

Lacy Dolman Pullover

Materials will be listed with each activity.

NET PAY USING EXCEL***

CHAPTER 1. Christmas Misc.

Recipes for Art Experiences

29. Numbers & Operations Fractions Gr. 8 N-45

Free Knitting Pattern Lion Brand Jeans Colors Textured Top Pattern Number: L70348 Designed by Irina Poludnenko

Cascade Ultra Pima Intarsia Lover s Jacket and Skirt

2 Reasoning and Proof


Tertius Mittens by Jesse Wiebe

#MADEUNIQUE PLUSH POLLY VEST INTERMEDIATE

L e i s u r e A r t s L i b r a r y. c o m. Knit Pullovers

Cozy Oval Loom Socks & Hand Warmers

Math 127: Equivalence Relations

Free Knitting Pattern Lion Brand. Vanna's Sequins Classic Sparkling Sweater Pattern Number: L20329

Penguin. Copyright 2014 Sarah Gasson

Free Knitting Pattern Lion Brand Flikka Valdez Afghan Pattern Number: L80004 Designed by Irina Poludnenko

Eco+ Merino Katerina

Top of the Morning Shamrock Ornies. Top of the Morning Shamrock Ornies. Lillie Mae's Crafts. By Brenda Greenwalt of Lillie Mae's Crafts

For full credit, show all work. B 0.58 C. Cole went hiking near his house. The first trail took him 7 miles away from his

E-PATTERN BALI BANDS BEGINNER 8MM NEEDLES (11US) PURCHASE THE KNITTING SUPPLIES ON

Transcription:

UNIT 3A Algorithmic Thinking 1 Algorithms An algorithm is a precise rule (or set of rules) specifying how to solve some problem. (thefreedictionary.com) Mohammed al-khowarizmi(äl-khōwärēz mē) Arab mathematician of the court of Mamunin Baghdad the word algorithmis said to have been derived from his name. Much of the mathematical knowledge of medieval Europe was derived from Latin translations of his works. (encyclopedia.com) The study of algorithms is one of the key foundations of computer science. 2 1

A Recipe is an Algorithm ½ cup of butter or margarine 1 teaspoon of vanilla extract 1 cup of sugar ½ cup of unsweetened cocoa 2 eggs ½ cup of flour 1. If butter or margarine is not melted, melt in a bowl in microwave for 30 seconds at high power. 2. Bl melted butter or margarine and sugar until the mixture has a creamy consistency. 3. Add eggs & vanilla, and stir the mixture 60 times. 4. Add cocoa and flour. 5. Mix until well bled. 6. Pour into greased round glass cake pan. 7. Microwave for 8 to 9 minutes on 50% power. Brownies will be done when they are slightly moist on top and pull away from the side of the pan. Serves: 4 -- adapted from yumyum.com 3 The Tax Code is an Algorithm 1. Write your total wages from your W-2 statements on Line 1. 2. Add up all the interest amounts from your 1099-INT forms and put the total on Line 2. 3. Gather all your 1099-G statement from the state agency that paid you unemployment compensation. Put the figure from the 1099-G on Line 3. a. If you received Alaska Permanent Fund divids only, put the figure reported to you by the State of Alaska on Line 3. b. If you have both unemployment and Alaskan divids, add the two figures together and put the total on Line 3. 4. Add lines 1, 2 and 3 to determine your Adjusted Gross Income (AGI) and write this on Line 4. 5. Determine your personal exemptions for Line 5. a. If you are being claimed as a depent, check the "Yes" box on Line 5. Otherwise, check the "No" box on Line 5. b. If you are unmarried, or you are married and you are not filing a joint return, put the figure $7,950 on Line 5. Otherwise, put the figure $15,900 on Line 5. 6. Subtract Line 5 from Line 4 and write this total in Line 6. This is your taxable income. etc. -Adapted from the US Tax Code Form 1040EZ 4 2

Knitting is an Algorithm 1. Hold needle with stitches in left hand; insert point of right needle in first stitch, from front to back, just as in casting on. 2. With right index finger, bring yarn from ball under and over point of right needle. 3. Draw yarn through stitch with right needle point. 4. This step now differs from casting on: Slip loop on left needle off, so new stitch is entirely on right needle. 5. This completes one knit stitch. Repeat Steps 1 through 4 in each stitch still on left needle. When the last stitch is worked, one row of knitting is completed and you can move to Step 6. 6. Now measure your work. It should be about 7" wide. If it is too wide, start over and cast on fewer stitches; if it is too narrow, start over and cast on more stitches. - Adapted from learntoknit.com 5 An algorithm is like a function F(x) = y INPUT ALGORITHM OUTPUT 6 3

Input Input specification Recipes: ingredients, cooking utensils, Tax Code: wages, interest, tax withheld, Knitting: size of garment, length of yarn, needles Input specification for computational algorithms: How much data is required? What kind of data is required? In what form will this data be received by the algorithm? 7 Computation An algorithm requires clear and precisely stated steps that express how to perform the operations to yield the desired results. Algorithms assume a basic set of primitive operations that are assumed to be understood by the executor of the algorithm. Recipes: beat, stir, bl, bake, Tax code: deduct, look up, check box, Knitting: casting on, slip loop, draw yarn through,... Computational: add, set, modulo, output, 8 4

Output Output specification Recipes: number of servings, how to serve Tax Code: tax due or tax refund, where to pay Knitting: final garment shape Output specification for computational algorithms: What results are required? How should these results be reported? What happens if no results can be computed due to an error in the input? What do we output to indicate this? 9 What makes a good algorithm? A good algorithm should produce the correct outputs for any set of legal inputs. A good algorithm should execute efficiently with the fewest number of steps as possible. A good algorithm should be designed in such a way that others will be able to understand it and modify it to specify solutions to additional problems. 10 5

Is this a good algorithm? Input: slices of bread, jar of peanut butter, jar of jelly 1. Pick up some bread. 2. Put peanut butter on the bread. 3. Pick up some more bread. 4. Open the jar of jelly. 5. Spread the jelly on the bread. 6. Put the bread together to make your sandwich. Output? 11 First Algorithm: GCD Input: two positive integers x and y Algorithm: 1. While y is not 0, do the following: a. Set temp equal to y b. Set y equal to x modulo y c. Set x equal to temp 2. Return x as the GCD Output: the GCD of the original x and y 12 6

Iterative Solution Input: two positive integers x and y Algorithm: 1. While y is not 0, do the following: a. Set temp equal to y b. Set y equal to x modulo y c. Set x equal to temp 2. Return x as the GCD Output: the GCD of the original x and y loop body If the loop condition becomes false during the loop body, the loop body still runs to completion before we exit the loop and go on with the next step. 13 while loop Format: while condition do loop body one or more instructions to be repeated If the loop condition becomes false during the loop body, the loop body still runs to completion before we exit the loop and go on with the next step. false condition true LOOP BODY 14 7

Iterative Solution using Ruby def gcd1(x,y) while y!= 0 do temp = y y = x % y x = temp return x 15 Recursive Solution A recursive algorithm is an algorithm that uses a simpler version of itself as part of its solution. Input: two non-negative integers x and y Algorithm: 1. If y is equal to 0, return x as the GCD. 2. Otherwise, return the GCD of y and (x modulo y) as the GCD. Output: the GCD of the initial x and y 16 8

if statement Format: if condition then statement_list condition true statements false 17 if/else statement Format: if condition then else statement_list1 statement_list2 true statement_list1 condition false statement_list2 18 9

Recursive Solution using Ruby def gcd2(x, y) if y == 0 then return x else return gcd2(y, x % y) This is recursive since gcd2 calls itself. More about recursion soon. 19 10