teaching machines

CS 352 Homework 0, Part 3

In part 2, you created your homework repository on Bitbucket, cloned it on your local machine, and pushed local changes back up to Bitbucket. In this installment, you will learn how to pull changes down from Bitbucket to your local mirror. Pulling Suppose your home on for the weekend, and you get the craving to […]

CS 352 Homework 0, Part 2

Follow these steps to create your class homework repository and get homework 0 up and running. 1. Create a Bitbucket account In this class, all your code will be stored with the Bitbucket webservice. Using this third-party service has some nice benefits: they maintain a complete history of your source code using some software called […]

CS 145 Lab 1 – Variables and I/O

Welcome to the lab section of CS 145! Lab is a time intended for you to work on programming exercises in a low-stakes environment and with lots of help at your disposal. This is how it works: You complete a few checkpoints, which consist of short programming exercises. Questions are always fair game. Your instructor […]

Code Scrambler

Some of the most engaging learning I’ve ever experienced was in high school Spanish class. What magic did Mrs. Lee possess that made instruction so enjoyable? She had us play countless games. I try to emulate her foreign language classroom when I teach folks a new programming language and am therefore always on the hunt […]

CS 145 Lecture 1 – Main

Dear students, Welcome to CS 145: Introduction to Object-oriented Programming. This is the first course in the computer science major, but lots of other folks take it too. In fact, I will show a quick breakdown of all the different majors. What prompted you to take this class? Very few high schools teach such a […]

CS 352 Lecture 1 – Alien Protocols

Dear students, Welcome to CS 352: Computer Architecture. Ernest Hemingway is said to have written a story in just six words: “For sale: baby shoes, never worn.” The story of this class can be stated with just two words: “Abstractions leak.” Our forebears have worked very hard to make computers understand our computational desires at […]

CS 491 Meeting 1: Game Development for Computer Science Education

Dear students, Welcome to CS 491: Game Development for Computer Science Education. I summarize this class with one sentence: let’s teach machines to teach people. This is a project-based class—meaning that we will spend very little time in lecture and a lot of time building games to help people learn computer science concepts. This class […]