Colorado State University Computer Science Department


CS414: Object-Oriented Design (Fall 2010)

Updated 8/26/2010


 

Basic Information

Syllabus

Grading Information

Links to Related Materials

Assignments

Important Dates

 

 

 

 


Basic Course Information

Description: The course will focus on object-oriented (OO) requirements and design principles, techniques, and modeling notations. Students will develop in-depth knowledge of the OO programming paradigm, and working experience with software requirements and design techniques, and design patterns. While there is an emphasis on modeling, students will be required to transform models to code implementations in class assignments and in design studios.

 

Prerequisite: Successful completion of CS314 or an equivalent introductory software engineering course.

Instructor: Dr. Robert B. France,

email the instructor

Office Hours:

· Tuesdays and Thursdays, 10am-11am; 2pm-3pm; or by appointment

GTA: Wuliang (Peter) Sun, Computer Science Bldg; Room 235, desk 7

            sunwl at cs.colostate.edu

 

Office Hours:

· Mondays 5pm-6pm in CS120 Lab; Wednesdays 10am-11am in Room 235, desk 7

Lectures - When and Where:

Time: Tuesdays, Thursdays 3:30pm – 4:45pm

Location: Behavioral Science Building, Room 105

Required TextBooks

Supplemental TextBooks

·         The Elements of UML 2.0 Style by Scott W. Ambler, Cambridge University Press.

 


Course Syllabus

The following is a plan; information provided here is subject to change!

The following is a tentative course schedule:

Week 1:
Course introduction
Introduction to model-driven software engineering (MDE)

Week 2:
Unified Process
Business process modeling – activity models

Week 3:
Requirements modeling and analysis – use cases; requirements class models

Week 4:
The Object Constraint Language (OCL) – an introduction
Modeling Studio 1: Requirements modeling challenge problem

Week 5:
OCL exercise; OO Design review; basic design patterns review

Week 6:
Design patterns: Student presentations

Week 7:
Code refactoring
Test 1: Unified process, OOP basics, MDD, activity models, requirements modeling and analysis

Week 8:
Design modeling review – design class models, sequence models as realizations of use cases

Week 9:
Design review cont’d
Modeling Studio 2: Modeling behaviors using sequence and design class models

Week 10:
Modeling software architectures – structured classifiers, components

Week 11:
Modeling detailed design behavior - Using activity diagrams to model class behavior
Modeling event-driven behavior using state machines

Week 12:
Modeling Studio 3: architecture modeling exercise

Week 13:
Introduction to the Java Modeling Language (JML)
Test 2: design patterns, code refactoring, design and architectural modeling

Week 14:
Thanksgiving Break

Week 15:
Modeling Studio 4: Using JML
Models, metamodels, and metametamodels – an introduction to defining domain specific modeling languages

Week 16:
An introduction to the formal specification of software using Alloy

In the Modeling Studios students will work in teams on a development problem. The studios will give students the opportunity to apply the concepts and techniques covered in the lectures to problems.

There will be three (3) exams: 2 during the semester and a final exam.


Assignments

There will be a total of five (5) assignments. All assignments must be typed. Handwritten assignments will not be accepted.

Tentative Assignments Schedule

 

Reading Assignments: Students are required to complete reading the following chapters of the required text (Arlow/Nuestadt) by the end of the week indicated. Not all the materials will be covered in depth in the class, but students will be tested on the contents of these chapters.


Grading Information

Marks will be allocated as follows:


 

Important Dates

Test 1: 10/7; 3:30PM to 4:45PM (in class)

Last day to withdraw from course: 10/18

Test 2: 11/18 11/16; 3:30PM to 4:45PM (in class)

Final Exam: 12/16; 5:50PM to 7:50PM (in class)



Links to Related Materials

More links will be added to this section as the need arises.


Comments: email your comments
Last major modification: August 26, 2010