Computer Science 151 is a laboratory-based course that uses collaborative
learning extensively. The following list outlines each laboratory exercise
for the course.
| Laboratory |
| Exercise | Title and Description |
|
Lab. 1 | Getting Started: |
| |
|
Lab. 2
| Beginning Scheme: |
| |
|
Lab. 3
| Editing Scheme Files: |
| |
|
Lab. 4
| Scheme within XEmacs : |
| |
|
Lab. 5
| An Introduction to Lists in Scheme: |
| |
|
Lab. 6
| Simple Scheme Predicates: |
| |
|
Lab. 7
| User-Defined Procedures: |
| |
|
Lab. 8
| Conditional Execution in Scheme: |
| |
|
Lab. 9
| Recursion: The Basics: |
| |
|
Lab. 10-11
| Variations on Recursion: |
| |
|
Lab. 12
| Random Number Generators: |
| |
|
Lab. 13
| Simulations: |
| |
|
Lab. 14
| Testing Preconditions: |
| |
|
Lab. 15
| Side Effects and Sequencing: |
| |
|
Lab. 16
| Patterns: |
| |
|
Lab. 17
| Flat Recursion: |
| |
|
Lab. 18
| Deep Recursion: |
| |
|
Lab. 19
| Pairs: |
| |
|
Lab. 20
| Trees: |
| |
|
Lab. 21
| Local Bindings: |
| |
|
Lab. 22
| Local Binding and Recursion: |
| |
|
Lab. 23
| Local Procedures: |
| |
|
Lab. 24
| Application: Placing Students Using An
Expert Systems: |
| |
|
Lab. 25
| Character Data: |
| |
|
Lab. 26
| Strings: |
| |
|
Lab. 27
| Input and Output: |
| |
|
Lab. 28
| An Introduction to Files: |
| |
|
Lab. 29
| Processing Lines in Files: |
| |
|
Lab. 30
| Beginning a File Processing Library: |
| |
|
Lab. 31
| Procedures As Values: |
| |
|
Lab. 32
| Variable Arity: |
| |
|
Lab. 33
| Higher-Order Procedures: |
| |
|
Lab. 34
| Formatted Output: |
| |
|
Lab. 35
| Vectors: |
| |
|
Lab. 36
| Structure Mutation: |
| |
|
Lab. 37
| Assignment and Scope: |
| |
|
Lab. 38
| And Introduction to the World Wide Web and CGI
Programming: |
| |
|
Lab. 39
| CGI Programming: |
| |
|
Lab. 40
| Iteration: |
| |
|
Lab. 41
| Insertion Sort: |
| |
|
Lab. 42
| Merge Sort: |
| |
|
Lab. 43
| Searching Methods: |
| |
|
Lab. 44
| Object-Oriented Programming: |
| |
|
Lab. 45
| Queues (Optional): |
| |
|
Lab. 46
| Object-Oriented Design (Optional): |
| |