CS 455 Lecture 22 – Applying Noise
Agenda what ?s last homework compute this generating noise wood and marble fog Compute This Suppose you’ve got three numbers. You want to weight and sum them. The 0th should be weighted half as much as the 1st. The 1st should be weighted half as much as the 2nd. What are the weights? Suppose you’ve got […]
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 […]
CS 330 Lecture 33 – OOP and HOF via Scala
Agenda what ?s classes in Scala a sepia generator marching squares Intentions I can create classes and objects in Scala. I can reuse Java classes in Scala. I can write for-comprehensions, which are imperative-styled maps. TODO I recommend you walk through tutorials I and II on Simply Scala. No 1/4 sheet. Code Image.scala Main.scala Haiku
CS 330 Iso Homework – due before May 17
See the PDF.
CS 330 Lecture 32 – Filter and Memoization
Agenda what ?s program this type synonyms memoization Intentions I can use the filter pattern with custom predicates to extract a subset of data. I can employ memoization to cache and quickly recall the results of function calls. Program This Write a function maxAll that accepts a list of numbers and yields the maximum. Problems Write […]
CS 455 Lecture 20 – Environment Mapping
Agenda what ?s reflecting a vector environment mapping TODO As a lab exercise: Sync with the class repo to get the environment starter project. Run the project to find a scene with three models hovering over a terrain and nestled in a skybox. Use the cursor keys to rotate the models. We want to these […]
CS 330 Lecture 31 – Maps, Filters, and Folds
Agenda what ?s a gallery of maps, filters, and folds pairs lambdas composition TODO On a 1/4 sheet, write these functions using map, filter, or fold: lengths, which accepts a list of strings and yields a list of all their lengths. For example, lengths [“a”, “bcd”, “efghi”] yields [1, 3, 5]. tweens, which accepts a low, a […]
CS 455 Lecture 19 – Skyboxes
Agenda what ?s skyboxes up next: environment mapping TODO As a lab exercise: Sync with the class repo to get some tweaks to the Texture and ObjUtilities classes, a skybox starter project, a box model, and some skybox textures. Build and run skybox to make sure it works. You should see a heightmap with a […]
CS 330 Lecture 30 – Pattern Matching, Partial Function Evaluation, and Map
Agenda what ?s more on pattern matching capitalize proportionalize at, a subscript operation partial function evaluation kthSmallest winner runnerUp the map pattern Intentions I can organize my solution to a problem by matching my data against patterns in case statements or function parameters. I can generate functions from other functions by partially applying a subset of their parameters. I […]
CS 330 Lecture 29 – Functional
Agenda what ?s what makes a language functional Haskell expressions functions lists pattern matching partial function application TODO Start the Funfun homework. Due before May 1. Pull down to get revised Funfun spec and fix in Timbre grader. See Piazza @16. No class on Friday. 1/4 sheet: Read first four chapters of Learn You a Haskell […]