# teaching machines

## CS 145: Lab 9 – Arrays

Welcome to lab 9! If you have checkpoints from the last lab to show your instructor or TA, do so immediately. No credit will be given if you have not already completed the work, nor will credit be given after the first 10 minutes of this lab. In this lab you will work with data […]

## CS 1: Lecture 27 – Array Patterns, Part 2

Dear students, Last time we started looking at a few array patterns: map, linear search, and optimize. Today we visit the last of these: the accumulate pattern. Accumulation algorithms collect all the data up into one big value. Finding the sum, mean, and product of a bunch of numbers fits this description. So does joining […]

## CS 1: Lecture 26 – Array Patterns

Dear students, After you solve a few array problems, you start to see some regular patterns emerging in your algorithms. Today, we break down a few of those patterns. The payoff of cataloging these is that the next time we encounter an array problem, we can apply the general structure and save our labor and […]

See the PDF.

## CS 1: Lecture 25 – Arrays as Bundles

Dear students, Last time we used arrays as a means to map integers to values. We associated our data with 0, 1, 2, 3, and so on. When we got a new piece of data in, we use its index to reach inside our array directly. Today we shine the spotlight on arrays as a […]

## CS 1: Lecture 24 – Data in Series

Dear students, We officially close out our discussion of the Computer as a Pilot, during which we made the computer navigate this way and that way and back again through our code using conditional statements and loops. But, like always, these ideas of branching and repetition will never leave us. Computers make a lot of […]

## CS 145: Lab 8 – Spinner

Welcome to lab 8! If you have checkpoints from the last lab to show your instructor or TA, do so immediately. No credit will be given if you have not already completed the work, nor will credit be given after the first 10 minutes of this lab. Checkpoint 1 Person A types. Your task is […]

## CS 1: Lecture 23 – Loops, Part 5

Dear students, Write a program to produce an animated GIF of a bouncing ball. Write a program to automatically intersect two words. Like this: a u t pumpkin m n Write a program to play Linesweeper, which is like Minesweeper, but in one dimension. Write a program to find all alliterative sequences in a text […]

## CS 1: Lecture 22 – Loops, Part 4

Dear students, This weekend six computer science majors from the department competed at the 2017 ACM Intercollegiate Programming Contest. We competed at Macalester College in St. Paul. One of our teams solved four problems, which was good enough to place 20th in the entire North Central region, which includes Wisconsin, Minnesota, parts of Canada, the […]

## CS 145: Lab 7 – Loops

Welcome to lab 7! If you have checkpoints from the last lab to show your instructor or TA, do so immediately. No credit will be given if you have not already completed the work, nor will credit be given after the first 10 minutes of this lab. In this lab, we’ll explore loops, which let […]