teaching machines

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 352 Lecture 14 – Program Counter

Dear students, The next homework is due in a few days, and I want to revisit some HDL concepts in hopes to roust up any questions you have. In particular, the advanced chips can benefit from array slicing, which we haven’t talked about yet. We’ll start today with an example of a hardware component that […]

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

CS 491 Meeting 5

Dear students, We are in the working phase of developing our games, so most of our time will be spent giving weekly progress reports. Here are some questions we will probably ask you: What’s the riskiest part left to investigate in your endeavor? What three or more specific things will you accomplish before we meet […]

CS 491 – Game Development for Computer Science Education

CS 145 Lecture 12 – Test-driven Development

Dear students, Last lecture I said we’d have one more day of focus on methods, but then we spent the entire time talking about casting. Today we’ll start the fill-in-the-blank exercises to exercise our method brain. Your task is to jot what goes in each blank of the following code snippets. One of the blanks […]

CS 352 Lecture 12 – ALU

Dear students, Now that we have hardware components that can perform boolean logic and arithmetic, let’s package them all together into a one-stop shop called the arithmetic-logic unit (ALU). This component will perform exactly one of many possible operations. Which operation it performs will be determined by 6 control pins, and it will also accept […]

CS 145 Lab 4 – Methods

Welcome to lab 4! 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 11 – Methods x4

Dear students, Let’s do one more of the exercises from last time! Middle public class Middle { public static void main(String[] args) { char a = ‘a’; char e = ‘e’; char middle = average(a, e); System.out.println(middle); } public static char average(char c1, char c2) { return (c1 + c2) / 2; } } This […]

CS 352 Lecture 11 – Subtracting

Dear students, We have built a large chunk of the core arithmetic and logic hardware inside a computer. We have built AND, OR, NOT, and other boolean gates. We have built an adder. We’ve also designed some components for selecting out bytes from RAM. Things are coming together! One thing that we are not able […]

1 6 7 8 9 10 13