COMP 3004: Object-Oriented Software Engineering

For further details on the course content, please refer to its outline (pdf). This course is offered by the School of Computer Science at the Carleton University.

Lectures are held every Wednesday/Friday from 11:35 AM to 12:55 PM in AT 101.


  • Submit your D0:Project Groups by 9:00 AM on September 12.

Course Directorytop


Dr. Olga Baysal
Office: HP 5125D
Email: olga.baysal[at]
Office Hours: by appointment

Course TAs:

Office Hours
Lexi Brown
Tuesday 1:30-2:30 PM, Thursday 2:30-3:30 PM
Alex Patel
Wednesday 3:00-5:00 PM
Amir Aghasharif
Friday 9:30-11:30 AM
Junaid Maqsood
Friday 2:00-3:00 PM
Tansin Jahan
Monday 2:00-3:00 PM


It is important to note that this schedule is evolving and will change based on your interests and how the class is progressing. All lecture slides are available on the course cuLearn portal.

Sep 6 Introduction Lecture
Sep 8 Development Processes Lecture
Sep 13 Requirements Engineering Lecture
Sep 15 Use Cases Lecture
Sep 20 Project Proposal Presentations Deliverable 1
Sep 22 Project Proposal Presentations Deliverable 1
Sep 27 User Stories Lecture
Sep 29 Domain Models Lecture
Oct 4 Introduction to Software Architecture Lecture
Oct 6 Architectural Styles Lecture
Oct 11 Architectural Styles Lecture
Oct 13 Styles and Greenfield Design Lecture
Oct 18 Reference Architecture Lecture
Oct 20 Intro to Design Patterns Lecture
Oct 25 NO CLASS Reading Week
Oct 27 NO CLASS Reading Week
Nov 1 Prototype Demo Presentations Deliverable 2
Nov 3 Prototype Demo Presentations Deliverable 2
Nov 8 Intro to Design Patterns Lecture
Nov 10 Refactoring Lecture
Nov 15 Testing Lecture
Nov 17 Computer Ethics Lecture
Nov 20-25 Oral Exams Deliverable 3
Nov 29 Project Presentations Deliverable 4
Dec 1 Project Presentations Deliverable 4
Dec 6 Final Review Lecture
TBA Final Exam Final Exam


The project forms an integral part of this course. The goal of the project is to produce a significant mobile app that performs some useful function. This software must have a considered and defensible design and architecture. There are only two real restrictions on the app idea itself: no database management apps will be accepted (e.g., simple CRUD apps that do not make sense in a mobile context); also, apps that require crowd buy-in are not acceptable (e.g., apps that would require large numbers of people to contribute content to be viably useful).

Your app must be executable on one of mobile platforms (from: iOS, Android, BB10, Windows 10 Mobile, FirefoxOS). While the app can work on tablets, the demonstrated platform _must_ be phone based.

The projects will be completed in teams of four. You are free to select your own team; if you do not have a team or your team has less than four members, please talk to me and I will set you up. Each of the deliverables for the project can be considered assignments. Bonus points will be awarded to teams who are able to get their app accepted into curated app stores (e.g., iOS App Store, BlackBerry World, Windows Store) by the time the final exam period ends.

Projects will have a difficulty scale applied to them by the instructor and TAs. The scale formula will be:

    (project + bonus) * scale = final project grade

Scale will range between 0.75 and 1.0. The components of the scaling mark will be determined by:

  • 5: completeness (compared to proposal)
  • 5: utility
  • 5: polish
  • 10: difficulty

There will also be various sources of bonus marks during the term; each will be worth 2%:

  • Best pitch
  • Best prototype demo
  • Best final demo
  • Accepted to curated app store

NOTE: The expectation is that you will work approximately 12 hours per week on this course; at least 8 of these hours will be on the project. Given that the course lasts 13 weeks, each team member is expected to work on the project at least 100 hours. You should be able to accomplish something pretty great in this time; please make the most of this opportunity.


Deliverable Date Format Value
Questionnaire Sep 6 In Class Pass/Fail
D0: Project Groups September 12, 9:00 AM cuLearn Pass/Fail
D1: Proposal Presentations Sep 20/22 In Class (+ report submitted to cuLearn by Sep 19, 9:00 AM) 5%
D2: Prototype Demo Nov 1/3 In Class (+ report submitted to cuLearn by October 31, 9:00 AM) 5%
D3: Arch + Design Nov 20-25 Oral Exam (+ report submitted to cuLearn by Nov 19, 9:00 AM) 30%
D4: Presentation + Video Nov 29/Dec 1 In Class (+ report submitted to cuLearn by Nov 28, 9:00 AM) 10%
Final Exam Dec 13, 2-5 pm TBA 50%

You must pass the final exam and the project to pass the course.

Course Outlinetop

This is an overview of the kinds of topics the course could cover:

  • Process models
  • Use cases
  • UML sequence diagrams
  • Requirements specification
  • Non-functional requirements
  • Architectural styles
  • Design patterns
  • Computer ethics

Current Course Projects: Mobile Appstop

University Policiestop

Academic Integrity

Academic Integrity is everyone’s business because academic dishonesty affects the quality of every Carleton degree. Each year students are caught in violation of academic integrity and found guilty of plagiarism and cheating. In many instances they could have avoided failing an assignment or a course simply by learning the proper rules of citation. See the academic integrity for more information.

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 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).

Pregnancy Obligation

Write to the instructor 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.

Religious Obligation

Write to the instructor 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.