PATTERNS, PATTERNS, PATTERNS, PATTERNS, PATTERNS, PATTERNS, PATTERNS, PATTERNS


DEPARTMENT OF COMPUTER SCIENCE
COURSE
SYLLABUS
CS631 is an Advanced Computer Science and Software Engineering Course.
Course
Description. (3:3:0). Prerequisites: SWE619 or SWE620 or CS540 or
CS571 or a Graduate Course in Object-Oriented Programming or
Equivalent. Principles of object-oriented design through design
patterns. A study of the selection of appropriate object-oriented
structure after the systems requirements or requirements
specification of the software system have been developed. Design
patterns are created in the logic view of the software system. A
study of generalized design solutions for generalized software
design problems. A study of the reusee of design patterns. Once
developed, design patterns may be specified in any
object-oriented language. PhD students can take the course as
IT822, if required.
Please
read the following Professional Codes of Ethics at
these URLs: IEEE and ACM codes of ethics at
http://www.ieee.org/about/whatis/code.html
http://www.acm.org/serving/se/code.htm
Thursdays
in STI-126, 4:30 - 7:10pm
CS 631 Object-Oriented Design Patterns
Spring
2002
Professor David
Rine; Department of Computer Science
http://www.cs.gmu.edu/
ftp://mason1.gmu.edu/drine/cs631 to get PowerPoint Lecture Slides
ST2 Room 345
Phone
703-993-1546
Email drine@cs.gmu.edu
OFFICE/LAB HOURS:
Office Hours for Professor Rine, Summer Term A: 12:30 - 2:30pm Tues., Wed., Thurs. in STII-345.
Our Lab teaching and help sessions in STII-17 will be Saturday 10am - 2pm. They will be Monday through Thursday in the afternoons. Mr. Karun Chilakapati and Mr. Tarek Hassan are the tutors.
See the posting
outside the STII-17, as well as STII-137, and see http://www.ite.gmu.edu/labs/.
LAB ASSISTANTS:
The following CS421 Assistants will staff STII-17 and hold Office Hours, which they will have posted. Email them for help to:
Mr. Karun
Chilakapati, kchilaka@osf1.gmu.edu.
Mr. Tarek Hassan, thassan1@gmu.edu.
STII-17 is the
location of the usual CS421-631 teaching and tutoring sessions.
Please attend regularly after class.
STII-17, 137 LAB
DEDICATED TIMES.
To see the times
that the STII-17, 137 Rational Rose Lab is dedicated to CS421-631
class sections view the schedule on http://www.ite.gmu.edu/labs/.
For other individual times you need to fill out a request for
your personal Omni Lock Code. Forms are available outside the
STII-160 ITE Office.
RATIONAL SOFTWARE.
In addition to the Rational version 2001 software in STII-17, 137 and subset of version 4.0 from the CD in the back of the UML Toolkit paperback from the textbooks section of the GMU Bookstore in the Johnson Center, you can down load to your own PC term-limited copies of full commercial version of Rational Rose Enterprise 2001 Edition, SoDA, RequisitPro and other interesting tools by going to http://www.rational.com/ and clicking on the Try It entry on the first page.
http://www.rational.com/accountlink.
You will use this version of Rational Rose (UML programming environment) to do your class project.
DESCRIPTION:
Using the
UML approach to coding design patterns, the parts of a design
pattern are its classes diagram,
.its scenario,
and its sequence diagram or interaction diagram.
GRADING POLICY:
A midterm examination and a final examination
each count 1/3 of the class grade on a 100 point scale; and
grading is proficiency-based, no curve. The combined project, homework and lab work comprise
the remaining 1/3 of the class grade. Students must hand in all
home - work and lab work that is requested to be turned in, but
students may work on homework and lab work in their project team
groups. It is understood that the project is a major time
commitment, and students must work in their groups, taking
advantage of communications technology when appropriate.
GRADE SCORE:
Score =
(1/3)*MidTerm + (1/3)*Final + (1/3)*((1/3)*Homework
+ (2/3)*Projects)
SYLLABUS CONTENT OUTLINE
1. Introduction to Design Patterns: Principles and Examples
2. Design Patterns in Designing Computer Systems
3. Programming Design Patterns in UML and Java
4. Advanced Topics in Design Patterns.
REQUIRED TEXTBOOKS
1. 'Design Patterns: Elements of Reusable Object-Oriented Software,' by Gamma, Helm and Vlissides,
Addison-Wesley
Publishers, 1995. Book comes with a CD.
2. Java
Design Patterns: a Tutorial,' by Cooper, Addison-Wesley
Publishers. Book comes with a CD.![]()
![]()
3. UML
Toolkit, 1998, Eriksson, John Wiley, CD-ROM.
4.Rational
Rose 98 UML Software or Equivalent, Download Rational Rose
Enterprise Edition 2001 from
5.Enterprise
Rational Rose 98i UML STII-Lab Room 17 Accounts and Materials.
Rooms 133, 137 Accounts and Materials.
REQUIRED LABORATORY HARDWARE AND SOFTWARE:
1.Programming
Patterns Using UML and Java, STII Labs 17, 137
2.Personal
Computer, Windows 98, 2000, ME, XP or Windows NT, Connectivity to
Internet/Web, Web Browser.
3.Accounts
and Omni Lock Codes for PC CAD Labs in STII-17, 133, 137. See http://www.ite.gmu.edu/labs
4.Your
own copy of Rational Rose. You can start with the student 4.0
version on the CD in the back of the UML Toolkit paperback book
available in the textbooks section of the GMU Bookstore. However,
this beginner's version will not be sufficient for the course
project.
5.The Lab
Project will Focus on Requirements Engineering in UML
Chapters/Exercises.
SOURCES
FOR CS631 LECTURE POWERPOINT SLIDES.
You can
download the PowerPoint CS631 Lecture slides before each
days lecture by either going to
ftp
mason1.gmu.edu/drine/cs631
http://www.software-engin.com/
The following
URL is also used to download the VORDTool: http://www.software-engin.com/
If you are in
the distance education section, use ClassWise home page http://netlab.gmu.edu/cwpilot
UML (Unified
Modeling Language) is the defacto industry standard for
developing Object-oriented software. UML has been certified by
the international certifying organization Object Management Group
(OMG) whose web page is http://www.omg.org/. UML is evolving into the
standard world-wide notation for presenting object-oriented
modeling and design.