Design Patterns in OO Programming
Fall, 2010

CIS 4930
Syllabus

 

Course overview

This course focuses on how to design better object-oriented programs through the application of patterns. We will cover the 23 design patterns cataloged in the text, how to implement them in Java, and express them using the UML (Unified Modeling Language). In addition, we may explore collateral topics as dictated by class interests.

Objectives

By the end of the term, the successful student will be able to:

For each design pattern covered, the student is expected to be able to:

Note

This course is geared for motivated, highly capable students who enjoy software development and abstract thinking. Those merely seeking an easy tech elective will be deeply unhappy; those willing to put forth the time and effort will likely find this to be one of the most useful classes of their undergraduate career (based upon comments made in the course evaluations of semesters past).

Instructor

Name E-mail Office Office Hours Phone
Dave Small dts@cise.ufl.edu CSE E422 MWF 5th period (11:45-12:35pm) 450-34-23

Cem Boyaci cboyaci@cise.ufl.edu CSE E309 -tba-

Administrivia

Homepage

http://www.cise.ufl.edu/~dts/dp/

Prerequisites

COP 3530

Computer requirement

Access to and on-going use of a computer on which you can install software. A laptop is strongly recommended (so you can bring it to class and office hours). Mac, Linux, PC... it's all good.

Required textbook(s)

Optional books

Exam schedule — CONFIRMED

Term project presentations

On Monday and Tuesday of the last week of classes, expect to spend 5-6 hours each evening/night attending/giving term project presentations. The actual amount of time will depend on the number of teams presenting.

Last day of class

Wednesday, 12/8

Philosophy and policy

Read the Course Policies page!

Term Project

The term project (typically, “design—not implement—a ____”) will be assigned 3-4 weeks before it is due. The reason for assigning it so “late” is so that we will have covered as many patterns as possible before you begin—that way you aren't constantly revising your work; the downside, of course, is that all your other classes will have something big due too. :(    To help you get a sense of the scope of the project, here are last year's project description and deliverables pages.

Term project presentations

Presentations shall be made during the last week of classes. From past experience, each presentation takes roughly 1 hour. You are expected to not only be physically present for all presentations, but attentive and engaged—that means posing good questions, offering respectfully critiques, etc.

Self & peer assessment required

The term project is a major component of this course. You will be required to objectively evaluate the performance of all team members, including yourself. Peer evaluations will be factored into the grading.

Final grades

I do not give grades: students earn their grades. It is your responsibility to earn the grade you desire. Graded items will be scored using a "checkmark" system: a checkmark indicates "satisfactory" while an X denotes "unacceptable." Checkmarks may be annotated with modifiers (++ = excellent, + = very good, - = weak, -- = poor) when appropriate. Because this is a small class I will have a very good "feel" for how well each of you is doing. Final grades will be based on a combination of subjective and objective appraisals of overall performance:

Grade Track record
A outstanding
A- excellent
B+ darn-good
B very-good
B- pretty-good
C+ weak — but consistently trying
C poor or worse — but consistently trying
E weak or worse

Past experience with this course indicates that students are pretty consistent in their performance and that it is easy to assign grades. I will be looking for a record of sustained effort and demonstrated comprehension of the subject matter. Objective grading categories will be weighted 66% exams and 34% homework and term project.

Mandatory assignments

Completion of the ungraded biosketch and postmortem assignments is required to pass the course. Be sure to save all the work you do through out the semester as you'll need it for one of the postmortem deliverables.

Academic dishonesty

ACADEMIC DISHONESTY WILL NOT BE TOLERATED. Unless otherwise explicitly stated, assignments are individual projects. You are expected to do your own work; individuals who misrepresent work as being their own, submit fabricated data, or otherwise engage in anti-intellectual behavior will be dealt with severely and reported to the Office for Student Judicial Affairs. You may freely use any code presented in the textbook, provided by your instructor, or authored by yourself. You are prohibited from using code from any other source without written permission from the instructor. Remember, sharing your work with another student is a violation of the honor code. For more information, consult the Dean of Students Academic Honesty - Student Guide.

Comments

My goal is simple: to help you learn — both inside and outside the classroom. If you have questions, there is no excuse for not getting help. I hold office hours just for the purpose of helping you, either one-on-one or in small groups. No matter how busy I may look, during office hours, you have priority over everything else. If you have a problem or question, come by and we'll talk about it — don't put it off.

Modifications

This document is subject to revision as needed. All modifications will be noted in this section.

Things the college/university wants stated verbatim


19. This statement must be included in every grade scale on syllabi:

“A C- will not be a qualifying grade for critical tracking courses. In
order to graduate, students must have an overall GPA and an
upper-division GPA of 2.0 or better (C or better). Note: a C- average
is equivalent to a GPA of 1.67, and therefore, it does not satisfy
this graduation requirement. For more information on grades and
grading policies, please visit:
http://www.registrar.ufl.edu/catalog/policies/regulationgrades.html”

20. Honesty Policy – All students admitted to the University of
Florida have signed a statement of academic honesty committing
themselves to be honest in all academic work and understanding that
failure to comply with this commitment will result in disciplinary
action. This statement is a reminder to uphold your obligation as a UF
student and to be honest in all work submitted and exams taken in this
course and all others.

21. Accommodation for Students with Disabilities – Students Requesting
classroom accommodation must first register with the Dean of Students
Office. That office will provide the student with documentation that
he/she must provide to the course instructor when requesting
accommodation.

22. UF Counseling Services – Resources are available on-campus for
students having personal problems or lacking clear career and academic
goals. The resources include:
- University Counseling Center, 301 Peabody Hall, 392-1575, Personal
  and Career Counseling.
- SHCC mental Health, Student Health Care Center, 392-1171, Personal
  and Counseling.
- Center for Sexual Assault/Abuse Recovery and Education (CARE),
  Student Health Care Center, 392-1161, sexual assault counseling.
- Career Resource Center, Reitz Union, 392-1601, career development
  assistance and counseling.

23. Software Use – All faculty, staff and student of the University
are required and expected to obey the laws and legal agreements
governing software use. Failure to do so can lead to monetary damages
and/or criminal penalties for the individual violator. Because such
violations are also against University policies and rules,
disciplinary action will be taken as appropriate. We, the members of
the University of Florida community, pledge to uphold ourselves and
our peers to the highest standards of honesty and integrity.

Note:  Statements in items 19-23, should be included as is.
This website is an original work, Copyright © 2010 by Dave Small. All rights reserved.