CS 2135 (C03) Homework 4: Extending The Slideshow Program

Due: February 6 (Thursday) at 11:59pm via turnin (assignment name hwk4).

Assignment Goals


The Assignment

In a slideshow package such as powerpoint, overlays let the presenter add details to the slide that's already on the screen. This is useful when showing several steps in a single example, where each step builds on the previous ones.

For this assignment, add overlays to the slideshow program with dynamic content. Start with the file from class, and modify it accordingly. You will need to modify the data definition for programs to allow someone to specify overlays, modify the talk program to use overlays, and modify the interpreter to process the overlays.

As an example, here's how a run of the program with overlays might look:

       ------------------------------
       Title: Hand Evals in DrScheme

       Hand evaluation helps you learn how Scheme reduces programs to values
       ------------------------------
       n
       ------------------------------
       Title: Example 1
       
       ------------------------------
       n
       ------------------------------
       Title: Example 1
       
       1. (+ (* 2 3) 6)
       ------------------------------
       n
       ------------------------------
       Title: Example 1
       
       1. (+ (* 2 3) 6)
       2. (+ 6 6)
       ------------------------------
       n
       ------------------------------
       Title: Example 1
       
       1. (+ (* 2 3) 6)
       2. (+ 6 6)
       3. 12
       ------------------------------
       n
       ------------------------------
       Title: Summary: How to Hand Eval
       
       1. Find the innermost expression
       2. Evaluate one step
       3. Repeat until have a value
       ------------------------------
       n
       End of show

Things to note from this example

The example 1 slide sequence comes from one slide and 3 overlays. Also note:

Guidelines on your solution

How should overlays behave? Here are some assumptions you can and cannot make, and some clarifications based on myWPI postings:

You are free to modify the existing data definitions on this assignment. You shouldn't need to modify them a lot though. If you find you are making lots of edits, come check with one of us before proceeding.

If you are stuck, here are some hints to get you started. I urge you to think about the problem for a while before looking at the hints -- you'll develop better language development instincts that way.


What to Turn In

Turn in a single file hwk4.ss (or hwk4.scm) containing all code and documentation for this assignment. Make sure that both students' names are in a comment at the top of the file.


Hints and Guidelines


Back to the Assignments page