teaching machines

Git Commit Logs

This semester I managed homework differently. On Bitbucket, I created a repository containing the homework specifications and some autograders. Each student made a private fork of my repository, inheriting permissions so that I could access the fork when a homework was submitted. When students commit a changeset, they include a brief description of the changes […]

CS 245 Wrapup

CS 245 has officially closed. I offer some reflection. Bitbucket We used Bitbucket for the first time ever to distribute and submit homework assignments. I wish I could say I learned how to overcome problems that my students ran into, but I can’t. Mostly issues seemed to stem from failing to follow the pull-code-commit-push workflow. […]

CS 245 Lecture 28 – Review

Agenda what ?s review Topics hashing maps linked structures vs. array structures trees binary search trees heaps and priority queues stacks queues When Will I Use This Stuff? All the time, none of the time, or some of the time. Check out http://programmers.stackexchange.com/questions/102041/why-are-data-structures-so-important-in-interviews. Donald Knuth, in Structured Programming with Goto Statements: Programmers waste enormous amounts of time […]

CS 245 Lecture 27 – Sockets

Agenda what ?s getting the time of day from a time server get the time of sunset from OpenWeatherMap getting rhymes from RhymeBrain a chat client Code Timestamp.java WhetherWeather.java Rhymer.java MSYahAIM.java Haiku

CS 245 Lecture 26 – Heaps and Priority Queues

Agenda what ?s think about this priority queues TODO Go visit CERCA today from 2-4 PM on 3rd floor Davies. Talk to some student researchers about their projects. What’s your reaction? Extra credit 1/4 sheet. Think About This Code NumberOfCores.java MaxHeap.java Circle.java Circles.java Haiku

CS 245 Lecture 25 – Threading for Concurrency

Agenda what ?s threading for parallelism threading for concurrency background tasks animation FYI Check out Android’s statement about responsiveness in mobile apps. Code ImageDownloader.java Bouncing.java slowimage.php Haiku

CS 245 Lecture 24 – Trees and Hello, Threads

Agenda what ?s think about this removing from a BST threads TODO Read chapter 14 (Multithreading) through section 14.3 (Thread States). 1/4 sheet. (Probably the last.) Think About This Watch Brian Harvey’s lecture. Write BinarySearchTree.insertKeysBetween: Code BinarySearchTree.java Harvey.java Haiku

CS 245 Lab 11 – Threads

First, if you have checkpoints left over from last lab, get them inspected during the first 15 minutes of this lab. No credit will be awarded past these 15 minutes. 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 […]

CS 245 Lecture 23 – Tree Edits and Traversals

Agenda what ?s the uses of trees think about this adding elements removing elements traversing TODO Start preassignment 3. Due before May 9. Think About This What is printed by the following code? What’s printed if we replace Stack with Queue, push with enqueue, and pop with dequeue? Code BinarySearchTree.java BSTBFF.java Haiku

1 2 3 10