Computer Science - Capstone Project
COMP SCI 4ZP6, Term 3 202021
Term 3: Wednesday 14:30-16:20 and Friday 15:30-16:20.
Will be virtual both terms.
Dr. J. Carette, ITB-168 , ext 26869, email: carette at mcmaster dot ca.
Ethan Chan (chaneh)
Brendan Fallon (fallonb)
The calendar description says:
Students, in teams of two to four students, undertake a substantial project in
an area of computer science by performing each step of the software life cycle.
The lecture component presents an introduction to software management and
Registration in Level IV of an Honours Computer Science program, Honours
Business Informatics or Honours Computer Science as a Second Degree (B.A.Sc.)
The project will be broken into pieces (requirements, design,
prototype and final implementation), each of which will be graded
separately, and may also themselves be sub-divided.
- Students should know and understand:
- Rudiments of software specifications, design, architecture, implementation and testing.
- Need to be able to put software together using frameworks and libraries.
- Experience working on a team.
- Students should be able to
- write software requirements
- write tests and test plans
- pick up a new programming language
- use revision control, issue tracker, wiki
- Students should know and understand
- Basic project managament concepts.
- Students should be able to
- Gather requirements from an advisor
- Put these requirements together into a
coherent proposal that captures the problem which needs to be solved,
as well as a plan of attack.
- Design a solution to this problem, and document it.
- Implement a solution to the problem, and document it.
- Plan, perform and document validation and verification of their
implementation with respect to their requirements.
- Explain (orally) the problem, the solution, and the adequacy of
the solution. If the solution is software, demo it.
- Produce a set of precise, consistent and usable
documents for the resulting project.
The latest version of this outline and the most "up-to date"
information as well as hand-outs can be found on the course web page.
(Or go to my home page and then to the course page).
Every group will be assigned a
repository (shared with the TAs and the professor) for all of their work.
Optionally, you may use a public
repo for the same purpose.
The issue tracker will be used for some communication. Other means
(like Discord) will be used as well.
There are 3 kinds of projects that you may embark on
Generally, it is easiest to satisfy an external customer, second-easiest for a
McMaster faculty member as client, and hardest when you are "recruiting" a
faculty member to supervise a project they are only somewhat interested in.
There is a list of proposed projects.
- Industry/community proposed
- Faculty-member proposed
- Self proposed
Note that in all cases, it is possible to do a software development project
(the most common) but also a 'research project' whose end result is a research
The deliverable schedule is below. Dates in the future are approximate,
but will not be changed without advance warning. Associated grade in
parentheses. These may be (slightly) adjusted in the future. 0% grades
will not ever change.
- Form groups: Sep. 18 (0%)
- Select project with a supervisor: Sept. 25 (0%)
- 2 page project summary and
problem to be solved description. Oct. 2 (5%)
- Self-Reflection (see below for details) (3%)
- At start. Sep. 30th. (1%)
- Middle (early Jan) (1%)
- End (April 8) (1%)
- Requirements specification, Oct 9 (11%)
- Ongoing: summary of meetings with 'client', every 2 weeks. (5%)
- Prototype 1.0, Oct 28 (7%)
- Design, Nov 18 (9%)
- Prototype 2.0 (10%)
- Internal and external testing (10%)
- Final version (10%)
- Internal Demo (5%)
- Faculty of Engineering Capstone Day (materials due April 5th, showcase on April 8th) (25%)
Each deliverable will be graded. There will be individual grades too
in that some of the deliverables above will have pieces that are
individually done pieces.
Learning does not happen through experience alone but rather as a result of
thinking about what you learned through reflecting on it.
"The role of reflection is to generate learning through connecting theory
to practice; deepen learning by challenging students’ thinking; document
learning by producing tangible expressions of new understanding gained through
integrating experience and disciplinary knowledge
-Ash & Clayton, 2009
In this course, you are asked to reflect on your experience of applying your
disciplinary knowledge to your Capstone project. Specifically, the reflection
assignments ask you to articulate your learning through the process of applying
your specialized engineering-based knowledge to your Capstone project. Your
ability to articulate your process and your learning will help you to better
communicate your skills and competencies to future employers.
Each of the three self-reflection assignments are individual assignments.
Each reflection assignment will be posted on Avenue. These are required course
elements that must be satisfactorily completed to pass the course. You will be
provided with a rubric that will be used to mark each reflection assignment so
that you are aware of the criteria that must be met. All reflections should be
written in Times New Roman Font, 12 pt, with 1in margins, single space. You are
encouraged to do a free write/first draft that includes all your ideas. Edit
your writing so that you are sure to succinctly address the reflection prompt
within the word limit prior to submitting your assignment on Avenue.
At certain points in the course it may make good sense to modify the
schedule. The instructor may modify elements of the course and will notify
students accordingly (using the standard communication mechanisms used
for the class).
The Faculty of Engineering is concerned with ensuring an
environment that is free of all adverse discrimination. If there is a
problem that cannot be resolved by discussion among the persons
concerned individuals are reminded that they should contact their
Chair, the Sexual Harassment Office or the Human Rights Consultant,
as soon as possible.
You are expected to exhibit honesty and use ethical behaviour in all aspects
of the learning process. Academic credentials you earn are rooted in principles
of honesty and academic integrity. It is your responsibility to understand
what constitutes academic dishonesty.
Academic dishonesty is to knowingly act or fail to act in a way that results
or could result in unearned academic credit or advantage. This behaviour can
result in serious consequences, e.g. the grade of zero on an assignment, loss
of credit with a notation on the transcript (notation reads: “Grade of F
assigned for academic dishonesty”), and/or suspension or expulsion from the
university. For information on the various types of academic dishonesty please
refer to the
Academic Integrity Policy,
The following illustrates only three forms of academic dishonesty:
- plagiarism, e.g. the submission of work that is not one’s own or for which
other credit has been obtained.
- improper collaboration in group work.
- copying or using unauthorized aids in tests and examinations.
AUTHENTICITY / PLAGIARISM DETECTION
Some courses may use a web-based service (Turnitin.com) to reveal
authenticity and ownership of student submitted work. For courses using such
software, students will be expected to submit their work electronically either
directly to Turnitin.com or via an online learning platform (e.g. A2L, etc.)
using plagiarism detection (a service supported by Turnitin.com) so it can be
checked for academic dishonesty. Students who do not wish their work to be
submitted through the plagiarism detection software must inform the Instructor
before the assignment is due. No penalty will be assigned to a student who does
not submit work to the plagiarism detection software. All submitted work is
subject to normal verification that standards of academic integrity have been
upheld (e.g., on-line search, other software, etc.). For more details about
McMaster’s use of Turnitin.com please go to
COURSES WITH AN ON-LINE ELEMENT
Some courses may use on-line elements (e.g. e-mail, Avenue to Learn
(A2L), LearnLink, web pages, capa, Moodle, ThinkingCap, etc.). Students should
be aware that, when they access the electronic components of a course using
these elements, private information such as first and last names, user names
for the McMaster e-mail accounts, and program affiliation may become apparent
to all other students in the same course. The available information is
dependent on the technology used. Continuation in a course that uses on-line
elements will be deemed consent to this disclosure. If you have any questions
or concerns about such disclosure please discuss this with the course
Some courses may use online proctoring software for tests and exams. This
software may require students to turn on their video camera, present
identification, monitor and record their computer activities, and/or
lock/restrict their browser or other applications/software during tests or
exams. This software may be required to be installed before the test/exam
As a McMaster student, you have the right to experience, and the responsibility
to demonstrate, respectful and dignified interactions within all of our living,
learning and working communities. These expectations are described in the
Code of Student Rights & Responsibilities (the "Code"). All students share the
responsibility of maintaining a positive environment for the academic and
personal growth of all McMaster community members,
whether in person or online.
It is essential that students be mindful of their interactions online, as the
Code remains in effect in virtual learning environments. The Code applies to
any interactions that adversely affect, disrupt, or interfere with reasonable
participation in University activities. Student disruptions or behaviours that
interfere with university functions on online platforms (e.g. use of Avenue 2
Learn, WebEx or Zoom for delivery), will be taken very seriously and will be
investigated. Outcomes may include restriction or removal of the involved
students’ access to these platforms.
ACADEMIC ACCOMMODATION OF STUDENTS WITH DISABILITIES
Students with disabilities who require academic accommodation must contact
Student Accessibility Services (SAS) at 905-525-9140 ext. 28652 or
mailto:firstname.lastname@example.org to make arrangements with a Program Coordinator. For
further information, consult McMaster University’s Academic Accommodation of
Students with Disabilities policy.
REQUESTS FOR RELIEF FOR MISSED ACADEMIC TERM WORK
McMaster Student Absence Form (MSAF): In the event of an absence for
medical or other reasons, students should review and follow the Academic
Regulation in the Undergraduate Calendar "Requests for Relief for Missed
Academic Term Work".
ACADEMIC ACCOMMODATION FOR RELIGIOUS, INDIGENOUS OR SPIRITUAL OBSERVANCES (RISO)
Students requiring academic accommodation based on religious, indigenous or
spiritual observances should follow the procedures set out in the
policy. Students should submit their request to their Faculty Office
normally within 10 working days of the beginning of term in which they
anticipate a need for accommodation or to the Registrar's Office prior to their
examinations. Students should also contact their instructors as soon as
possible to make alternative arrangements for classes, assignments, and tests.
COPYRIGHT AND RECORDING
Students are advised that lectures, demonstrations, performances, and any other
course material provided by an instructor include copyright protected works.
The Copyright Act and copyright law protect every original literary, dramatic,
musical and artistic work, including lectures by University instructors.
The recording of lectures, tutorials, or other methods of instruction may occur
during a course. Recording may be done by either the instructor for the purpose
of authorized distribution, or by a student for the purpose of personal study.
Students should be aware that their voice and/or image may be recorded by
others during the class. Please speak with the instructor if this is a concern
The University reserves the right to change the dates and deadlines for any or
all courses in extreme circumstances (e.g., severe weather, labour disruptions,
etc.). Changes will be communicated through regular McMaster communication
channels, such as McMaster Daily News, A2L and/or McMaster email.