Hotspots: Admin Pages | Turn-in Site |
Current Links: Cases Final Project Summer 2007
On team Flash Gordon Productions.
CoWeb Assignment 1 (Did more than 2 points as a just in case)
"Returns the fibonacci number."
self = 0
ifTrue: [^ 1].
self = 1
ifTrue: [^ 1].
self > 1
ifTrue: [^ ((self - 2) fibonacci + (self - 1) fibonacci)].
self error: 'Invalid input!'
Instances and classes do not respond to the same messages. In Java, instances will respond to class (static) methods. In Smalltalk, they are separate. The class responds to a message with class methods. The instances respond to a message with instance methods. In general, the Smalltalk separation is better for good object-oriented programming style. A class and its instance aren’t the same type of object; therefore, they shouldn’t share methods.
CoWeb Assignment 2
Squeak has a large database of already written code, programs, and morphs. This code is easy to extend into your own program, but you have to find it first.
Method Finder To use the method finder, type in the name or part of the name of a method in the top-left box, then press enter. You will have a list that contains the name you put into the top-left box in the box right underneath. When you click one of the items in the left a new list will show up on the right, and these are the methods. Select one of these methods by double clicking it and a browser will appear with your method. Another way to find method in this feature is to find by example. If you know an input has a certain output, but you don't know what the method is you can put in the inputs and the output like this: 3. 4. 7 . You will get a suggestion for methods that have inputs like this. If you are still completely lost about how to use the Method Finder, it contains instructions on how to use it, in the bottom box of the Method Finder Browser.
Implementors of... To use the 'implementors of...' browser, you must select a method/message and click alt-m or right click and choose 'implementors of...'. With this feature you can find out what other classes implement the method you have choosen. In my example I have found out only SudokuCell implements valid.
Senders of... To use the 'senders of...' browser, you must select a method/message and click alt-n or right click and choose 'senders of...'. This feature is similar to 'implementors of...', but with this feature you can find with other methods use the method you selected. In my exaple you can see that the one method that uses neighbors is revalidate:
Resource: Squeak Objected-Oriented Design with Multimedia Applications book
CoWeb Assignment 3
Object Oriented Language Design
1. The advantages of primative types are that the language is in machine language, which increases the speed of primative type languages. While the disadvantages of having a primative language are that there is no uniformity and it does not enable message passing on all variables.
3. The advantages of using a virtual machine for OO programming are that it is flexible. Virtual machines are in a runtime environment where it translates between bytecode and machine code, has a dynamic dispatch, and has garbage collection. The disadvantage is that it is slower than having no virtual machine.
Heuristic evaluation is mainly formative and qualitative. This usablity evaluation technique strengths is that you can use a small evaluation team of people who aren't the end users, so it is inexpensive. The weakness of heuristic evaluation is that it does not evaluate for ease of learning or test to see how an actual end user will think when they use this program. Heuristic evaluation is appropriate to use when the product is still in development.
Observing users is one of the best ways to gather feedback about an interface. A great strength to observing users is that you get information as to whether the end user will enjoy and buy your product. The weakness of observing users is that the setting can be awkward for the user and thinking aloud may alter the way the user uses the product. Observing users should be used when the product is fully operational and potentially ready to sell.
If I were to choose one of these two usuablity evaluation techniques over the other it would depend on the phase of the product. If I am not quite finished with the product then heuristic evaluation is best, but if the product is finished then observing users is best. If I want a cheaper, quicker evaluation then I would use heuristic evaluation over observing users.
Links to this Page