Comp150CPA Take-Home Final Exam
Spring 2011

Everyone is extremely busy with final projects in other courses, so I have crafted what I believe is a minimally stressful capstone experience for this course, within the bounds of "what I need to know" about your understanding and performance.

The following constitutes a take-home final exam for the course. Please feel free to utilize electronic resources, but please do not collaborate with one another on the answers. You may use any pre-existing information published on the web, but please do not post questions to mailing lists and/or blogs about the questions on this exam.

  1. (35 points) Please sketch how you would solve the problem in homework assignment 7 through use of Google AppEngine, including:
    1. What objects and interfaces you would have to define.
    2. Where (in the code) the requirements of the assignment would be fulfilled.
    Do not actually write the code.
  2. (35 points) Please write a program in Bud that will solve the problem in homework assignment 4. You may presume that the data arrives in a similar format. You are allowed to use the bud simulator, but you may not need to do so if your understanding of Pig and Bud is sufficient. Do not worry about the Ruby bootstrapping code you would need to run your Bud program. Hint: you may consider the input schema to the Bud program to be of the form [person,friend]=>[]. That is how a set of pairs is represented in Bud.
  3. (30 points) Patterson's formula for the cost of downtime has been criticised for being overly simplistic. Please describe why it is inaccurate, and describe how one would come up with a more accurate formula for the cost of downtime in the presence of that inaccuracy.