teaching machines

CS 330 – Programming Languages

Course Information Syllabus Enrollment: 24 Lecture Homework Exams

CS 330 Final

See the PDF.

CS 330 Lecture 40 – Exit

Agenda what ?s review time Haiku

CS 330 Lecture 39 – Metaprogramming

Agenda what ?s JSON to Object memoize @Override writing a test runner Intentions I am familiar with the practice of metaprogramming, in which a program can inspect and act on itself—i.e., the program becomes another piece of data than can be inspected and manipulated. I am aware of several possible benefits of metaprogramming, including dynamic generation of […]

CS 330 Midterm

See the PDF.

CS 330 Lecture 38 – Promises

Agenda what ?s the event loop chaining asynchronous events callback hell parallelizing asynchronous events promises in JavaScript TODO Some folks have asked for a few more opportunities for participation points. I will grant 3 extra credit participation points to any student who gives a semi-lightning talk and demo (5-8 minutes) during lecture next Wednesday on some […]

CS 330 Lecture 37 – Promises and Futures

Agenda what ?s evaluate this synchronous asynchronicity futures in Scala promises in JavaScript TODO Some folks have asked for a few more opportunities for participation points. I will grant 3 extra credit participation points to any student who gives a semi-lightning talk and demo (5-8 minutes) during lecture next Wednesday on some contained and interesting programming […]

CS 330 Lecture 36 – Lazy Evaluation

Agenda what ?s call-by-name adding until to Scala call-by-need Intentions I can exploit call-by-name semantics to pass around unevaluated blocks of code, which can be used to implement control abstractions. I can exploit call-by-need semantics to implement lazy data structures. Code Until.scala Lazy.rb Haiku

CS 330 Lecture 35 – List Comprehensions and Currying

Agenda what ?s list comprehensions in Haskell and Scala a phobias searcher currying call-by-name adding control abstractions Puzzle On Friday, May 1, the Federal Aviation Administration issued a warning about a bug in Boeing’s 787 Dreamliner aircraft. If all four of the machine’s generator control units run continuously for 248 consecutive days, the electrical system […]

CS 330 Lecture 34 – Scala on the JVM, Higher-order Functions, and Parallelism

Agenda what ?s the Uniform Access Principle parallel processing Intentions I understand the Uniform Access Principle and its motivation. I can discover how Scala maps to the JVM. I can use Scala’s parallel collection routines to accelerate computation. Uniform Access Principle Bertrand Meyer said: All services offered by a module should be available through a uniform […]

1 14 15 16 17 18 35