teaching machines

CS 145 Final Exam

See the PDF. At the beginning of every semester of our introductory programming course, I ask my students to tell me about their prior programming experiences, if any. I like to cross-reference their self-reported experience levels with their final grades. The first several years I did this, I found that prior experience wasn’t necessarily a […]

CS 145 Midterm 2

See the PDF.

CS 352 Final

See the PDF.

CS 352 Midterm

See the PDF.

CS 145 Lecture 37 – Binary Search

Dear students, We close our semester today with a reading from Jeremy Kubica’s Computational Fairy Tales. It demonstrates an algorithm that I think is beautiful: the binary search. We will illustrate the algorithm and implement it to help code up a dictionary. I think this algorithm demonstrates a significant point. This ultra-fast algorithm wasn’t the […]

CS 352 Lecture 38 – Superion Technology

Dear students, Today we welcome Eau Claire’s very own Superion Technology to our class. They will be offering us a view of computer architecture in industry and through the lens of FPGAs. Here’s your TODO list to complete before next time: There is no next time. I will hand out final exams. Please complete these […]

CS 145 Lecture 36 – Lights Out

Dear students, Today we apply a little bit of everything we’ve learned in a case study of the game Lights Out. We’ll use primitives and objects, ifs and loops, arrays, files, exceptions, graphical user interfaces—the whole shebang! Here’s your TODO to complete before we meet again: Lab tomorrow will be crazy with review sessions, returned […]

CS 352 Lecture 37 – Hazard Mitigation

Dear students, Last time we introduced the idea of pipelining, which allowed multiple instructions to progress through the processor at a time. But we saw some dangers that crept in. If this were politics, we would tell pipelining to apologize and resign. But we’re computer scientists, and we fix things rather than give up on […]

CS 145 Lecture 35 – Data Analysis

Dear students, People often ask, “What can I do with computer science?” I usually splutter and stammer out an unconvincing answer, because the answer is pretty much anything. Your choices are many, and they widen near our nation’s larger cities. Some people fear that they will be spending all their time at a computer, but […]

CS 352 Lecture 36 – Pipelining

Dear students, We begin today with a short baking lesson that will demonstrate the need for processing instructions differently. Suppose I need a lot of cookies. Ignoring the setup costs, suppose it takes me 15 minutes to scoop out 12 balls of dough and plop them onto a baking sheet. These then cook for 30 […]

1 2 3 13