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).
Announcements
- 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 Directory
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
|
Schedule
All lecture slides are available on the course cuLearn portal and Slack. Lectures will be recorded and available on cuLearn for viewing.
Date | Topic | Activity |
---|---|---|
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 |
Project
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.
Evaluation
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 Outline
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 Policies
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.