teaching machines

CS 145 Lecture 19 – While

Dear students, Let’s start by analyzing this piece of code: public static boolean isIsosceles(double sideA, double sideB, double sideC) { if (sideA == sideB) { if (sideB == sideC) { return true; } else { return false; } } else { return false; } } Sniff it. Kick it. Pounce on it. Does it hold […]

CS 145 Lecture 18 – If Ladders

Dear students, Let’s start today by writing a little game modeled after an exercise that my kids do at school. It’s called Math Mountain. A number appears at the peak, and another small number appears at mountain’s left foot. The left and right foot are to sum up to the peak. The student must supply […]

CS 145 Lab 6 – Conditionals

Welcome to lab 6! If you have checkpoints from the last 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. You must work with a partner that you have […]

CS 145 Lecture 17 – Diversions and Bifurcations

Dear students, We’ve seen the computer as a calculator, crunching numbers. We’ve seen the computer as a chef, calling upon recipes of code. We’ve seen the computer as a philosopher, considering truths about our data. Now it’s time to let those truths drive our computer’s actions. We will see the computer as a pilot, navigating […]

CS 145 Midterm 1

See the PDF.

CS 145 Lecture 16 – Logic Cont’d Cont’d

Dear students, In the late 1800s, logician John Venn invented a diagram for showing ideas of logic. He writes: I began at once somewhat more steady work on the subjects and books which I should have to lecture on. I now first hit upon the diagrammatical device of representing propositions by inclusive and exclusive circles. […]

CS 145 Lecture 15 – Logic Cont’d

Dear students, We’ve had an exam, which is mostly graded but not quite. I will hand them back in lab next Tuesday so that you have time to ask questions. Instead, we will carry on with our discussion of the logical operators. Let’s start with some Blackboxes: Blackbox #1 Blackbox #2 Blackbox #3 Then, let’s […]

CS 145 Lab 5 – Logical Operators

Welcome to lab 5! If you have checkpoints from the last 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. You must work with a partner that you have […]

CS 145 Lecture 14 – Logical Operators

Dear students, Our computer can now ponder our data. It can examine order and equality, two operations at the root of all decision making. Before we sign up for something, we ask ourselves if the benefit exceeds the cost. We compare two brands of pasta on price and weight. We scan the details of our […]

CS 145 Lecture 13 – Relational Operators

Dear students, Based on your quarter sheets on the frankenstring problem, I think we need to take a moment to recommend a thinking strategy when someone asks you to write a method. Here’s how to tackle such a problem: Listen to problem description just enough to determine what kind of data your method is supposed […]

1 9 10 11 12 13 35