CSCI 265 Phase 1: team charter, project proposal

Phase 1 is focused on establishing and organizing your team and coming up with a project proposal.

There are three core deliverables for phase 1:

Marks breakdown [20 marks total]

Sample versions of most project documents can be found here, based on a fictional team and project.

Forming the teams

During the first lab we'll get each person to very briefly introduce themselves, then begin forming teams for the team project (three teams per lab section, typically 5 or 6 people per team).

Once teams have been formed, students will be given some time to exchange contact information and to get to know a bit more about each other, with a focus on team and individual interests, skills, and strengths/weaknesses with respect to working on a team coding project.

Coming up with a project idea

The project idea should be based on the interests of the team: find something that you'll all be interested in working on. This could be a game or a software tool or application, the only limitations are:

The first two points can be difficult to assess in the early days of a project, especially given that most of your team is likely to be relatively inexperienced so far. To help with this, it is recommended you come up with ideas on how the project can be scaled up/down if it turns out to be too simple or too complex (E.g. at the very least we hope to accomplish a,b,c, hopefully we can also accomplish d,e,f, and if things go well then we'll also include g,h,i.)

This could involve how simple or complex the features will be, or how simple or advanced the visuals will be (e.g. a text-based version vs a full graphical version), or how deep/detailed the plot/levels will be (for a game).

Depending on your team skills, background, and willingness to learn new tech, you may consider trying things like


Getting and submitting the first team deliverables

In phase 2 we'll be setting up team repositories to contain the joint project work, and discussing mechanisms for coordinating access to these repositories, but for phase 1 each person will be getting and submitting their own copies of two deliverables, the team charter and the project proposal.

To get their individual repos, each student must sign in to their linux account and fork/clone the csci265 project repo:

The git fetch/clone/submit cycle:
To obtain a repository initially (e.g. project here)
   ssh  csci  fork  csci265/project  csci265/$USER/project
   git  clone  csci:csci265/$USER/project

Change directory into the repo
   cd project

Edit the proposal.md and charter.md files as needed, e.g.
   vi proposal.md
   vi charter.md

Create a commit for the submission with a suitably informative message, e.g.
   git commit -m "team charter/project proposal submission"

Push the repo
   git push

For phase1 each student on the team must submit identical copies of the team proposal and charter. This is how the instructor can be sure that everyone on the team has agreed to the charter and the proposed project.

(In subsequent phases the team will have set up a team github or gitlab repo, rather than individuals submitting their own copies.)

Detailed discussion of the expectations for the two files is provided further below.


About markdown (.md) files

This semester, all of the documentation files for the project (both individual and team documents) will be submitted as markdown (.md) files. This is the only acceptable file format for documentation in the projects - if anything else is submitted you'll be required to resubmit using this format.

It's important we have an agreed file format for sharing content across the team and across the course, and a text-based format like markdown is much more suitable for tracking with version control systems (like git) than other formats (word, pdfs etc).

A discussion of basic and extended .md syntax can be found at these URLs:
- markdownguide.org/basic-syntax
- markdownguide.org/extended-syntax

Merlin's guide on how to configure your browser to display .md files can be found at URL
- csci.viu.ca/~wesselsd/technotes.html#markdown


The team charter (charter.md)

More of the expected content in the team charter can be seen by examining the skeletal version provided in your project repos, but here is a summary of expected content:

A sample team charter is available here to give students an idea of the depth/nature of the project aspects to be covered, but teams are expected to think about and write their own charters from the perspective of their team and their project - do not simply cut and paste sections from the sample.


The project proposal (proposal.md)

As with the charter, a slightly more detailed outline of the expected content in the project proposal can be seen by examining the skeletal version provided in your project repos, but the shorthand expectations are that it include:

As with the team charter (and with the same caveats), a sample proposal is available here.


The in-lab team presentations for phase 1

In the team's lab section in week 3 (Sept. 20th or 22nd depending on your section) each team will have 15 minutes to present their project proposal and team organization to the instructor and the other two teams.

This is expected to be a reasonably formal presentation: have prepared slides and a structured plan for the presentation, and be sure to try a dry-run ahead of time to be sure your presentation length is about right. (Also be sure to test out your presentation with the projector in the lab to make sure you've got compatible connectors, software, etc.)

The presentations aren't expected to capture all the details from your proposal and charter documents, but rather to give the audience the overall picture along with any highlights and particularly interesting aspects.

Sample presentations for the proposal and charter can be found here: proposal, and charter.


Assessment and marks

Be sure all team members have read the contributions assessment page, and complete and submit their assessments within 48 hours of the scheduled phase 1 presentations.

A sample contributions assessment can be found here.