teaching machines

Homework 0 – The Git Sandwich

For homework 0, you gained access to your homework repository on GitLab, cloned it on your local machine, and pushed those local changes back up to GitLab. In this installment, you will learn to synchronize in the other direction—you will pull changes down from GitLab to your local repository. Pulling Suppose you’re home for the […]

Homework 0 – Updating SpecCheckers

Like you, your instructor is a human with finite supplies of time and energy. Errors inevitably creep into the SpecCheckers, whose JAR files are sitting in your cloned repository. Your instructor will fix the errors, but how do you get the fixes into your repository? A decade ago you would download the updated JAR files […]

Homework 6 – A-routes

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 in Google Earth or Google Maps. The intent of the program is to promote exercise by making available a catalog of […]

Homework 5 – Plaid Scientist

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

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

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

SENG 440: Project 2

See the PDF.

1 2 3 18