Department of Computer and Information Science
CSCI 452
Object-Oriented Analysis  and Design
Syllabus
Spring 2003
Section: B269 4:00-5:15 p.m. MW SL 051

Instructor: A. Olson Office hours: MW 1:30-3:00 PM, 7:00-8:30 PM and by appointment
Office: SL 280 E-mail: olsona@iupui.edu
Office Phone: (317) 274-9727 URL:www.cs.iupui.edu/~aolson
Teaching Assistant: none Contact: --

Copyright 2003.  All rights reserved.  Contact the author for permission before copying.  No permission granted for use in commercial products.  All copies must contain this copyright notice.

Texts:

Applying UML and Patterns. 2nd ed., C. Larman, Prentice Hall, 2002, ISBN 0-13-092569-1.

Computer Ethics. D. G. Johnson, 3rd edition, Prentice-Hall, 2001, ISBN 0-13-083699-0.

Course Description:

Introduction to the object-oriented paradigm in software development.  Basic concepts: objects, classes, messaging, inheritance, methodologies.  Analysis: defining objects, structures, attributes, services.  Design: transforming the analytic model into the design model.  Implementation: comparison of the support features provided by languages such as Smalltalk, Eiffel, and CLOS.  A significant design project.

This course will concentrate on the problem-solving aspects of the object-oriented development process, i.e. the analysis and design phases in the development of large-scale software.It will particularly emphasize techniques that aid in creatively developing models of the systems to be constructed.It will introduce the object-oriented modeling paradigm, including the fundamental concepts of object, class, encapsulation, delegation, inheritance, types, polymorphism and patterns.The popular USDP process by Jacobson, Booch and Rumbaugh, which involves use cases and the UML modeling language, is the development methodology it will follow.Exercises, exams and a project will form the basis of evaluation in the course.Although the project may involve some programming, its primary activities will encompass analysis of problems and designing software solutions; the course does not provide skill in object-oriented programming.

Course Objectives:

The goal of this course is for the participant to acquire an understanding of the principles of, and skills in current practices for, developing a solution to a problem using the object-oriented philosophy.  By the end of the course, the successful participant will
    1. esthetic issues in software design
    2. ethical practices in the software industry
    3. a current process for developing software
    4. fundamental concepts of object-oriented modeling
    5. the processes of problem analysis and software design from the object-oriented perspective
    6. tools that support object-oriented analysis and design
    1. in applying the object-oriented philosophy to the development of a software solution of a significant problem.
This course develops abilities related to the following of the
university's six Principles of Undergraduate Learning:
  1. Communication and Quantitative Skills
  2. Critical Thinking
  3. Integration & Application of Knowledge
  4. Intellectual Depth, Breadth and Adaptiveness
  5. Values and Ethics

Expectations:

3 credits. Prerequisites: CSCI 355 and CSCI 362.  The student should have prior knowledge of computer programming and of the software development process.

No late assignments or projects will be accepted. All assignments and projects must be turned in by the beginning of the class on the due date.  There will be NO EXCEPTIONS made to this policy except for strongly justified emergencies.

Attendance at the Final Examination Period is required.  Do not register for another course that has an examination period that conflicts with this one.

Follow the Standard of Conduct described below.

Tentative Course Schedule

Session:
Date:
Topic:
Activity:
 
1
1/13
Introduction to class

Overview of Object-oriented Development 

Read Chapts. 1, 2, 3 in Larman (abbrev. L.);      
2
1/15
Overview of Tools and the Unified Software
Development Process
Read Chapts. 35, 37 L.  
3
1/20
Martin Luther King, Jr. Day 
No Class  
4
1/22
 Problem Solving
Read Notes; do Assign. 1  
5
1/27
 Foundations of Object Classes
Read Notes  
6
1/29
Foundations of Object Classes
Read Notes   
7
2/3
Foundations of Object Classes
Read Notes; do Assign. 2  
8
2/5
Foundations of Object Classes
Read Notes   
9
2/10
Ethics
Read Chapts. 1, 2, 3 Johnson   
10
2/12
Project Inception and Use cases
Read Chapts. 4, 5, 6 Larman; do Assign. 3   
11
2/17
Inception and Elaboration
Read Chapts. 7, 8, 9 L.  
12
2/19
 Domain Models
Read Chapts. 10, 11, 12 L.   
13
2/24
Design and Interaction Diagrams
Read Chapts.13, 14, 15 L.  
14
2/26
GRASP Patterns
Read Chapt. 16 L.   
15
3/3
Design Realization with Patterns
Read Chapt. 17 L.  
16
3/5
Design Class Diagrams and Implementation
Read Chapts. 18, 19, 20 L.; Project Proposal Due  
17
310
Review
 
18
3/12
Midterm Exam
   
19
3/17
Spring Break
No Class
 
20
3/19
Spring Break
No Class
 
21
3/24
Iteration 2 and GRASP
Read Chapts. 21, 22 L.  
22
3/26
Iteration 3; Use case relations
Read Chaptss 24, 25, 26 L.; Project  
23
3/31
Domain Model Refinement
Read Chapt. 27 L.; Presentations  
24
4/2
Design Patterns
Read Chapt. 23 L.; Presentations  
25
4/7
Architecture and Analysis
Read Chapts. 30, 32 L.; Presentations  
26
4/9
Development Project
Presentations  
27
4/14
Development Project
Presentations  
28
4/16
Development Project
Presentations  
29
4/21
Development Project
Presentations  
30
4/23
Development Project
Presentations  
31
4/28
Development Project
Presentations  
32
4/30
Development Project
Final Project Presentations  
33
5/5
Review
Final Project Presentations; Projects Due  
34
5/7
FINAL EXAM: Wednesday,  3:30-5:30 p.m., Room SL 051

NOTE: This Document is Subject to Change at any time.
Consult your Instructor.

Link to IUPUI Academic Calendar

Grading:

Your grade in this course depends upon your individual performance on Assignments, Projects, the Midterm and Final Exams, and your personal contribution to the class.

Assignment scores accumulate on a point-wise basis, depending upon their complexity. The Midterm and Final Exams form 20 % and 15 %, respectively, of the total score for the course. The Assignments and Quizzes together form 30 % of the total score. The Project forms 35 % of the total score. There is also a measure of personal contribution, which is included in the Project score. It depends upon your personal contribution to the class and oral presentations on the Project.

A student who does not accomplish all of the following:  turn in reasonable responses to the Midterm and Final Exams, and accumulate at least 50 % of the course's total possible points, cannot expect a passing grade in the course.  The grade scale will not be curved statistically.

Attending Class and Turning in the Assigned Work On Time
is the Best Way to Assure a Good Grade

EXERCISES:

Exercises:

Assignment 1
Assignment 2
Assignment 3

Ethics Topic 1

Ethics Topic 2

Assignment 4

Assignment 5

Projects:

Project Proposal

Deliverables

Order of Working Presentations

Order of Final Presentations

Notes:

Watch for notes here.  The list of assignments and projects is subject to change.

Midterm Exam Review

GRADES AND NOTEBOOKS ARE NOW AVAILABLE IN THE DEPARTMENT OFFICE

Withdrawal Policy:

Withdrawals during the period when the Instructor must sign the Drop/Add slip will require justification.

Incomplete Policy:

A grade of I (incomplete) will only be assigned under exceptional circumstances, such as illness, that prevent students from finishing all work required in this course. A grade of I will be awarded only if a minimum of 75% of the work has been completed and the work is of passing quality. Department policy requires a contract be signed by both the instructor and the student in the assignment of any I grade. This contract outlines course work required and establishes a specific date (no more than one year) by which all unfinished work must be completed. The instructor is not required to give the student a full year to finish the work. The instructor has the right to set an earlier deadline if deemed appropriate.

Standard of Conduct:

Each student is expected to adhere to high standards of ethical conduct, especially those related to cheating and plagiarism, IU Code of Student Ethics (see Misconduct) . See also the Association for Computing Machinery's Code of Ethics and Professional Conduct .

In this course, you are not permitted to collaborate or consult with other students when doing the assignments, exams or projects.  You may exchange general ideas with other students when working on assignments or projects, but the results that you turn in must be yours alone.

Any deviation from these rules will be considered a violation of the IU Code above.  Penalties, depending on the severity of violation, can range from a reduction in credit, no credit, or disciplinary proceedings for cheating or plagiarism as provided by the Code.

General Information:

Watch this section for future postings.


Phoenix Information:

For all those who have never logged on to Phoenix, here is important information:

Important Information About Accessing SL 251 (UNIX Laboratory) or SL 161:

As a student in the Department of Computer and Information Science, you can check out a key card for the SL 251 UNIX or the SL 161 Graphics lab. This allows you use of the lab outside of class hours. Key cards may be obtained in SL 280, Monday through Thursday, 8:00 a.m. - 5:45 p.m. Students will be required to fill out a loan form and make a deposit of $10.00 which will be refunded when the card is returned by the end of the semester. Students are also required to renew their key card on a weekly basis via e-mail or online at http://www.cs.iupui.edu/~dtauriai/keycard_renewal.html. Students failing to renew their card weekly will have their card deactivated, denying them access to the lab, and the $10.00 deposit forfeited by the student. Students failing to return their key card by the end of the academic semester will forfeit their deposit.
IT IS YOUR PERSONAL RESPONSIBILITY TO RENEW YOUR KEY CARD WEEKLY.


You are responsible for the lab and the equipment within while the key card is in your possession. You are expected to follow all lab rules such as: no food or drink, no playing games on the computer and no work unrelated to the course. If a student has food or drink in the lab they will be asked to dispose of it. If a student is found violating the other rules of the lab they will be asked to leave, return their card and will lose their lab access deposit. If the key is lost or stolen, please notify the Department immediately. Until the key loss is reported, the student remains responsible for the lab and equipment.

Do not leave the lab open. For example, do not leave the door propped open while you leave the lab to take a break. You are responsible for the equipment and supplies there. You have a key. Keep the door locked to make sure only authorized persons enter. The better care you take of the lab, the nicer your working environment will be. Thank you.