Assignments in the second half of the quarter are organized in a coherent (at least it's intended to be coherent) project, producing a simulated hand calculator performing computations with exact real numbers.
The class project for CMSC 16100 is an open project. It is open in two senses.
I hope that the open project format will reduce the inefficiency of learning in your own individual Skinner box, without adding the huge social and organizational burden of working in defined groups. In order to benefit from the project, both in learning and in the evaluation producing your grade, you must assimilate the work of others by understanding it thoroughly and practicing the programming skills involved in creating it. I will find a way to confirm that you have learned and not just acquired work, probably through a supervised lab exercise.
If you deviate from the work that I lay out, you must check with me in advance to make sure that I can evaluate the work for a good grade.
In order to share your work with the class, please create a
subdirectory named html/CMSC16100_files
in your home
directory on your CS computing account. If you are already keeping Web
pages on the CS server, then you already have the html
subdirectory. Make sure that these subdirectories are readable and
executable by everyone. As long as you do not create any
files named index.html
within the
html/CMSC16100_files
subdirectory, others can get at the
files in it through the Web. Aren will collect an index of these
directories. Even if you don't expect to have anything to share, it's
better to create the directory now, and have it handy.
I will break out approximately 5 steps of varying length and difficulty for you to accomplish as homework assignments.
ratpair
implementation of ratintvl
datatype from 2002 work. Due Monday 10 November 2003.precfunc
implementation of
xreal
. Due Monday 17 November 2003.tristream
implementation of
xreal
, creating the wordstream
implementation. Due Friday 21 November 2003.precfunc
,
tristream
, wordstream
on well-chosen
examples. Due Tuesday 25 November 2003.xreal
functions, at the end of the
quarter. I will post the exact deadline soon. As a nice optional step,
you may combine the work of steps 5 and 6 into a
cachebinfunc
implementation, and evaluate the result. Do
the two steps interact in any surprising way? (I don't expect that
they do, but I haven't proved that they don't.)
![]() | |