View this PageEdit this PageAttachments to this PageHistory of this PageHomeRecent ChangesSearch the SwikiHelp Guide
Hotspots: Admin Pages | Turn-in Site |
Current Links: Cases Final Project Summer 2007

Final Exam Review Spring 2006 Index

This is an index of all responses to the Spring 2006 Final Exam Review. I hope it's helpful in studying for your exam. Recommend replacing the above page with this one for future reference, and deleting this copy.

Question:

History of Object-Oriented Programming (1 Point)

Pick two of the following four people and briefly describe one of their main contributions to object-oriented programming and design: Kent Beck, Ward Cunningham, Alan Kay, and Ivan Sutherland. (Note: Do not describe more than two.)

Responses:
Shakti Chauhan
CW 3
Amin Ali
Asim Ali
Adam Allred
Brien Applegate: CoWeb Assignment 3
CoWeb Assignment 3: Final Exam Review
Bryan Davidson
Greg DeArment
Moctar Diallo
Mina Doroudi
Michael Drinkwater (CoWeb Assignment 3)
coweb assignment 3
Michael Ellis
Adam Fitzgerald
Katie's CoWeb Assignment 3
Chris Gordon
Michael Henderson
Rachel Keslensky
Eliot Kim
Chris Kramer - Coweb Assignment 3
Coweb Assignment 3.
John Meyer's CoWeb Assignment 3
Mike Noonan CoWeb Assignment 3
Brandon Pitman
Bryan Popka
Jay Reinebold
William Rorabaugh
Peter Rosegger
Hafez Rouzati
Thomas S
David Sierra
Daniel Vargas
MY CO-WEB ASSIGNMENT 3
Coweb Assignment 3 - Review - Jin Yao
BY CoWeb Assignment 3
Danish Zia

Question:

Collection Classes (1 Point)

Answer the following questions on the different collection classes available in Squeak.
  1. How do OrderedCollection and Set differ?
  2. How do OrderedCollection and Array differ? Why would you use one over the other?
  3. How do you use a Dictionary? Why is accessing a Dictionary so fast?

Responses:
Shakti Chauhan
Martin's CW 3
CW 3
Asim Ali
Adam Allred
Patrick Bonaparte
Moctar Diallo
CoWeb Assignment 3 - David Eakes
Michael Ellis
Chris Gordon
Michael Henderson
Brian Henke
Eliot Kim
Chris Kramer - Coweb Assignment 3
Brent Myers Coweb Assignment 3
Mike Noonan CoWeb Assignment 3
W. Owen Redwood
Brandon Pitman
Bryan Popka
Jay Reinebold
William Rorabaugh

Question:

Questionnaires (1 Point)

Questionnaires are a common technique for evaluating human-computer interaction. If you were designing a questionaire, what are three things that you need to watch out for to ensure the validity of your findings. Why are each of these a problem? How do you avoid them or keep their influence to a minimum?

Responses:
Brien Applegate: CoWeb Assignment 3
Mina Doroudi
Katie's CoWeb Assignment 3
Chris Gordon
David Hendershot
Rachel Keslensky
Coweb Assignment 3.
John Meyer's CoWeb Assignment 3
Peter Rosegger
David Sierra
Coweb Assignment 3 - Review - Jin Yao
BY CoWeb Assignment 3

Question:

Usability (2 Points)

You've learned about three usability evaluation techniques in this class: heuristic evaluation, cognitive walkthrough, and observing users. Compare and contrast two of these. What are the strengths of each approach? What are the weaknesses? When are they appropriate to use? Why would you choose one over the other?

Responses:
Shakti Chauhan
CW 3
Brien Applegate: CoWeb Assignment 3
Chris Baker
Kane Bonnette
Dustin Burke
Hai Dang
Greg DeArment
Mina Doroudi
Vehbi Dragaj
Katie's CoWeb Assignment 3
CoWeb Assignment 3 (Badrul Islam and Marlena Frank cite this as their CW3)
CoWeb 3
Chris Gordon
coweb 3
April Headen
Derek Kinney
Chris Kramer - Coweb Assignment 3
Colin Gillens
Adam Leonard
Rock Marinov
Coweb Assignment 3
Jay Reinebold
Peter Rosegger
Aaron St.Clair
Sterling's CoWeb Assignment 3
MY CoWeb Assignment 3
Joshua Vargas
BY CoWeb Assignment 3

Question:

Design Patterns (2 Points)

(Part A) Besides its name, name three characteristics commonly used to describe design patterns. For each characteristic, describe what it is and why it is useful? (Part B) Observer, Adaptor, and Factory are three design patterns described in this class. For two of these three, briefly describe them using the characteristics you chose.

Responses:
Ryan Cino
Andy Conley
Michael Henderson
Rachel Keslensky
Derek Kinney
Roland Krystian Alberciak: CWA 3: Design Patterns
Anita Lugonja
Aaron St.Clair

Question:

Frameworks (2 Points)

  1. Why are frameworks useful?
  2. What is the difference between a framework and a class library?
  3. List two of the Squeak frameworks covered in this class and what they provide.
  4. Explain two of the reasons that a framework is difficult to develop.

Responses:
Chris Baker
Kane Bonnette
Greg DeArment
CoWeb 3
Roland Krystian Alberciak: CWA 3: Frameworks
Jae Lee
Kelly CoWeb Assignment 3
Anita Lugonja
COWEB ASSIGNMENT 3
Bryan Popka
Brandon Saffel
Tyler's CoWeb Assignment 3

Question:

Blocks in Virtual Machines (2 Points)

The following two instance methods on the Number class both compute whether the number (self) is greater than one number and less than another:
Uploaded Image: vm1.png

The following table shows how long it takes for these methods to execute for different numbers:
Uploaded Image: vm2.png

(Part A) Why is it that the first two expressions take the same amount of time to run (0.00143 ms), whereas the last two expressions differ in run time?

The byte codes for the two methods follows:
Uploaded Image: vm3.png

(Part B) Given these byte codes, explain why the block expressions are faster to execute than the parenthesis expressions.

(Part C) In the blockGreaterThan:andLessThan: method, the message and: is sent to the object returned from (self > greaterThan) with an argument of [self < lessThan]. At least, that’s the way the Smalltalk syntax would lead you to believe. In reality (in the byte code), you can see that there is no and: message sent. Why is this so?

Responses:
Asim Ali
Brian Davidson
Moctar Diallo
Colin Gillens
CoWeb Assignment 3 #2
Brandon Pitman
William Rorabaugh
David Rutter

Question:

Language Features (2 Points)

Squeak is perhaps the least well documented programming language you will ever use; however, Smalltalk and the Morphic GUI compensate for this by being pokable (easy to explore). There are many language features and tools for exploring Squeak. For four of these, name them, describe how you use them, and explain why they are useful.

Responses:
Coweb Assignment 3.
Kelly CoWeb Assignment 3
Rock Marinov
Peter Rosegger
Joshua Vargas

Question:

Object-Oriented Language Design (2 Points)

OO programming languages differ quite a bit in their philosophy, purpose, and implementation. The following five questions ask you to examine some design choices for creating an OO language. Answer only two of the following:
  1. Java, C++, and C# have primitive types. Eiffel, Ruby, and Smalltalk do not. What are the advantages and disadvantages of having primitive types?
  2. C++ and Java are statically typed. Objective-C and Smalltalk are dynamically typed. What are the trade-offs of static and dynamic typing?
  3. Most OO languages run on a virtual machine. Java and Smalltalk do. C++ does not. What are the advantages and disadvantages of using a virtual machine for OO programming?
  4. Smalltalk blocks are closures. They combine a piece of code with a lexical environment. Other OO-languages that have closures are Ruby and Eiffel. Java and C++ do not. What are the advantages of having closures? Why do some languages not have closures?
  5. The inheritance in Java and Smalltalk is class-based. The inheritance in Javascript and Self is prototype-based. What are the advantages and disadvantages of class-based and prototype-based inheritance?

Responses:
Adam Allred
Dustin Burke
Ryan Cino
Andy Conley
Hai Dang
Brian Davidson
Vehbi Dragaj
coweb assignment 3
Michael Ellis
CoWeb Assignment 3 (Badrul Islam and Marlena Frank cite this as their CW3)
coweb 3
April Headen
Eliot Kim
CoWeb Assignment 3 #2
Jae Lee
Adam Leonard
Guan Lin Liao
COWEB ASSIGNMENT 3
John Meyer's CoWeb Assignment 3
Mike Noonan CoWeb Assignment 3
Coweb Assignment 3
David Sierra
Sterling's CoWeb Assignment 3
Tyler's CoWeb Assignment 3
MY CoWeb Assignment 3
Coweb Assignment 3 - Review - Jin Yao

Question:

Garbage Collection (3 Points)

(Part A) What are the advantages and disadvantages to using garbage collection? (Part B) Explain how reference counting works. Include an example. (Part C) Explain how mark and sweep works. Include an example. (Part D) What problems of garbage collection do generational scavenging and “stop and copy” address? How do they address them?

Responses:
Martin's CW 3
Amin Ali
Patrick Bonaparte
CoWeb Assignment 3: Final Exam Review
Bryan Davidson
Michael Drinkwater (CoWeb Assignment 3)
CoWeb Assignment 3 - David Eakes
Adam Fitzgerald
David Hendershot
Guan Lin Liao
Brent Myers Coweb Assignment 3
W. Owen Redwood
Hafez Rouzati
David Rutter
Thomas S
Daniel Vargas
MY CO-WEB ASSIGNMENT 3
Danish Zia

Question:

Analysis and Design (4 Points)

Design a virtual fish tank. Your virtual fish tank should be as much like a real fish tank as possible. The fish should be able to do common fish things (swim, eat, die, breathe). The fish tank can contain a number of fish. Like a normal fish tank, there should be a pH level and an oxygen level. The fish should be able to do things that affect those levels and be affected by those levels. If there is not enough oxygen, fish die. If the pH is not in range, fish die. Additionally, the fish need to be fed and the oxygen level needs to be regulated. (Part A) For your design, first do an object-oriented analysis using CRC cards. (Part B) Then, create a UML diagram of your fish tank, based on that analysis.

Responses:
Will Blatt
CoWeb3 (gtg299x)
CoWeb assignment 3
Jason Spain

Links to this Page