Post on 17-Apr-2018
Mini-exam 2 Back
Statistics
Stat Val Perc.Count 41 -Max 40.00 100.0Average 31.44 78.6Median 33.00 82.5Stddev 6.52 16.3
Bins
Range Count90 - 100 1380 - 89 970 - 79 760 - 69 950 - 59 040 - 49 230 - 39 020 - 29 1
Questions?
Logistics
Midterm GradesI Post over the spring breakI Based on HW 1-3,
Mini-exam 1&2, In-classI Advisory only
HW 4 Due Tonight
I Pair assignmentI Processing listsI Mini-web search
Reading
I Pattern Ch 5: AlgorithmsAnd Heuristics
I Pattern Ch 6: Memory,Information, and SecretCodes
Goals Today
I List appendingI Algorithms, Heuristics,
ComplexityI Search Problems
In-class: Sock Sorting: In-class Exercise
Source
ProblemI Here’s a bunch of socksI Someone "sort" themI Restriction: Cannot dump all
socks on the table (thoughcan put a few on the table)
Everyone Else
I Write down the algorithmthe sorter uses
I Work in pairs or threesI Include your Names and
NetIDs
In-class: Here’s a Second Way
I Chris will sort the socksI On the same sheet
I Write down the algorithmyou observe Chris Use
I How is it different fromthe first algorithm?
I Discuss in 5 minutesSource
In-class: Which Sock Algorithm is Better?
"Better"?I What’s the notion of better
for this sock sorting?I Which algorithm would you
choose for each of thefollowing situations?
Algorithms:1. Search the Basket2. Put on the Table
Scenario 1: Replicates
I Basket has 100 total socksI 25 pairs of blue (50 socks)I 25 pairs of red (50 socks)
Scenario 2: All Orphans
I Basket has 100 total socksI 5 pairs of blue (10 socks)I 5 pairs of red (10 socks)I 80 dissimilar socks (80
socks)
Scenario 3: All Unique
I Basket has 100 total socksI There are 50 different colors
of socks (includingChartreuse )
I There is one pair of eachcolor (100 socks)
Socks
Python Lists are good to model this
I "Pattern" initial example of algorithms: sorting socksI File socks.py encodes two versions of sorting socksI Uses functionst that change lists
lst1.append(thing) # add thing to the end of list lthing = lst2.pop(3) # remove 3rd item, assign to thing
I Compare to "Pattern" pg 77-78 to see if you follow the logicI Somewhat complex problem, too hard for a HW
Make sure to turn in your participation sheets
I Names and NetIDs of all group membersI Worth credit for grade
I couldn’t Remember
I Wanted a particular albumfrom my stack of CDs
I Shelf is roughly alphabeticalby artist
I Could not remember thename of the artist
I Did remember the albumwas something like "Now HeSings, Now He Sleeps"
I Genre: jazz, piano trioI How do I find the CD?I Discuss with a neighbor
Source
SearchesLinear Search
I Start at the beginningI Examine, each item
sequentially against thesearch query
I If the query matches theitem, report where it islocated and quit
I When all items have beenscanned report that nothingmatched
Alternative: "Indexed" SearchI Know a better starting point
I The artist’s name startswith ’C’
I CDs organized by name
I Search items sequentially atthat starting point
I When it’s obvious item isnot present bail out
I At ’D’ artists, CD mustbe in the car
Question
I Are these algorithms or heuristics?I What’s an algorithm? What’s a heurstic?I What’s the difference?
Chick
I Google query "now he singsnow he sleeps jazz piano"
I Results: Now He Sings, NowHe Sobs by Chick Corea
I Chick = 20 Grammy wins,59 nominations
I He’s kind of a big deal
Music and Programming
I Have a lot in commonI Both written down in a
coded formI A language that is opaque to
the uninitiatedI Both involve conditionals,
repetition, jumpsI Static and dynamic behaviorI The code is not the actionI Surprising action comes from
simple codeI Encoding dynamic as static
is difficult
Bigger Questions
I How did Google know?I How does Google work?I Tell me in a few minutesI Use google search to help you