Sid Stamm's C211 Page

  labs | schedule | resources | email

 

C211 Labs & Solutions

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...

 

My Weekly Schedule

15 minute gaps between blocks to permit walking time
I am always in my office during office hours, but I am also available by appointment anywhere on this schedule that is not occupied.
  Monday Tuesday Wednesday Thursday Friday
10:00A - 11:00A C211 Office Hours
LH 230
       
11:15A - 12:30P   class   class  
1:00P - 2:15P class   class C211 Lab
Section 1468
BH 108
 
2:30P - 3:45P class   class C211 Lab
Section 1469
LH 023
 
4:00P - 5:00P C211 Office Hours
LH 230
       
5:15P - 5:30P  
5:45P - 6:30P   class   class  
6:30P - 7:00P        
7:15P - 8:00P          
8:15P - 9:15P C211 Staff Mtg        

sstamm (at) indiana (dot) edu