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 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 […]
CS 396: Meeting 9 – Cray
Dear students, Today we welcome Dan Ernst from Cray to our class. He’s going to lead us in a discussion about where our industry is headed in terms of hardware. You probably think Dan is a complete stranger, a separate human being whose life has run completely independently of yours. Like two processes on two […]
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 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 396: Meeting 8 – General Mills
Dear students, Today we welcome Ashley Nelson from General Mills. She’s going to share with us about her task of keeping up a large-scale infrastructure. I had the honor of having her as a student in ComS 227. The class met in Carver Hall, and the room had tables—tall ones. She set in the middle […]