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/ or go to

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.

After the semester starts up, you will be asked to download a full commercial version of Rational Rose 2001 from http://www.rational.com/ and then use its Key Administrator tool to activate Rational Rose 2001 by use of the Key and Account numbers distributed in your class through the following URL

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

http://www.rational.com

5.Enterprise Rational Rose 98i UML STII-Lab Room 17 Accounts and Materials.

Rational Suite Enterprise, including Enterprise Rational Rose 2001-2002 UML STII-Labs

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.

 TBD1 ftp://mason1.gmu.edu/drine/cs631

 TBD2 ftp://mason1.gmu.edu/drine/cs631

SOURCES FOR CS631 LECTURE POWERPOINT SLIDES.

 

You can download the PowerPoint CS631 Lecture slides before each day’s 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.