teaching machines

CS 330 Lecture 36 – Memoization

Agenda what ?s program this the benefits of no side-effects memoization in Haskell memoization in Ruby TODO Read about tool selection and the lack of silver bullets: http://blog.awe.sm/2012/12/10/how-to-choose-the-right-tool-for-the-job-awe-sms-language-journey and http://frankchimero.com/blog/no-new-tools. Read on laziness in D: http://dlang.org/lazy-evaluation.html. Go to CERCA (Ojibwe Ballroom, 3rd floor Davies) and talk to some student researchers. Pick one or two or three. 1/4 sheet. Program […]

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 330 Lecture 35 – Lambdas and Closures Elsewhere

Agenda what ?s blocks in Ruby lambdas and streams in Java lambdas in C++ Code blocks.rb monkey.rb BigButton.java TreeDB.java 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 330 Lecture 34 – Fold, Tail Recursion, and Lambdas

Agenda what ?s think about this all, any, sum, product, size, join tail recursion fold/reduce/inject lambdas in Java lambdas in Ruby lambdas in C++ Think About This Code april23.hs 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

CS 245 Preassignment 3 – due before May 9

See the PDF.

CS 330 Lecture 33 – Map, Fold, Filter, Lambdas

Agenda what ?s program this three patterns for-each combine filter anonymous functions TODO Read chapter 6 in Learn You a Haskell (http://learnyouahaskell.com/higher-order-functions). 1/4 sheet. Program This Code april21.hs Haiku

CS 330 Lecture 32 – Type Inference, Functions, and Lists

Agenda what ?s type interference in other languages type signatures curried functions infinite lists list processing case statements pattern matching map lambda Think About This Code april18.hs Haiku

1 2 3