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.