Topic Options

If you would like to choose your own topic, please email cmpt-353-help@sfu.ca with a brief summary (or talk to us in the Friday lab times), and get approval from Greg before proceeding.

Requirements

You are expected to apply the concepts and techniques covered in the course (as relevant to the topic).

Of course, we expect more from larger groups. A group of three should produce a final result that is about 1.5 times as “good” as a group of two.

The project is worth 13% of the final mark: this should be some guide to the scope. That's about as much as 3.5 weekly exercises, or about the same as the two quizzes. The results we expect to see will be scaled accordingly.

Code

You will be submitting a tag to a Git repository containing your code for the project. All group members are expected to commit their own work to the repository.

Please also commit one or two sample input files in the format your code expects (if relevant).

In your repository's README (or README.md) file, you should document your code and how to run it: required libraries, commands (and arguments), order of execution, files produced/expected. You should do this because (1) you should always do that, and (2) to give us some hope of running your code.

Make sure you add the instructor and TA (ggbaker, loborn, idey) as developers on the project as well so we can see your code to mark it.

Report

A group of n should submit a report of approximately 2n pages. When writing the report, imagine you have been asked to do this analysis as part of a job, and your audience is your coworkers and manager: you should address technical aspects of the project and how you got your results in a way that's accessible to a technically-literate person. On the other hand, it shouldn't be too jargon-heavy.

In that report, you should address (as relevant):

The problem you are addressing, particularly how you refined the provided idea.

The data that you used: how it was gathered, cleaned, etc.

Techniques you used to analyse the data.

Your results/findings/conclusions.

Some appropriate visualization of your data/results.

Limitations: problems you encountered, things you would do if you had more time, things you should have done in retrospect, etc.

Project Experience Summary

In your report, include (in addition to the 2n pages) an overview of the project as your would include it as project experience on your resumé. Co-op calls this a “accomplishment statement” and it might go on a resumé under a heading like “Project Experience”.

One of these summaries should be included for each group member. Of course, some of the project overview will be shared by each member, but such a statement should include individual contributions which will differ.

When writing content for your resumé, focus on your skills, education, experience, and knowledge as accomplishments, rather than duties and tasks. Accomplishment statements could also be phrased by beginning with the result, rather than ending with it.

Greg's Notes

For the exercises, it should be clear that you're being guided very carefully: I have worked through the problems and have a very good idea how you will solve them.

That is not true for these projects. I have worked enough on each project idea to know that it's possible to get some results. My gut tells me that more work will get better or more interesting results. After that, the direction you take is up to you: we may be able to help you, or we may have no idea what problem you're encountering.