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 Tuesday/Thursday from 1:05 PM to 2:25 PM in ME 3380.


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

Course Directorytop


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

Course TAs:

Office Hours
Lexi Brown
Th 14:30-16:30
HP 1170
Darryl Hill
Tu 10:00-12:00
HP 1170
Paul Durham
W 9:30-11:30
HP 1170


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 8 Introduction Lecture
Sep 13 Development Processes Lecture
Sep 15 Requirements Engineering Lecture
Sep 20 Use Cases Lecture
Sep 22 User Stories Lecture
Sep 27 Project Proposal Presentations Deliverable 1
Sep 29 Project Proposal Presentations Deliverable 1
Oct 4 Domain Models Lecture
Oct 6 Introduction to Software Architecture Lecture
Oct 11 Architectural Styles Lecture
Oct 13 Architectural Styles Lecture
Oct 18 Styles and Greenfield Design Lecture
Oct 20 Reference Architecture Lecture
Nov 1 Intro to Design Patterns Lecture
Nov 3 Intro to Design Patterns Lecture
Nov 8 Refactoring Lecture
Nov 10 Testing Lecture
Nov 15 Prototype Demo Presentations Deliverable 2
Nov 17 Prototype Demo Presentations Deliverable 2
Nov 22 Computer Ethics Lecture
Nov 24 Final Review Lecture
Nov 28-Dec 2 Oral Exams Deliverable 3
Dec 6 Project Presentations Deliverable 4
Dec 8 Project Presentations Deliverable 4
Dec 17 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 8 In Class Pass/Fail
D0: Project Groups September 14, 9:00 AM cuLearn Pass/Fail
D1: Proposal Presentations Sep 27/29 In Class (+ report submitted to cuLearn by Sep 26, 9:00 AM) 5%
D2: Prototype Demo Nov 15/17 In Class (+ report submitted to cuLearn by Nov 14, 9:00 AM) 5%
D3: Arch + Design Nov 28-Dec 2 Oral Exam (+ report submitted to cuLearn by Nov 28, 9:00 AM) 30%
D4: Presentation + Video Dec 6/8 In Class (+ report submitted to cuLearn by Dec 6, 9:00 AM) 10%
Final Exam Dec 17, 2:00 pm UC 231 50%

You must pass the final exam and all project deliverables 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

  1. ;Splice - DigiDance.
  2. Alacrity Development - Schedula.
  3. Blackout Tracker - Blackout Tracker.
  4. byte me - ATMe.
  5. CandyShack - Seapare.
  6. COMP9001 - NavU.
  7. Compile - Feed Me, Feed U.
  8. CreativeName - GameDroid.
  9. Dank Idea Central - Migrate.
  10. DASK - Send It.
  11. dDevelopers - tutorTonight.
  12. DDSM Programming - Tank Domination.
  13. DevBods - Juke.
  14. Droid - Speed Test Arena.
  15. Group 18 (Feva) - Listen Up.
  16. Group 21 (ACM Industries) - Boondoggle TD
  17. Group 22 - Heartbeats.
  18. Heaps of Stack - Reality Quest.
  19. JJWR - Pathogen Invasion.
  20. Mandroid Unincorporated - Running on Fumes.
  21. OrbitalLego - OweMate.
  22. PesdySamurai - Travellers Tak.
  23. Quadriga - Ordino.
  24. Red Mannequin - Resonance.
  25. ShellShock - Daps.
  26. Tabs for Harambe - Beacon.
  27. Taco Fest - #Goals.
  28. Team SLR - FapFap.
  29. The Flaming Sparrows - Chipmunk.
  30. ZHHT - Car Wash Today.

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.