[CS Dept., U Chicago] Courses


CMSC 16100: Honors Introduction to Computer Programming I (Autumn 2003)

Class Project

Step 1: Approximate reals as rational intervals



Project step 1 is due at 11:59 PM on Monday, 10 November, 2003.

In this step, we port the ratpair implementation of the ratintvl datatype from the 2002 project to the 2003 project. Your task is to read the Web presentation of the 2002 project and make sure that everything up through the first step will work for us this year. Notice that code supposedly implementing the first step is available on the "Selected solutions" page. There may be some plain old errors to catch. We are also concerned with catching any features that depend on MIT Scheme and will not run on MZScheme (the implementation of Scheme used by the DrScheme programming tools). Besides the implementation code in my ratintvl-3_ratpair-1,mod1.scm files we need the testing utilities in progutils-2.scm in order to test things. The most likely problem is the timetest feature. If we identify such a problem now, I can fix it before we need to do any time tests.

As you study the old materials, watch out for differences in notation. In particular, last year I used the old traditional notation for list selectors.

Last year, I also used traditional Scheme quoting and list notation. Standard Scheme has the list function, but it is often not used as heavily as the DrScheme material suggests. For example, '(1 2 3) is the same as (list 1 2 3). In general, you need the list function when one or more elements of the list need to be evaluated (e.g., (list (+ 1 2) 3 4)), but when all elements of a list are given literally, you can use the quoted form. I will explain the traditional notation systematically soon. For now, notice the difference and see how well you can figure it out.

Try out the old 2002 stuff, post problems, suggest solutions. Aren and Duru and I will collect the issues and organize a better structured presentation of the tools and implementations.

What to hand in

Hand in a single file, named journal.txt, with a brief and informal textual description of what you tried and what you discovered in using the 2002 materials. About one page in list form is ideal. You may use a nicer format, such as DVI or PostScript if you like.


Valid HTML 4.0!


Last modified: Sat Nov 8 17:07:57 CST 2003