Carleton University School of Computer Science
COMP 3004B
Object-Oriented Software Development
2013 Winter
Preliminary course outline subject to change; last updated on Sun Jan 6 16:24:53 EST 2013

Class Schedule
Classroom: SA 306
Class Times: Tues. and Thurs. 8:35-9:55
Course Website: http://people.scs.carleton.ca/~jeanpier//304W13/
Instructor Information
Instructor Office Telephone Email Office Hours
Dr Jean-Pierre Corriveau 5328 HP 1-(613)-520-2600 x1192 jeanpieratsignscs.carleton.ca Thursdays 10-11:30
Teaching Assistants
T.A. Email Office Hours Room Number
Philip Eagan PhilipEaganatsigncmail.carleton.ca Fri 13:30-16:30 SCS TA room
Dean Pearce DeanPearceatsigncmail.carleton.ca Tue. and Thur. 4:30-6pm HP 3341
Course Description
This course teaches an agile model-driven approach to object-oriented software development. We will learn how to develop those UML models that are useful in the development of OO code. We will also learn how to refactor code using design patterns. The emphasis will be on understanding and experiencing industrial software development and its realities.
Topics Covered
Among other topics, we will cover: a subset of the Unified Modeling Language (UML 2.0), use case maps and some of the design patterns of Gamma et al., with an emphasis on scenario modeling. Time permitting, we will also discuss: model-to-code traceability, the agile manifesto, design by contracts, death march projects, computer ethics, aspect- oriented and generative modeling/programming.
Prerequisites
The student is assumed to have a strong background in object-oriented programming, as provided by COMP 1406, COMP 2402, and COMP 2404. In addition to programming, you must be able to structure, write, and present industrial quality documents in clear and concise English.
Course Objectives
- Know the essentials of UML 2.0 and of the Gang of Four design patterns - Understand the difficulties of a waterfall approach to software development and why incremental and agile processes are better - Be able to develop models and code AND maintain traceability between both in the context of team assignments.
Textbook (s)
Supplementary Readings (no textbook is assigned to this course) 1) R. Wirfs-Brock and A. McKean Object Design, Addison-Wesley 2003 2) Eric Gamma et al. Design Patterns, Addison-Wesley 1995 3) Hassan Gomma Software Modeling and Design: UML, Use Cases, Patterns, and Software Architectures
Online and Other Resources
see instructor's webpage
Laboratory Software
C++ and/or C# using Visual Studio 2010
Evaluation
Students will be evaluated in this course according to the following measures.

Component Weight Due Date
Assignments 65% TBA
Open-book Final 35% -
Evaluation Note
Wrt assignments: - All team members are to log weekly their duties and the time they allocate to these duties. Each student should reserve approximately 9 hours or more per week for this course. - All team members do not necessarily receive the same mark! For each team assignment, there will be peer evaluation. The contribution of each team member will also be taken into account in determining the mark of each team member. - Demos of final assignments are tentatively to be on April 11 or 12th 2013 - Demos of some of the term assignments are also possible. Also: 1)There will be NO supplemental or grade raising exam in this course. 2)No mark can be substituted for another! You must supply a medical certificate within a week to motivate absences to team meetings or your inability to fulfill your team duties. 3)You MUST pass the assignments AND the final exam to pass the course 4)For the assignments: the responsibility is YOURS to provide all of the necessary explanations and details for your design in your documentation. 5)Debates about marks will NOT be allowed. 6)Marking of the assignments will be partially relative to the other teams. To get an A, you must provide a better than average solution. To get an A+, you must dazzle us! 7)The team assignments MUST ideally be done in a group of 3 or 4 members. But you may be removed from a team and/or have to work by yourself. 8) Late submissions will not be accepted for assignments and will automatically receive a mark of 0.
Attendance
is mandatory and will be verified.
Collaboration Policy
Collaboration on team assignments is restricted to members of the same team, which will consist of no more than four (4) students. Inter-team collaboration is strictly disallowed.
Undergraduate Academic Advisor
The Undergraduate Advisor for the School of Computer Science is available in Room 5302C HP, by telephone at 520-2600, ext. 4364 or by email at undergraduate_advisor@scs.carleton.ca. The undergraduate advisor can assist with information about prerequisites and preclusions, course substitutions/equivalencies, understanding your academic audit and the remaining requirements for graduation. The undergraduate advisor will also refer students to appropriate resources such as the Science Student Success Centre, Learning Support Services and the Writing Tutorial Services.
University Policies
Student Academic Integrity Policy
Every student should be familiar with the Carleton University student academic integrity policy. A student found in violation of academic integrity standards may be awarded penalties which range from a reprimand to receiving a grade of F in the course or even being expelled from the program or University. Some examples of offences are: plagiarism and unauthorized co-operation or collaboration. Information on this policy may be found in the Undergraduate Calendar.
Plagiarism
As defined by Senate, "plagiarism is presenting, whether intentional or not, the ideas, expression of ideas or work of others as one's own". Such reported offences will be reviewed by the office of the Dean of Science.
Unauthorized Co-operation or Collaboration
Senate policy states that "to ensure fairness and equity in assessment of term work, students shall not co-operate or collaborate in the completion of an academic assignment, in whole or in part, when the instructor has indicated that the assignment is to be completed on an individual basis". Please refer to the course outline statement or the instructor concerning this issue.
Academic Accommodations for Students with Disabilities
The Paul Menton Centre for Students with Disabilities (PMC) provides services to students with Learning Disabilities (LD), psychiatric/mental health disabilities, Attention Deficit Hyperactivity Disorder (ADHD), Autism Spectrum Disorders (ASD), chronic medical conditions, and impairments in mobility, hearing, and vision. If you have a disability requiring academic accommodations in this course, please contact PMC at 613-520-6608 or pmc@carleton.ca for a formal evaluation. If you are already registered with the PMC, contact your PMC coordinator to send me your Letter of Accommodation at the beginning of the term, and no later than two weeks before the first in-class scheduled test or exam requiring accommodation (if applicable). After requesting accommodation from PMC, meet with me to ensure accommodation arrangements are made. Please consult the PMC website for the deadline to request accommodations for the formally-scheduled exam (if applicable) at http://www2.carleton.ca/pmc/new-and-current-students/dates-and-deadlines/
Religious Obligation
Write to me with any requests for academic accommodation during the first two weeks of class, or as soon as possible after the need for accommodation is known to exist. For more details visit the Equity Services website: http://www2.carleton.ca/equity/
Pregnancy Obligation
Write to me with any requests for academic accommodation during the first two weeks of class, or as soon as possible after the need for accommodation is known to exist. For more details visit the Equity Services website: http://www2.carleton.ca/equity/
Medical Certificate
The following is a link to the official medical certificate accepted by Carleton University for the deferral of final examinations or assignments in undergraduate courses. To access the form, please go to http://www.carleton.ca/registrar/forms