Announcements, Homework and Lecture Outlines most recent first

Monday, 14-May

Check your Grades

Final Letter Grades 
Spring 2007 Grades

Thursday, 10-May

Check your Grades

Send email to Rick no later than 10:00 am Monday, 13-May if you find a discrepancy in these official grades.
Get your CSID here 
Spring 2007 Grades Recorded as of 10-May, 3:00 pm

Tuesday, 1-May

Announcements

Final turnin deadline extended to 11:00 pm

All projects must be turned in by before Wednesday, 2-May @ midnight

You are required to attend final project demos during the final exam period

Tuesday,  8-May from 2:00-4:00

We will have a listing of recorded grades (individual) to ensure correctness

Final Project Report due Tuesday, 8-May @ 2:00-4:00

MS-Word     rtf        plain text

Homework

Complete final project report due at the beginning of the final exam period

Lecture Outline

Grady Booch, a State Diagram and NUMBER3RS
Evals: SLs and Ricks
Final Project Demos

Thursday, 26-April

Announcements

Tuesday will be project demos.  Contact Rick if you are willing and able to demonstrate your project on this, the last day of class.

Final Project Report will be posted next Tuesday an due at the final exam time

Part of this report grade will be that you are there during the final

Other project demos will be done during the final exam time

Homework

Complete final project, bonus if turned in by 10:00pm Saturday

Lecture Outline

Quiz 7
Guest Lecture: Justin Samuel on Web Development
1 seat was available at 3:15 for a CS major for Justin's Fall 07 Class "Web Application Development with PHP and MySQL"

Tuesday, 24-April

Announcements

Final quiz this Thursday, 26-April

See Quiz 7 Review sheet  MS-Word or pdf

BattleBoat: We found some old text in specification that should have been removed. Battleboat is  supposed to be two player max. Specification has been changed as follows 

Graphical View

Allows a human user to choose to be a host or a client

Allows the host to wait for the other human player. choose the number of human players to wait for and/or set strategies for the desired number of computer players before a game begins.

Homework

Work on final project, bonus if turned in by 10:00pm Saturday
See Final turnin required features for your project, there are many "little" things.

Lecture Outline

Presentation 23-JavaGotchas.ppt
Java Certification Exam Questions (non obscure questions will be Thursday's quiz)
Practice with the 161 questions at  http://www.javaranch.com/game/game2.jsp

Thursday, 19-April

Announcement

Section for next week: Use the time to work with your team on your final project
Section leaders will not be in section on 25-April or 26-April

Homework

Work on final project

Lecture Outline

Command Design Pattern
Code demo: LoggerCommand.java
In-class activity, altogether now, use the Command design pattern to store command objects for undo and redo operations.   CommandExerciseLibraryUndoredo.doc
Limited number of handouts
Start with this Library project 

 

 

Announcement

Section for this week: Use the time to work with your team on your final project
Section leaders will not be in section on 18-April or 19-April

Tuesday, 17-April

Homework

Read Chapter 10: "Expanding Our Horizons", pages 123..138
A review and "new' view of Object-Oriented Design

Lecture Outline

Pattern Oriented Design
Code demo: DecoratorClient.java
Command Design Pattern
Code demo: LoggerCommand.java


 

Tuesday, 10-April

Announcements

Remember, section is 10% of your final grade
Your section leaders have Quiz 5. Get them before class or at the end
Quiz 6 will be this Thursday, 12-April
Object Relationships, Design guidelines, Principles of OOD, Refactoring, and the Adapter Design Pattern.  
Questions based on the following presentations, readings, and sample questions: 
3 & 5 April: 18-ObjectRelationShipsAndGuidelines.ppt  
5 & 10 April: 19-Principles of OOD
Chapter 9: The Adapter Pattern, pages 111..122
Chapter 11: Principles of OO Design, pages 142..160 
See Practice Quiz for additional questions and reading list of refactorings:  
Refactorings catalog http://www.refactoring.com/catalog/index.html
Questions from Section on 11- or 12-April
Answers will be available here DesignSectionAnswers.pdf on Tuesday, 11-April at 10:55
NEW added 11-April at 10:55 Other answers from practice quiz 
Observations 2, 3, 4, 5, and 6 in Chapter 9
Interpretations 2, 3, and 4 in Chapter 9: The Adapter Design Pattern, on page 121

Homework

Before Section: Complete Answers and Readings from this Practice Quiz  

Lecture Outline

Design of Comparator is Open Closed, begin at slide 12 in OO Design Principles 
Liskov Substitution Principle Slides 18..24
Refactoring
Refactoring is the process of changing existing code to make it easier to understand and modify without change the meaning
It is difficult and dangerous to modify code without unit tests
When you find code that stinks, change it
Or just write it better to begin with: This is about code design, which code is more understandable and maintainable.
Two examples
Consider two more refactorings from suggested readings (see Martin Fowler's Refactoring Catalog)
Hide Method
Replace Nested Conditional with Guard Clauses
Remember to read the ones above for Thursday's  quiz 
Adapter Design Pattern

 

Thursday, 5-April

Announcements

Next Monday: Another Student Chapter of the ACM Event
Microsoft tech talk Abstract
Monday 9-April 5:30-7:00 pm in 906 GS
Pizza at 5:30, 
Swag 
Drawing for a digital camera (need your resume to enter)

Homework

Work on Final Project with your team

Lecture Outline

Consider another use of flyweight with integers
Animation with a timer and LetterImage
Using LetterImage objects in a different context 
Law of Demeter 18-ObjectRelationshipsAndGuidelines.ppt, Begin at slide 31
19-Principles of OOD 
Single Responsibility Principle
Open-Closed Principle
Liskov Substitution Principle
Another Animation? scary
Meet with your team to discuss what you will do between now and our next class on Tuesday 

 

Tuesday, 3-April

Announcements

Student Chapter of the ACM Event
William Mitchell talk: Writing Tools with Ruby
Wednesday 4-April 7:00-8:00 pm in 906 GS
pizza before 7:00
Abstract
Mid Point Turnin in less than two weeks
Battleboat can add rule variants like take an extra shot with after each hit 

Homework

Read Principles of OOD: Pages 142..160 

Lecture Outline

Any reports on the LAN party?
Object Oriented Design Guidelines and Principles
Meet with graders to discuss state of projects and share any news
Risk: Nathan and Rick
BattleBoat: Jeff
Texas Hold 'em: Mark 

 

Thursday, 29-March

Announcements

Quiz 5 today at 3:30

Homework

TBA 

Lecture Outline

Can pass around the graphics context (a Graphics or Graphics2D reference) and have another method send fill and draw messages
May be used on quiz (but it's not necessary)
Quiz
LAN Party this weekend http://www.ualanparty.com/
Drawing images

Tuesday, 27-March

Announcements

Quiz 5 this Thursday: Drawing and a design pattern
Quizzes so far:

Quiz#

1 2 3 4 All

Average

89.6 82.0 89.7 82.6 86.0
Median 92.5 82.5 92.5 87.5 90.0

Homework

Before section, complete Practice Quiz 5  MS-Word or HTML
Answers will be posted here new MS-Word or  PDF after the last section: Thursday @ 11:00am

Lecture Outline

16-DrawingGrachics2DWithmages.ppt  (this completes all topics needed for Iteration 1 of your final project)
Section this week will review the Strategy design pattern and Drawing

 

Thursday, 22-March

Announcements

This new link was added Tuesday to the left of main page: Final Projects 
Artifact 2 will be checked in class so you can take it with you
You will be asked to set up a CVS repository before leaving today
We should  have time at the end of class to get teams finalized and plans for the week made

Homework

Begin working on your model with two strategies
No views yet; no human player

Lecture Outline

Five DiceGame.ppt   
Consider how the Strategy pattern is used there
Concurrent Versioning System (required for project)
Using CVS with Eclipse 
There are a few handouts that summarize the steps
Teams meet 
decide on name 
Meet with Grader to go over Artifact 2 (keep it)
Using your team's login names and your team name, get a CVS repository and write it on your team sheet
Use your laptop or the machine up front

Tuesday, 20-March

Announcements

Here is the Artifact 2 that will be handed out and worked on in section
It is due Thursday in class. Your team will have class time to finish it.

Homework

Before section, read the specification for the project you have chosen)
Final Projects  (new link has been to the left of main page)

Lecture Outline

you'll be asked to write user stories. First consider the Final Project and an artifact due next Thursday
07Artifact_2.doc
User stories http://www.agilemodeling.com/artifacts/userStory.htm
Five DiceGame.ppt
Consider how the Strategy pattern is used there
Form teams and compete Artifact 1 the first part (team name, member names, email, project choice, meeting times)

 

Thursday, 8-March

Quiz 3B or MidTerm

 

Tuesday, 6-March

Announcements

Repeating: A new quiz 3B will be given on next Thursday, 7-March (Design Patterns)
Syllabus change: You will receive the higher of these two grades
7 quizzes (dropping lowest) as 40% of grade, or 
Quiz 3B counts as the 15% test and the other 6 quizzes (dropping lowest) as the original 25%
Quiz 4 / Midterm will be preceded by a brief discussion of the four final project choices to be voted in after Spring break
Quiz begins closer to 4:00 pm, but you may leave when done
The last question is a quick poll to gauge interest in these choices. You will join a team for one that garners the most interest on 20-March. There may be 1, 2, or even 3 choices, but not four
Texas Hold-em 
University Course Registration System (must be networked)
Risk
Battle Boat (must be networked)
Lights Out: Your program does not need to advance to the next level automatically
Additional lab hours this week: Thursday 5:00-9:00pm  Schedule
Mid term grades through Modeling Project (registration system) and Quiz 3
Get your CSID at http://www.cs.arizona.edu/computing/services/csid.html 

Homework

Study for Thursday 8-March Quiz
Before section, take the practice quiz before section
MS-Word or pdf
NEW Answers MS-Word or pdf
Read the "Facade Design Pattern" in Chapter 8: pages 10 1..109
Review the two previous in-class activities with answers
Previous in-class Strategy: Previous handout with a new setStategy method and a specific UML class diagram now with answer
Previous in-class Composite: with UML Class Diagram answer
Review today's in-class activity writing Portfolio for Composite  

Lecture Outline

Questions on Lights Out project (did you get my email)?
Let the JPanel/Observers hold a reference to the game so the observers can send messages to the game while obtaining user input
Attach the observer as a MouseListener to the JTextArea
aJTextArea.addMouseListener(this) where this is a JPanel/Observer
15 minutes: Complete a Composite exercise by completing class Portfolio in CompositeDesignPattern.doc
Note: There are two recursive methods: listAll and getValue (at least when the Asset is a Portfolio)
listAll has to differentiate Portfolios from other assets. Use instanceof
Break. Meet back at ______________TBD in class 
Introduce Decorator design pattern (a decorator exercise will be done in section) with 13-Decorator.ppt

 

 

Thursday, 1-March

Announcements

Three examples of Observer code now linked (from lecture, from section, and also
Now with a menu to switch view (project-relevant)
Three folders in this zip file
Project 6 was posted Wednesday, 28-Feb 12:00 @ noon 
Grading criteria added at 1:30 pm Thursday
MS-Word
pdf
A new quiz 3B will be given on next Thursday, 7-March (Design Patterns)
Syllabus change: You will receive the higher of these two grades
7 quizzes (dropping lowest) as 40% of grade, or 
Quiz 3B counts as the 15% test and the other 6 quizzes (dropping lowest) as the original 25%

Homework

Work on project 6: Lights Out

Lecture Outline

Demo the new Observer example
Has Swapping Views 
Has one JMenu with two JMenuItems

 private static final String 

                 TEXT_VIEW = "Text View";

 private static final String 

                 OVAL_VIEW = "Oval View";

 

 private JMenuItem textViewMenuItem =

                new JMenuItem(TEXT_VIEW);

 private JMenuItem ovalViewMenuItem

              new JMenuItem(OVAL_VIEW);

 

  // Add two JMenuItems to a JMenuItem

  JMenuItem menu = new JMenu("Views");

  menu.add(textViewMenuItem);

  menu.add(ovalViewMenuItem);

  JMenuBar menuBar = new JMenuBar();

  setJMenuBar(menuBar);

  menuBar.add(menu);

 

The Composite design pattern 12-CompositeDesignPattern.ppt
Shows JMenuItems as an example
JMenuItemDemoComposite.java
Team activity (learn by doing)

Tuesday, 27-Feb

Announcements

Google on 9th floor GS beginning at 6:00pm  Wednesday
Project 6 will be handed out in section and due next Thursday 
New Wednesday, 28-Feb 12:00 noon Project 6 is now linked 
MS-Word
pdf

Homework

Go to section!

Lecture Outline

Quiz 3
The Observer design pattern 
Demonstrate three views in excel of a set of numbers
A few slides on 11-Observer.ppt  (handout)
Demo the random color changer
Consider draft of the next project
Project 6: Lights Out
http://www.millstone.demon.co.uk/games/lightsout/lightsout.htm

 

Monday, 26-Feb

Announcements

Quiz 3 is Tuesday, 27-Feb @ 3:30 pm. Practice Quiz Answers now linked
MS-Word
pdf

Thursday, 22-Feb

Announcements

Quiz 3 will be next Tuesday, 27-Feb @ 3:30 pm
UML Class and Sequence Diagrams
A question on networking
Practice Quiz handed out today
MS-Word
pdf
Quiz #4 will be Thursday, March 29th

Homework

Work on Project 5: ChatRoom

Lecture Outline

Demo a networking program 
See Code Demos page
Design Patterns