## CS 1: Final Exam

See the PDF.

## CS 1: Lecture 38 – Binary Search

Dear students, We close our semester today with a discussion of finding things quickly with the binary search. We will illustrate the algorithm and implement it in the context of a dictionary/spell-checker. Earlier in the semester we discussed the linear search. Let’s revisit that algorithm first by locating a spice in our spice rack. What […]

## CS 396: Meeting 14 – Applied Data Consultants

Dear students, Today we welcome Marc Harter of Applied Data Consultants as our guest. When I first moved to this town, one of my students told me about this guy named Marc that he worked with. This Marc apparently had an amazing knowledge of web technologies, and most of it was self-taught. A little later […]

## CS 1: Lecture 37 – Lights Out

Dear students, It’s the last week! Given that we’re all stressed and ready to be done, let’s play a game today. Just kidding, let’s make one instead. We’re going to implement Lights Out, which started off as a handheld game from Tiger Electronics: The game is played on a 5×5 grid of lights, some of […]

## CS 1: Lecture 36 – Unit Testing

Dear students, Today, we examine one of the less glamorous aspects of writing code: testing it. There are three big reasons to write systematic tests of your software: To make sure that your code does what you think it does. To expand your thinking into situations outside your normal parameter ranges and workflow. To ensure […]

## CS 1: Lecture 35 – Implementing a Growable Array

Dear students, Today, December 6, is National Growable Array Day. We will celebrate growable arrays everywhere by growing one of our own growable arrays, right here, in our classroom. I hope you wore your festive gear. Behind every growable array is an plain old ungrowable array. When that ungrowable array gets filled up, a new […]

## CS 396: Meeting 13 – Innovative Computer Software

Dear students, Today we welcome John Huss of Integrated Computer Solutions as our guest. John brings us the perspective of working for a small company. You’ll have to excuse me for using this class as an opportunity to reunite with old friends. John is a friend I haven’t seen since 2003. He and I were […]

## CS 145: Lab 12 – Splatbot

Welcome to lab 12! 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 create a robot […]

## CS 1: Lecture 34 – Volume Slicer

Dear students, When we last met, we made a slideshow application. This was our first graphical application that we wrote from scratch. We organized the code into two camps: model code and view code. This separation made the model code reusable under many different circumstances. Let’s do all that again today, but in a different […]

## CS 145: Lab 11 – Objects with Objects

Welcome to lab 11! 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 create a bare-bones […]