teaching machines

Homework 4 – Wireframe

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

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

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 […]

CS 1 – Introduction to Programming

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

Half-homework 1 – Maintenance

Your objective in this homework is to acquaint yourself with the world of mathematical calculation using a programming language. Math in code is a little different than the calculator math you are used to in the following ways: Programmers make considerable use of variables, whose names tend to be longer and more meaningful. Numbers are […]

Homework 0 – Goodbye, Pluto

Your task in this homework—which is worth no Blugolds—is to set up your repository and IntelliJ IDEA project and to acclimate yourself to the SpecChecker grading tools. GitLab You are probably used to two kinds of systems for editing and managing files. Some tools are installed on your local machine and edit files stored on […]

CS 1: Final Exam

See the PDF.

CS 1: Lecture 38 – Binary Search

Dear students, We close our semester today with a discussion of finding things quickly with the binary search. We will illustrate the algorithm and implement it in the context of a dictionary/spell-checker. Earlier in the semester we discussed the linear search. Let’s revisit that algorithm first by locating a spice in our spice rack. What […]

CS 1: Lecture 37 – Lights Out

Dear students, It’s the last week! Given that we’re all stressed and ready to be done, let’s play a game today. Just kidding, let’s make one instead. We’re going to implement Lights Out, which started off as a handheld game from Tiger Electronics: The game is played on a 5×5 grid of lights, some of […]

CS 1: Lecture 36 – Unit Testing

Dear students, Today, we examine one of the less glamorous aspects of writing code: testing it. There are three big reasons to write systematic tests of your software: To make sure that your code does what you think it does. To expand your thinking into situations outside your normal parameter ranges and workflow. To ensure […]

1 2 3 8