# teaching machines

## CS 1: Lecture 21 – Loops, Part 3

Dear students, We explore more examples of loops today. Because we are, in fact, stuck in a loop. There’s no way out of this. Write a program that prompts a user for a file. Report how many bytes it occupies on disk. If a bad file is entered, repeat the prompt until the user gets […]

## CS 1: Lecture 20 – Loops, Part 2

Dear students, Three big ideas will consume the rest of our semester: loops, arrays, and objects. Nothing we’ve discussed so far will go away. We will be spending our days seeing applications of these ideas. Like today. Our entire time will be spent writing some applications that use loops. Write a program that counts the […]

## CS 1: Homework 4 – Proportable – due before November 8

See the PDF. Eventually, you’ll need to Team / Pull… from the template repository to get the SpecChecker, which is almost finished.

## CS 1: Lecture 19 – Loops

Dear students, I write from California, with its red tile roofs and bank-breaking housing. We will not be meeting for lecture while I am presenting at the FabLearn 2017 conference, but I have a few videos for you to watch. Just as we saw how if statements can cause our CPU to jump ahead to […]

## CS 145: Lab 6 – Conditionals

Welcome to lab 6! 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, we’ll explore conditional statements, which […]

## CS 1: Lecture 18 – If Bifurcations and Ladders

Dear students, Last time we saw how we could introduce extra little diversions or sidesteps into our code. Some bit of code needs to get executed under certain conditions, so we embed it in an if. In other situations, we actually want to choose between two competing bits of code. I call this pattern a […]

## CS 1: Lecture 17 – If Diversions

Dear students, We now turn to another model of logic: Venn diagrams. 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 […]

## CS 145: Lab 5 – Logical Expressions

Welcome to lab 5! 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, we’ll explore the logical operators […]

## CS 1: Lecture 16 – Shortcircuiting

Dear students, Let’s start with a little number I like to call What Do This Do?. I will show some code, you will inspect it silently for a moment, and then you will argue with your neighbor about what it does. Here we go: What Does This Do? #1 public static boolean isSomething(Random g) { […]

## CS 1: Lecture 15 – Truth Tables

Dear students, Today we keep asking questions about data. Let’s start with some blackboxes! Blackbox #1 Blackbox #2 Blackbox #3 Let me be frank with you. Expressing a program’s logic can get really confusing, and this is probably the spot where we make the most mistakes when writing code. There are various tools to help […]