teaching machines

CS1: Lecture 3 – More Math

Dear students, Last time we started writing programs that performed little mathematical calculations for us. We used text to talk to the user in a more friendly way than the calculator. We used int for whole number data, and double for numbers with fractions. We used Scanner to get input. Writing programs is a new […]

CS 145 Lab 1 – Scanner

Welcome to the first lab of CS 145! Protocol 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. Read each of these out loud with your lab partner and check them off to acknowledge your understanding: You complete a few […]

CS1: Lecture 2 – Computer as Calculator

Dear students, Last time we inspected several programs and formulated these several decrees made by the designers of Java that explain why our programs are what they are: Decree 1: There is data and there are instructions. Decree 2: Code can be ours, or it can be someone else’s. Decree 3: Data can be mailed […]

CS 148 Lab 1 – Madeup, Homework 0, and Project Euler

Welcome to the first lab of CS 148! In the first half of today’s lab, we’re going to explore a language for making 3D models. We won’t be using this language for anything else in the semester, but it gets us thinking about programming in a visual way. We’ll start with a quick demo. In […]

CS 1 – Introduction to Programming

Course Information Syllabus Enrollment: CS 145: ~90 CS 148: ~30 Office Hours Lectures Labs for CS 145 Labs for CS 148 Homework Exams

CS1: Lecture 1 – Hello, CS1

Dear students, Welcome to CS 145: Programming for New Programmers or CS 148: Programming for Experienced Programmers! It’s important to me that we have a comfortable working relationship. We are, after all, on the same team. You wanted to prepare yourself for a bright future, and so you asked me to give you some homework […]

Homework 6 – A-routes – due December 15

Your objective in this homework is to learn how to marry data and code—or state and behaviors—into objects. You will do this in the context of writing a program that maps routes of runs (or jogs or walks) in Google Earth or Google Maps. The intent of the program is to promote exercise by making […]

Homework 5 – Plaid Scientist – due December 1

Your objective in this homework is to learn how to organize and process data using arrays. You will do this in the context of writing a program that generates plaid patterns. Arrays have two features that are indispensible when building software: they help us manage large sequences of data by collecting the data into a […]

Homework 4 – Wireframe – due November 12

Your objective in this homework is to acquaint yourself with conditional statements and loops, which enable you to write code that diverges and repeats. You will do this in the context of writing an application that produces a GIF of animated wireframe objects. This assignment is more involved and less easy to test in small […]

Half-homework 3 – Trutilities – due October 25

Your objective in this homework is to reason about data using logical and relational operators. Expressions built out of these operators yield true/false or yes/no answers, which can ultimately be used to steer our code one way or another. You will use operators to solve several disconnected problems that have no overarching story. Sorry again. […]

1 5 6 7 8 9 15