labs | schedule | resources | email
|
Lab 2: Acme Sports Drinks |
This lab explores the use of lambda
And helps learn how anonymous functions (or procedures) can
be passed as arguments or partially redefined. [solution] |
|
Lab 3: Combine |
This lab explores the use of looping and
helper functions. It begins with lists and exploring attributes
of car and cdr before presenting
some exercises that require mastery of these concepts. [notes & solution] |
|
Lab 4: Cons & Recursion |
This lab emphasizes the value of tail recursion and shows how to write a looping (or recursive) program in more than one way: tail-recursive and non-tail recursive. Cons is introduced and applied in combination with recursion to do all sorts of things with lists. [notes & solution] |
|
Lab 5: Recursion & More |
This lab emphasizes the difference between simple and tail recursion (providing an explicit factorial example) and also discusses the use of internal defines for helper procedures. A couple of miscellaneous topics covered include the use of and, or, and map. [notes & solution] |
|
Lab 6: Using Let! |
This lab explains where let comes from and then provides three exercises that require the use of let to implement. [scheme file] [solutions] |
|
Lab 7: Data & Trees |
This lab explores the use (and purpose) of data abstraction techniques using define-record and record types for binary trees. It also touches on binary search trees. [solutions] |
|
Brainstrain 1: Opertaion Lambda |
This is the first Brainstrain exercise! |
|
Lab 9: Named Let & Vectors |
This lab shows a better way to define internal helpers using the named let expression. It also discusses vector data types and manipulation of vectors (in and out of loops). [scheme file] [solutions] |
|
Lab 11: Ports & Stuff |
This lab explores the use of scheme i/o ports and how to read and write to and from a stream. It's lots of fun really, and it even includes a nice little story. [scheme file] [solutions] |
|
Lab 12: analyze a read-int |
This links to a help function that applies a reader a number of times and returns the result in a list: it's kind of like map. [scheme file] |
|
Lab 13: Pascal and More! |
In this lab you will learn a hodgepodge of things. The most important, however is how to play with Pascal's Triangle. You will learn the importance of caching or at least finding efficient algorithms to do work. [scheme PT analysis] [solutions] |
|
Lab 14: Final Lab! |
The details of this lab are a surprise. Come in a good mood and remember that part of your grade is attending the lab... |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||