COMP 3004B: 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 Monday/Wednesday from 1:05 PM to 2:25 PM (online).

Announcementstop

  • Submit your D0:Project Groups by 9:00 AM on September 14.
  • We will be using Slack for course communication, news and reminders. Please join COMP3004 channel.
  • Welcome to COMP3004! Our online lectures start on September 9.

Course Directorytop

Instructor:

Dr. Olga Baysal
Office: HP 5414
Email: olga.baysal[at]carleton.ca
Office Hours: by appointment

Course TAs:

Name
Office Hours
Office
Email
Liban Aden
Tue 8-10 am.
online
libanaden[at]cmail.carleton.ca
Nathan Embaye
Mon 8-10 am.
online
nathanembaye[at]cmail.carleton.ca
Csaba Kilian
Tue 2-4 pm
online
csabakilian[at]cmail.carleton.ca
Shubham Sharan
Thu 3-5 pm.
online
shubhamsharan[at]cmail.carleton.ca
Guillaume St-Pierre
Wed 2:30-3:30 pm, Fri 1-2 pm.
online
guillaumestpierre[at]cmail.carleton.ca

Scheduletop

All lecture slides are available on the course cuLearn portal and Slack. Lectures will be recorded and available on cuLearn for viewing.

DateTopicActivity
Sep 9 Introduction Lecture
Sep 14 Development Processes Lecture
Sep 16 Requirements Engineering Lecture
Sep 21 Project Proposal Presentations Deliverable 1
Sep 23 Project Proposal Presentations Deliverable 1
Sep 28 Use Cases Lecture
Sep 30 User Stories Lecture
Oct 05 Domain Models Lecture
Oct 07 Introduction to Software Architecture Lecture
Oct 12 NO CLASS Thanksgiving
Oct 14 Architectural Styles Lecture
Oct 19 NO CLASS Lecture
Oct 21 Architectural Styles Lecture
Oct 26 NO CLASS Fall Break
Oct 28 NO CLASS Fall Break
Nov 2 Styles and Greenfield Design Lecture
Nov 4 Intro to Design Patterns Lecture
Nov 9 Prototype Demo Presentations Deliverable 2
Nov 11 Prototype Demo Presentations Deliverable 2
Nov 16 Intro to Design Patterns Lecture
Nov 18 Refactoring Lecture
Nov 23-27 Oral Exams Deliverable 3
Nov 30 Testing Lecture
Dec 2 Computer Ethics Lecture
Dec 7 Project Presentations Deliverable 4
Dec 9 Project Presentations Deliverable 4
Dec 11 Final Review Lecture
TBA Final Exam Final Exam

Projecttop

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 (iOS, Android). 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, Google Play) 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.

Evaluationtop

Deliverable Date Format Value
D0: Project Groups Sep 14, 9:00 AM cuLearn Pass/Fail
D1: Proposal Presentations Sep 21/23 During online lecture (+ report submitted to cuLearn by Sep 20, 9:00 PM) 5%
D2: Prototype Demo Nov 9/11 During online lecture (+ report submitted to cuLearn by Nov 8, 9:00 PM) 5%
D3: Arch + Design Nov 23-27 Oral Exam (+ report submitted to cuLearn by Nov 22, 9:00 PM) 30%
D4: Presentation + Video Dec 7/9 During online lecture (+ report submitted to cuLearn by Dec 6, 9:00 PM) 10%
Final Exam December (3 hours) Online 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

University Policiestop

For information about Carleton's academic year, including registration and withdrawal dates, see Carleton's Academic Calendar.

Academic Integrity

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. Examples of punishable offences include: plagiarism and unauthorized co-operation or collaboration. Information on this policy may be found here.

Academic Accommodations for Students with Disabilities

If you have a documented disability requiring academic accommodations in this course, please contact the Paul Menton Centre for Students with Disabilities (PMC) at 613-520-6608 or pmc@carleton.ca for a formal evaluation or contact your PMC coordinator to send your instructor your Letter of Accommodation at the beginning of the term. You must also contact the PMC 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 your instructor as soon as possible to ensure accommodation arrangements are made. For more details, visit Paul Menton Centre website.

Survivors of Sexual Violence

As a community, Carleton University is committed to maintaining a positive learning, working and living environment where sexual violence will not be tolerated, and survivors are supported through academic accommodations as per Carleton's Sexual Violence Policy. For more information about the services available at the university and to obtain information about sexual violence and/or support, visit: carleton.ca/sexual-violence-support

Pregnancy Obligation

Please contact your 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

Please contact your 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.

Accommodation for Student Activities

Carleton University recognizes the substantial benefits, both to the individual student and for the university, that result from a student participating in activities beyond the classroom experience. Reasonable accommodation must be provided to students who compete or perform at the national or international level. Please contact your 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, see the policy.

Plagiarism

If you are unsure of the expectations regarding academic integrity (how to use and cite references, how much collaboration with lab- or classmates is appropriate), ASK your instructor. Sharing assignment or quiz specifications or posting them online (to sites like Chegg, CourseHero, OneClass, etc.) is considered academic misconduct. You are never permitted to post, share, or upload course materials without explicit permission from your instructor. Academic integrity offences are reported to the office of the Dean of Science. Penalties for such offences can be found on the ODS webpage. 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.