teaching machines

CS 1: Homework 0 – Part 2

In part 1, 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 to synchronize in the other direction—you will pull changes down from Bitbucket to your local repository. Pulling Suppose you’re home for the weekend, and you […]

CS 1: Homework 0 – Part 1

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: Bitbucket maintains a complete history of your source code using some software called […]

CS 145: Lab 1 – Variables and Scanner

Welcome to the first lab of CS 145! 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 checkpoints, […]

CS 1: Lecture 1 – Introduction

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

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

CS 145 Final Exam

See the PDF. At the beginning of every semester of our introductory programming course, I ask my students to tell me about their prior programming experiences, if any. I like to cross-reference their self-reported experience levels with their final grades. The first several years I did this, I found that prior experience wasn’t necessarily a […]

CS 145 Midterm 2

See the PDF.

CS 145 Lecture 37 – Binary Search

Dear students, We close our semester today with a reading from Jeremy Kubica’s Computational Fairy Tales. It demonstrates an algorithm that I think is beautiful: the binary search. We will illustrate the algorithm and implement it to help code up a dictionary. I think this algorithm demonstrates a significant point. This ultra-fast algorithm wasn’t the […]

CS 145 Lecture 36 – Lights Out

Dear students, Today we apply a little bit of everything we’ve learned in a case study of the game Lights Out. We’ll use primitives and objects, ifs and loops, arrays, files, exceptions, graphical user interfaces—the whole shebang! Here’s your TODO to complete before we meet again: Lab tomorrow will be crazy with review sessions, returned […]

CS 145 Lecture 35 – Data Analysis

Dear students, People often ask, “What can I do with computer science?” I usually splutter and stammer out an unconvincing answer, because the answer is pretty much anything. Your choices are many, and they widen near our nation’s larger cities. Some people fear that they will be spending all their time at a computer, but […]

1 6 7 8 9 10 35