Object-Oriented Programming
Spring, 2011

COP 4331
Announcements

 
Last updated Sun Apr 17 2011 at 11:36:01 EDT
Apr 17 at 11:35

Course postmortem (due Wednesday—individual)

Your postmortem is—as per the syllabus—a required assignment.

Iteration 3

It is OK to deviate from your Iteration 3 design doc as long as the reason is to

In either case, the change(s) and reasons for them must be explicitly documented in both the source code and the team's post-mortem (due Wednesday). Given that making good design revisions takes time (a very limited commodity at this point), I recommend that you reserve deviations to those situations with the highest payoff.

Iteration 3 deliverables (due Monday—team)

The Iteration 3 deliverables are the same as the Iteration 1 deliverables, except that the CD should be labled COP 4331 2010 Iteration 3 <team name>.

Iteration 3 peer evaluations (due Monday—individual)

Download the Iteration 3 peer assessment forms (PDF), print the page corresponding to your group, and fill it out. Remember:

Iteration 3 postmortem (due Wednesday—team)

Much simpler than for iterations past: document all deviations from your iteration 3 design document and justify them. Due Wednesday.

Apr 8 at 17:51

Required readings

After you have completed your Mark IV Special Coffee Marker design, read:

Apr 4 at 14:24

Required readings

Mar 31 at 23:49

Re: course evals

The College of Engineering is participating in a trial this semester to test the new on-line faculty evaluation system that will go in effect for the entire university by this fall. The evaluations for each section will be made available to students starting April 1, 2011 and will close on April 22, 2011. [...]

PLEASE do not do evaluations for any courses you are taking with me until after that class's last meeting on Wednesday, April 20th. I never gave paper evaluations on any day but the last because I strongly believe that one should experience the entire class before evaluating it. I do want your evaluation, just not before the class is done. Thanks!

Mar 24 at 23:54

Term project: iteration 3

Team assignments have been mailed to your ufl.edu accounts [the message bodies are blank: see the recipients list!] Here are the...

The team names are Chiron, Kraken, Medusa, Minotaur, and Polyphemus: what is the theme?

Mar 21 at 13:35

The only things due today are the same as listed in the Iteration 1 deliverables—though the CD name should not say "Iteration 1" ;). Due on Wednesday is the first part of your Iteration 2 wrap-up. The second part is due on Friday.

Mar 1 at 16:00

Required readings

Note: while your team may choose to incoporate the principles covered in these readings in your Iteration 2 design, there is no requirement to do so.

Feb 21 at 11:52

Term project: iteration 2

The Iteration 2 requirements are ready for your consumption. The Iteration 2 deliverables are the same as the Iteration 1 deliverables, except that the CD should be labled COP 4331 2010 Iteration 2 <team name>. Those are the only Iteration 2 related team deliverables due on or before demo day.

Required reading

R.C. Martin's Engineering Notebook: The Open-Closed Principle

Feb 18 at 14:52

Required reading

The Pragmatic Programmers': Tell, Don't Ask

Optional reading

Iteration 1 cohesion critique

In light of the necessity of assigning the following homework today, your team may submit the cohesion critique next Wednesday without penalty. (But I recommend you get it done by Monday).

HW due Monday: LoD/TDA code critique

For each of the following, does it violate TDA? LoD? Why? Why Not? (This is an individual assignment.)

Example 1

SortedList thingy = someObject.getEmployeeList();
thingy.addElementWithKey( newHire.getKey(), newHire );

Example 2

void printDetailsAbout( Customer c )
{
  //...
  Address a = c.getAddress();
  System.out.println( "city: ", a.getCity() );
  System.out.println( "state: ", a.getState() );
  //...
}

Example 3

customer.getAddress().changeZipCode( newZipCode );

Example 4

void printDetailsAbout( Customer c )
{
  //...
  System.out.println( "ZipCode: ", c.getAddress().getZipCode() );
  //...
}
Feb 16 at 18:08

Homework: due Monday

Iteration 1 Cohesion Critique will require you to critically evaluate your team's Iteration 1 code base in light of principles to be covered today's lecture.

Feb 15 at 10:50

Required readings

Refer to OMG Spec: UML Superstructure, v2.1.1 (which you should have already downloaded):

FYI

You may find the free Quick Sequence Diagram Editor (sdedit), a nifty and useful tool. It creates SDs from text descriptions.

Feb 14 at 13:40

The only things due today are listed in the Iteration 1 deliverables. Due on Wednesday is the first part of your Iteration 1 wrap-up. The second part is due on Friday.

Feb 2 at 16:21

The syllabus has been updated with finalized exam information.

Jan 28 at 11:36

Specification

Here is the Iteration 1 specification level UML diagrams assignmentyou may not begin implementation until this has been completed.* Thus the earlier you get this done, the more time you will have for implementation; however, the better your specification, the easier your implementation experience will be (not to mention that the spec itself will be graded).

* — If you are planning to use technologies/techniques with which you are unfamiliar, you should be experimenting with them as/before you write the spec. However, all such code must be thrown away: none of it may be used in the actual project.

Iteration 1 demo day deliverables

On the demonstration day, the Iteration 1 deliverables are due.

Jan 21 at 17:42

Iteration 1 comment

Don't begin implementation until given the green light; as mentioned in class, you'll be preparing a design document before implementation begins.

CRC Cards (revised)

Due Monday, 1/24: Based on feedback from other team and from insights gained from doing a critique, revise your CRC card deck. Deliverables as before with the addition of:

Use-cases

Due Friday, 1/28: Prepare a set of use-cases for iteration 1.

Jan 19 at 17:03

Use-case handout (PDF)

Jan 15 at 14:00

Iteration 1

Like Athena, who sprang fully formed from her father's head, here are the Iteration 1 requirements. Print it out. Study it. Write down any and all questions you may have (so you don't forget) and ask them on Wednesday. Enjoy!

Individually log the time/effort you spend on the project

After each iteration, you will be reporting on the amount of time you spent on term project related activities and providing documentation to support the reported figure. In case it's not clear, that means write it down(!!!) as you go and tag it based upon the deliverable/activity. Keep on top of this: estimates after the fact aren't acceptable.

Regarding the CRC card deliverables

Required readings

Download OMG Spec: UML Superstructure, v2.1.1 and refer to:

Coming soon up we'll be covering much of:

Note #1: the term class is overloaded in this documentation: it refers to a) the entities that make up the UML notation, as well as b) the standard OO concept.

Note #2: I've listed the X.4 (Class Descriptions) section before the X.3 section. That's because X.4 is a summary of the notation, while X.3 is a technical definition of each "class" (notational element).

Optional readings

For those of you interested in learning more about Java's support for generics...

Jan 10 at 16:21

The dispatch table diagram from lecture 3.

Jan 4 at 22:10

Welcome to Object-Oriented Programming! Check this site regularly for the latest announcements. If you haven't done so already, please read the syllabus and course policies.

The mandatory biosketch assignment is due at the start of lecture on Monday, 1/10. If you've written one previously, take the opportunity to tell me something new about yourself. (Should you be interested in such things, you can read Dave: fact or fiction?.)

This website is an original work, Copyright © 2011 by Dave Small. All rights reserved.