teaching machines

CS 352 Lecture 5 – Makefiles

Dear students, I’ve gotten some emails about homework structure, C++, and Makefiles. I had a completely different discussion planned, but I think our time is best spent addressing your concerns. Today, then, we will create a skeletal C++ project that can be built with a Makefile. You may want to check out a few tutorials […]

CS 352 Lecture 4 – Relays

Dear students, We looked last time at the elements of electronic circuits: switches, voltage sources, resistance, and some sort of output device—in our case, an LED. In putting these parts together in various ways, you can build a piece of technology with a very fixed purpose. If you want the hardware to do something else, […]

CS 352 Lecture 3 – Electricity for Computer Scientists

Dear students, Today we step have a look at the foundation of our technology: electricity. Let me preface by admitting that I am no expert in this field. My understanding of this field is patched together through unstructured fiddling; it has many holes and assumptions that threaten its collapse. We discuss it now because this […]

CS 352 Homework 1 – Baseball – due before September 26

See the PDF.

CS 352 Lecture 2 – Bases

Dear students, Last time we looked at how aliens might encode a message and send it to us. After class I was thinking about the suggestion that they use ASCII. But this would really be quite a leap for them, because the only alphabet that they know that we understand is Morse. All the communication […]

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 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 352 Homework 0, Part 1

In this course, you will be completing your homework using the Linux operating system. The Department of Computer Science does provide some Linux servers that you can use, but your instructor asks you to install your own Linux image for a few reasons: You will learn more about a technology whose impact on our field […]

CS 352 – Computer Architecture

Course Information Syllabus Enrollment: ~52 Lectures Homework Exams