CS680 - OO Design and Programming, Fall 2008


Description:
Object-oriented techniques for the design and development of software. Students will develop a series of moderate sized programs in C++ and Java and then design and implement a more substantial project in small teams.

In Fall 2008, all OO programming will be in Java. The course will cover basics of database systems sufficient to allow us to persist the objects in a relational database.

Pre-requisites:

B or better for one course on the approved list (CS636, CS637, CS639, and CS651) and permission of the instructor. Programming expertise in Java of the level used in CS310 (advanced data structures).

Useful background: CS630 (first course in database systems), experience with ant, eclipse, JUnit.

Professor: Betty O’Neil  (eoneil at cs.umb.edu)
Class meets TuTh 5:30-6:45pm, in M-1-420

Textbooks:
Object Oriented Software Engineering Using UML, Patterns, and Java, Second Edition,
 by Bernd Bruegge and Allen Dutoit, Prentice Hall, 2004, ISBN 0130471100, available for example at Amazon or the bookstore.

Head First Design Patterns, by Eric Freeman and Elizabeth Freeman, O'Reilly, 2004,ISBN 0-596-00712-4, available for example at Amazon or the bookstore.

If you're less than a database expert, or no longer have your database text:, get this inexpensive but good database guide:
Fundamentals of SQL Programming,by Ramon Mata-Toledo and Pauline Cushman, Schaum's Outline/McGraw Hill, ISBN 0071359532, available for example at Amazon.

If you're less than a Java expert, or don't know Swing basics:
Core Java 2, Volume I--Fundamentals, by Cay Horstmann and Gary Cornell, Sun/Prentice Hall, 7th or 8th edition, ISBN 0-13-148202-5 or 0-13-235476-4, at Amazon Follow book's link for code downloads (either edition)

Topics

1. Review of OO programming basics.  Design of objects, pattern of Java beans, intro to patterns, refactoring, testing.  UML class diagrams B&D Chap 1, 2, F&F, Chap 1
2. Swing for UI, event programming, Observer pattern. Multithreading needed for Swing programming. F&F Chap 2.
3. Project Organization, Use cases, requirements. B&D Chap 3-4 Also, database essentials.
4. Analysis, CRC cards--developing an object model. B&D Chap 5. More on databases.
5. System Design: packages, layers, coupling, MVC model, object persistence need, more on patterns. B&D Chap 6-8, F&F Chap 3-5
6. Interface specification B&D Chap 9, F&F Chap  7, 9, 10
7. Using a database for object persistence, and object-relational mapping, B&D Chap 10
8. More on testing, B&D Chap 11
9. SE Methodologies. B&D Chap 16

Grading: simple point system

Midterm: 100 points, Final: 150 points, Assignments: various, about 150 points total

ACCOMMODATIONS:
Section 504 of the Americans with Disabilities Act of 1990 offers guidelines for curriculum modifications and adaptations for students with documented disabilities. If applicable, students may obtain adaptation recommendations from the Ross Center for Disability Services, M-1-401, (617-287-7430). The student must present these recommendations and discuss them with each professor within a reasonable period, preferably by the end of Drop/Add period.

STUDENT CONDUCT:
Students are required to adhere to the University Policy on Academic Standards and Cheating, to the University Statement on Plagiarism and the Documentation of Written Work, and to the Code of Student Conduct as delineated in the catalog of Undergraduate Programs, pp. 44-45, and 48-52. The Code is available online at: http://www.umb.edu/student_services/student_rights/code_conduct.html.