teaching machines

CS 1: Lecture 30 – Hello Objects

Dear students, Today we start by finishing up our exercise with the card game. We’ve seen the Computer as a Calculator, a Chef, a Philosopher, a Pilot, and a Factory Worker. We’ll see it in two more roles: a Scribe and a Creator. A scribe is literate, recording accounts and memories for later retrieval. We’ve […]

CS 148: Lab 10 – Arrays

Welcome to lab 10! 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 29 – Growable Arrays

Dear students, Arrays make the modern world happen. The computer itself can be viewed as one big array, lining up all our data, music, photos, and movies on disks and in RAM. However, arrays have their limits. In particular, arrays are fixed in size. We need to know their size when we create them. Sometimes […]

CS 396: Meeting 10 – Cisco

Dear students, Today we welcome Jonathan Gardner from Cisco as our guest. Jonathan and I were fellow graduate students down in Knoxville, Tennessee. Graduate school is a pretty sweet place, because everybody that’s there wants to be there. Not only did we have computer science interests binding us together, but we were also on the […]

CS 1: Lecture 28 – Arrays in 2D

Dear students, Let’s start today off with some blackboxes. As we solve these, consider which of the four patterns our algorithm fits. Blackbox #1 Blackbox #2 Blackbox #3 Blackbox #4 Blackbox #5 Now let’s consider a famous statistical problem. Suppose birthdays are uniformly distributed across the calendar year. What’s the probability that we in this […]

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 […]