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 […]
Starring Matariki
During our last week in New Zealand, we attended the Matariki Festival at my sons’ school. Matariki is the Māori name for one of the stars that becomes visible in June, marking the start of a new growing season. The school celebrated with song and dance and an art show. For the art show, one […]
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. […]
Half-homework 2 – Methods – due October 7
Your objective in this homework is to make code self-contained and reusable using methods. You will do this in the context of solving several disconnected problems that have no overarching story. Sorry. Breaking code up into methods has several benefits: it enables large problems to be decomposed into smaller, mind-sized bytes; methods with a distinct […]
Triadic Chords in Deltaphone
When non-pianists approach a piano, they will strike random keys—but often just one key at a time. If they play more than one, the sound is likely to be unpleasant. But that’s only because they don’t know which keys to strike at the same time. Let’s work out in Deltaphone a system of notes that […]