teaching machines

CS1: Lecture 7 – What’s Wrong With These?

Dear students, Today’s a bit of a clean-up day. There are some ideas that didn’t quite fit into our previous discussions, and I’ve also had the chance to see your code a few times now and want to address some concerns. Let’s have a day of miscellany. What’s Wrong With This? There are two dimensions […]

VOICES 2019: Learning Music Theory through Code with Deltaphone

Follow is a draft of my talk for VOICES 2019, a virtual conference on the use of music in STEM learning. This is the first virtual conference I have attended. No flight, no badge, no bag of unwanted promotional materials. Just people talking about music and learning from the comfort of their homes and offices. […]

CS 148 Lab 3 – Math and String

Welcome to lab 3! 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. Work with a partner that you have not […]

Homework 0 – The Git Sandwich

For homework 0, you gained access to your homework repository on GitLab, cloned it on your local machine, and pushed those local changes back up to GitLab. In this installment, you will learn to synchronize in the other direction—you will pull changes down from GitLab to your local repository. Pulling Suppose you’re home for the […]

CS 145 Lab 2 – Math and Strings

Welcome to lab 2! 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. Work with a partner that you have not […]

Homework 0 – Updating SpecCheckers

Like you, your instructor is a human with finite supplies of time and energy. Errors inevitably creep into the SpecCheckers, whose JAR files are sitting in your cloned repository. Your instructor will fix the errors, but how do you get the fixes into your repository? A decade ago you would download the updated JAR files […]

CS1: Lecture 6 – String

Dear students, We have been looking at the computer’s role as a calculator, but we will deviate from this theme today. Numbers are not the only thing that computers are good at crunching. They are also really good at crunching communication. They can send out our words (and propaganda) as fast as electricity travels. So, […]

CS1: Lecture 5 – Primitive Types

Dear students, We’re going to start with a little game. You will pick a number, I will present to you a series of sheets with numbers written on them, you will tell me if your number is present, and I will tell you what your number is. It’ll be a little bit of magic! Or […]

CS1: Lecture 4 – Math Methods

Dear students, Today we introduce the Math class. This class has a bunch of pre-written recipes for computing various mathematical operations. We can see what it all provides by looking at its documentation. I usually find the documentation for a class by searching java ClassName in my favorite search engine. The Math class is full […]

CS 148 Lab 2 – Scanner

Welcome to the lab 2! Our goal today is to become more familiar with user interaction and the various mathematical operations. Checkpoint 1 Person A, take control of the machine! Let’s write a program that prompts the user for two colors and mixes them together. This sort of routine is used all the time when […]

1 2 3 166