# Class 51: Review for Exam

Back to Records, Continued. On to In-class Exam 3.

Held Wednesday, November 29, 2000

Summary

Today we review the topics we've discussed these past few weeks as we prepare for the exam.

Notes

• Exam 3 is now ready for real. We'll discuss it a little bit midway through class.
• Don't forget, the mergesort lab is due today.
• I leave for my conference tomorrow morning at 7am. You can email me questions, but I won't read them until Sunday night or Monday morning.
• Job search update.

Overview

• Topics
• Take-home exam discussed
• Studying for the in-class exam

## Review

Variants on `let`

• Normal `let`
• `letrec`
• named `let`
• ...

Files

• Filenames vs. ports
• Opening and closing
• Primary input procedures: `read`, `read-char`, `peek-char`.
• Primary output procedures: `write`, `write-char`, `display`, `newline`.

Procedures as values

• Anonymous procedures (defined only with lambda)
• Procedures as parameters to other procedures (e.g., in sorting)
• Procedures as return values from procedures
• Creating a procedure by filling in some arguments to a procedure

Mutators

• General purpose of mutators
• How to write them
• Key list and vector mutators

Documentation

• The six Ps
• Internal documentation

Vectors

• Basics
• Operations
• Vs. lists

Multiple values

• Variable-arity procedures
• Returning multiple values from a procedure

Sorting and searching

• Purpose
• Typical parameters
• Basic searching algorithms: Linear search, Binar search
• Basic sorting algorithms: Insertion sort, merge sort

## Take Home Exam

• I'll spend a little time talking about the exam.
• Problem 1: Documeting procedures
• Problem 2: Binary search
• Problem 3: Searching for multiple keys
• Problem 4: Selection sort
• Problem 5: Splitting lists

## Studying

• How should you study for one of my in-class exams?
• Go through the labs and make sure that you know the answers to each of the exercises.
• Make notes on key ideas.
• Write a few questions of your own and make sure you can answer them.

## History

Thursday, 24 August 2000

• Created as a blank outline.

Wednesday, 29 September 2000

• Filled in the details.

Back to Records, Continued. On to In-class Exam 3.

Disclaimer Often, these pages were created "on the fly" with little, if any, proofreading. Any or all of the information on the pages may be incorrect. Please contact me if you notice errors.