teaching machines

CS 330 Lecture 39 – Dynamic Typing, Duck Typing, Multiple Inheritance

Agenda what ?s static vs. dynamic vs. duck multiple inheritance traits/mixins Code sum.rkt duck.rb mixin.rb Haiku

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 330 Lecture 38 – Reflection and Metaprogramming

Agenda what ?s a testing framework in Ruby checking for correct overrides in Java handling wild calls in Ruby Code Certain.rb Usurps.java Supertype.java Subtype.java UsurpsCheck.java weather.json ezserial.rb Haiku

CS 330 Lecture 37 – Promises and Futures

Agenda what ?s what does this do? easier concurrency without side effects call by value, name, need the dangers of the C preprocessor delayed/lazy evaluation promises in Ruby futures in Java What Does This Do? Code compromise.rb Thunk.java Future.java Main.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 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

1 76 77 78 79 80 110