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

Fall 2005 Milestone 3 Questions

Will/are there any opportunities for extra credit in the course besides the large projects listed in the extra credit section? Perhaps additional things we could implement in our design or project? Perhaps on the tests?
See Extra Credit.

How much does each milestone count for? Are they all equal?
Yes. They all count equally.

"For each class X in your (entire) design, you need to create a Smalltalk Unit class, TestX"
I know it says 'entire', but does this include UI stuff like toolbars that organize/display buttons, or just the 'meat' of the project?
Yes. Every class.

When will we receive our grades for D2 and M2?
For M2 grading, see your TA. Most of the TAs will only give you a grade once your group has demoed for them. —Jeff Rick

Where can we get feedback about what we missed or did wrong on each assignment?

At the TA's office hours.

You said all nine layouts. There are ten layouts do you want not to implement one or was that simply a counting error?
Counting error. Sorry about the confusion. Implement all ten layouts. —Jeff Rick

BTW, you do not have to have resizable layouts for M3. If you want to, this would be a cool feature for M4, but it won't affect your M3 grade.

When will the Grading Criteria be up?

Regarding SUnit tests.. Testing GUIs is always kind of strange to me, since they must (in reality) be visually tested to see if you think they look right.

In Squeak, there are Morphic test packages that test the creation of different Morphs. Most of them do something as simple as this for the test case:

self shouldnt: [TextMorph initialize] raise: Error.
self shouldnt: [pum gradientFillColor: Color red] raise: MessageNotUnderstood

Basically, they test to make sure that exceptions/errors are not occurring. This doesn't provide much feedback on the visual appearance (this is difficult anyway), but is this Okay for our M3 unit tests?

Yes. Testing GUIs is difficult. You probably won't be able to do much more than to check whether an error gets created.

Are we supposed to test GUI input? If so, how do you correctly simulate a mouseDown? I tried to implement "textMorph handleMouseDown: #mouseDown" in one of my SUnit test cases, but that didn't really do the trick. Thanks.

What's an easy way to access different fonts in squeak? Is there a good tutorial somewhere that I can look at?

Regarding Grading Criteria, what are the following? Test Plan, Templates are flexible. What features / elements do you look for in the TA discretion pts? Can you guys PLEASE be a little more specific? The grading criteria is so open ended!

Yes. This is a class on design. Design is not just building to specifications. You have to answer those questions. If all your template mechanism does is allow you to change the background of all slides, that is NOT flexible and would hardly require a template mechanism. We want something better.

Test Plan is how are you planning to test your design to make sure that it works. Some of this will be covered by SUnit testing. Other parts, such as the GUI, are going to be better put into a test plan. Think of it this way. You've just extended your design in a major way. Besides SUnit testing, what are all the actions you want to check to make sure that your original stuff still works.

Since a large portion of the grading criteria is subjective, it would be nice if TAs are rotated.

I would actually say that's not true. If we rotated the TAs on you, then you'd never know what to expect. That GUI you built that one TA loved may be anathema to another. Consistency will be much more helpful in the long-term. – Andrew Sayman

Somebody asked me what scenarios are, check out About Scenarios. In general, for these type of questions, see the CoWeb. Criteria for Good OOA/D has a lot of useful information. —Jeff Rick

In class, we will also turn in group member responsibilities. Are group member responsibilities for Milestone 3? Right? Do you just need info about what each person did?

So I've discovered that SketchMorph is a better way to go than ImageMorph for our image widget (it's better at resizing) and I've adapted the code from class for our project. I have noticed a weird error in Jeff's code, however. For some reason, the code doesn't work when handling .gif files (it handles .jpg files just fine). It seems to rotate them out of the scope of the form. Any thoughts on what the deal is?

Interesting bug find. Change the rotateBy90 method to fix this. Change it to the following:
| rotatedForm |
rotatedForm := form rotate...
rotatedForm offset: 0@0.
self form: rotatedForm

Does anyone know if there is a way around the operating system dependency of the '\' in file paths? ( We are having to switch between '/' and '\' because some of us use windows and some of us use linux). Also, what are the TAs going to be grading on? Or should we just specify which one we 'tested' on in a README file?
There are a number of ways to do this in Squeak. One simple way is to do something like this: (FileDirectory default directoryNamed: 'dir1') directoryNamed: 'dir2' to get at mySqueakDirectory\dir1\dir2 directory.

Thank you that was very helpful.

Can someone please explain what is meant by this line in the grading criteria: "Templates are flexible - 7"?

Thursday, 13 October 2005, 5:43:15 pm
"Templates are flexible" means that your templates should have more in them than simply changing the background color. You wouldn't need a template system if that is all they could do. —Jeff Rick

For SUnit, is it all right if we test all the accessors in one method and all the mutators in one method? (as opposed to having individual test methods for each real method)

Thursday, 13 October 2005, 11:44:22 pm
how do we turn in m3?

Friday, 14 October 2005, 11:44:07 am
Go here to turn in M3. Sorry about the delay in creating this.

Link to this Page