Fri, 1 Nov 2013, 13:10

My students,

One of my TAs is concerned that I may have misinterpreted a student's email
in my response to you all last night.  So, I am clarifying.  I have included
the original email and my response below.

The student asked if he has to use JSR in solving Program 3.  I said no, he
is free to design whatever program he wishes.  HOWEVER, he is NOT free to
change the data structure that his program will access.  That is, his program
must work with the ids and names stored as a binary search tree as discussed
in class and stated clearly on the Programming Assignment sheet.

When we test your program, we will first load both YOUR program AND the binary 
search tree corresponding to OUR student data base into memory.  Then we
will systematically test your program by inputing student_id numbers and
seeing what shows up on the monitor.  We will not care whether your program
uses JSR instructions to do this, although I personally think doing so makes
the job easier.

Good luck finishing the program by Sunday night.

Yale Patt

On Fri, Nov 01, 2013 at 03:19:37AM -0500, Yale N. Patt wrote:
> Is there one correct program to solve a design problem?
> A student writes:
> > Hello Dr. Patt,
> > 
> > I finished my program but didn't use any jump instructions. I also didn't
> > use the method of putting conditions into R0,R1,R2 to determine whether or
> > not to move on to the next node or if it's null or not either. You told us
> > about this method on Monday.
> > 
> > Will I get points counted off for not doing this? Is my program suppose to
> > be using these things?
> > 
> > Thanks
> > 
> > <<name withheld to protect the student asking if there is only one right way>>

> The short answer: No, you will not "get points counted off for not doing this."
> The longer answer is that programming is about *design*, and there are many,
> many designs that solve the same problem.  When mice is the problem, some
> people design better mouse traps, other people buy cats.  Most design problems 
> actually have many optimal solutions, depending on what you are trying to
> optimize.  Faster execution time, cheaper cost, minimum amount of energy
> consumption - each criterion produces a different optimal solution.
> In EE 306, I am interested in peeling away the magic, and part of the way
> to do that is have you design programs to solve different types of programs.
> Program 3 involves querying a binary search tree.  How your program does it
> is up to you.
> Good luck getting the program done by Sunday night.
> Yale Patt