teaching machines

CS 491 Lecture 24 – OAuth2 Access Tokens

Agenda what ?s final exam time: R 5-7 exercise: getting OAuth2 access tokens Exercise Last time we started integrating access to a Picasa Web account into our mobile apps. All the interaction with the Picasa Web hinged on having a special string—the access token—which we sent along with every request in the Authorization header. We […]

CS 245 Lecture 24 – Binary Search Trees

Agenda what ?s design this isKitten binary search tree vs. sorted array implementing a BST Node isEmpty size get add delete a problem with BSTs: balance Design This Code HashEg.java BinarySearchTree.java Haiku

Autocompleting Student Usernames in zsh

I use a lot of scripts to help me grade students’ work, enter their scores in the gradebook, and send them email reports. For example, I might grade the entire class’s work with: Or maybe I just want to grade Quintin Buster’s submission. I just supply his username as a parameter: I’ve had an itch […]

CS 245 Lecture 23 – Binary Search Trees

Agenda what ?s what does this do? what if we don’t override equals? what if we don’t override hashcode? hashes as a generalization of arrays hashes in C++ hashes in PHP hash/object duality in JavaScript binary search over linked structures the binary search tree What Does This Do? Hash Links Arrays as maps in PHP […]

CS 245 Lab 12 – Threaded Image Processing

First, if you have checkpoints left over from last lab, get them inspected during the first 15 minutes of this lab. Don’t forget to work in pairs! Where possible, please work with someone that you did not work with last week. The exchange of new ideas and perspectives is not an opportunity you want to […]

CS 245 Lecture 22 – Hashtables

Agenda what ?s turning keys into integers turning integers into indices handling collisions of indices chaining vs. linear probing finding word frequencies in Project Gutenberg TODO Read chapter 14 through section 14.2. 1/4 sheet. Lab exercise will be easier if you read this before then. Code Map.java Fastmap.java CountedWord.java FrequentWordFinder.java Haiku

CS 491 Lecture 22 – Working with Picasa Web

Agenda what ?s building a Picasa Web browser recover Exercise Today let’s make a browser for Picasa Web. The overarching design is this: The first screen presents a list of albums. When the user selects an album, the app transitions to a list of pictures in that album. When the user selects a picture, the […]

CS 245 Midterm

See the PDF.

CS 245 Lecture 21 – The Problem of Lookup

Agenda what ?s what does this do? program this methods for mapping keys to values TODO Read section 7.2 and 7.3. 1/4 sheet. What Does This Do? Lookup We want to map keys to values: names to phone numbers (a phonebook), web addresses to IP addresses (DNS), terms to their definitions (dictionary), words to their […]