Visitar URL original
course-materials/lectures/lecture_13.md at main · advanced-computing/course-materials · GitHub
Skip to content

Latest commit

 

History

History
122 lines (71 loc) · 2.53 KB

lecture_13.md

File metadata and controls

122 lines (71 loc) · 2.53 KB

Lecture 13

Big data; algorithms


Lab 12 issue

Redo tomorrow



Big-O notation


Exercise

Write out five two-digit numbers.


  1. When I say "go", add them up.
  2. Record the time.

For this exercise, don’t care if the answer's right or not.


Repeat with 10 numbers.


Repeat with 20 numbers.


  1. Split into groups of roughly even size (3-5).
  2. Someone be the reducer, others will be the workers.
  3. Workers, write out 10 two-digit numbers, split up roughly evenly (i.e. 3-3-4).

When I say "go":

  1. Workers:
    1. Add your numbers.
    2. Tell the reducer your sum.
  2. Reducer:
    1. Add them up.
    2. Record the time.

How many compute cycles did each take?

Draw chart of times on chalkboard, individual and team


Back to Big-O

How long would we expect each to take for 100 numbers?


Parallelization

  • Threads
  • Distributed workloads
  • MapReduce

What are real-world examples?

  • Serial vs. parallel
  • Sync vs. async

Debit card processing



Lab 14 DMs

Need one-quarter to one-third of the class as volunteers.

  • You'll be the Dungeon Master (DM), for folks familiar with D&D
  • Should be a good storyteller / comfortable thinking on your feet
  • 15-30 minutes of prep required
    • A doc will be shared with you

Algorithms & Efficiency

  • While I did find that sorting was the easiest for my brain to understand, I'm still a bit confused why the other examples were more efficient. Were there just less steps involved whereas sorting would have to go through each value one by one?
  • Is there still a practical reason for someone who is not a CS student to learn bubble sort or selection sort, or are they really just teaching tools at this point?
  • Could we go over Big O/ an example together :D

Algorithms & AI

  • If AI is fundamentally built on algorithms though, why does policy discourse treat AI governance as its own distinct conversation? Are black box algorithms really so vague and complex that we cannot understand their decisions?