teaching machines

CS1: Lecture 21 – If Ladders

Dear students, Our programs have completed optional work with the diversion pattern. Our programs have chosen between two actions with the bifurcation pattern. Today we look at the making n-way choices with the ladder pattern. Ladders Suppose you’ve got an app that measures the pH of something—the food your about to ingest, perhaps. You want […]

CS 145 Lab 6 – Conditional Statements

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 […]

CS1: Lecture 20 – If Bifurcations

Dear students, The software we can now write feels alive. We can get user input. We can ask questions about it. And we can respond in different ways with conditional statements. These conditional statements appear in three general forms. Last time we saw the diversion form, in which we perform some extra work when a […]

CS1: Lecture 19 – If Diversions

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 […]

CS1: Midterm 1

See the questions and answer sheet.

CS1: Lecture 18 – Midterm 1

Dear students, Today we have a midterm instead of our regularly scheduled lecture. I am providing a list of the methods that you may or may not need as you complete the exam. Here’s your TODO list to complete before we meet again: Homework 3 is officially assigned. It is due October 25. You must […]

CS1: Lecture 17 – Short-circuiting and Venn Diagrams

Dear students, Today’s our last day of talking about booleans as an independent idea. We will examine an unexpected behavior of our logical operator friends and then discuss one more way to visualize logic: the Venn diagram. Short-circuiting Next up we’ll examine the following piece of code. What is the output from each statement? public […]

CS 148 Lab 6 – Logical Expressions

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 the logical operators […]

CS1: Lecture 16 – Logic Continued

Dear students, Today we keep asking questions about data. Let’s start with some blackboxes! Blackbox #1 Blackbox #2 Blackbox #3 Blackbox #4 Blackbox #5 Blackbox #6 Now let’s do some more free-form exercises: Has digit? Does a password contain at least one digit? No attachment? Is the word “attachment” absent from the body of an […]

CS1: Lecture 14 – Relational Operators

Dear students, We have seen the Computer as Calculator, a lover of number crunching. We have seen the Computer as Chef, organizing its tasks into self-contained recipes. Now we see the Computer as Philosopher, seeking truth from our data. Truth is communicated in our programs through the boolean data type. Values of type boolean can […]