Mental Health and Wellness support

You are here

COSC 4P80 - Project

COSC 4P80: Artificial Neural Networks - Project


For this course, you are required to complete a project. The project's form may vary (as explained below). However, as it is worth a higher portion of your final grade, expect it to require a larger amount of work than a typical assignment.

There are two basic categories of allowable project, with different requirements for each option:

Literature Review

You may choose to research a specific topic relating to networking, review multiple sources on that topic, and write a comprehensive report on that subject. If you choose this option, the following requirements apply:

  • Expect to write around 20 pages. Fewer pages may be appropriate, however, depending on the nature of the topic and how concisely you explain concepts.
  • Ensure that all claims (particularly exceptional claims) are supported with references.
  • It is assumed that your paper will be divided into multiple sections, detailing background information, motivations, examples (where appropriate), etc.
  • Take care in choosing your topic. Ensure that it has sufficient subtopics for multiple sections, but is still isn't so vague that you end up simply talking about "learning". It should feel like you have one topic.
  • Ensure that you pick reasonable references.
  • You must strike an appropriate balance between making content "your own" and properly citing sources.
    • Specifically, though all claims must be thoroughly researched and defended by credible sources, you must still work the bulk of those facts into your prose. Do not simply include large blocks of quotes.
  • Wikipedia is not a source.
    • Using Wikipedia as a source will result in an instant 0%.
  • Proper communication depends on good grammar and spelling. Computers can add red squiggly lines under your typos now. That said, the best way to effect comprehension is to understand the correct homonyms to use for the clearest results. Improper choices may affect readability, to poor effect. That said, excessive cleverness may affect an affection for pedantry. ←(I'm sorry. I couldn't help myself. Seriously though, run it through a spellcheck, proofread it, and learn the difference between you're/your, and to/too/two/toque. It's really in your best interest to not create additional work for the marker)

A final note on the subject of choosing your topic:
Just as a hypothetical (and incomplete) example, suppose you wanted to choose ANNs for recognizing faces. You might start off with:

  • Introduction
  • Brief background on ANNs
    • Probably include a bit on how they're trained, but this is not the bulk of the paper!
  • Brief explanation of recognizing `a face'
    • A bit about why it can be difficult, about common shapes, etc.
  • Image preprocessing
  • Division, frames, etc.
  • Application of the algorithm
  • Results/effectiveness
  • Explanation of issues/complications
  • Maybe an interesting blurb on possible future technologies/current state of the art

Coding Project

You may, instead, choose to develop some application/suite that can be loosely associated with neural networks, associative networks, clustering, etc.

  • Neural networks are simply a tool. Your project does not need to focus on the ANN side of it. As in the real world, it is often the integration of some piece of software with another system, or interaction between the software and user that actually serves to offer any benefit. Basically, if you think you have an interesting idea, there's a good chance that'll be considered more important than how closely it appears to relate to the subject matter
  • Even if you choose this option, you will still need to do some form of 'writeup', detailing your project:
    • It will probably be 8-10 pages long, though that's a very rough estimate
    • It should probably include some screenshots and documentation for use
    • It should document what your project does, how it's used, and how it works
    • Depending on what your project is, it may make sense to be written more as a research paper, or as documentation; use your best judgement. But still keep it formal and legible either way.
  • Note that, if you wish to use any third-party code or library, you should definitely consult with the instructor first. You're being evaluated on your own work; not someone else's work that you cleverly found.
  • Whatever you develop, consider the extent to which it would be suitable to test it, run experiments, etc.

For either option, you are strongly encouraged to seek approval from the instructor (me) before doing any substantial work on your topic. This is to help you get a feel for whether or not your idea would constitute 'enough work'.

Submission Guidelines:

If you do a coding project, ensure that it works correctly on lab equipment, or is somehow otherwise testable by the marker. If you have any questions or concerns about specific resources, you may discuss those with Cale Fairchild, however troubleshooting your project/code is not part of his job description.
If, for some reason, it is not possible to demonstrate your project on departmental hardware, you may be able to make alternate arrangements with me, but only if such arrangements are made in advance of the final due date.

Electronic submission of the completed project (report or implementation) is due by April 19th at 5pm.
If you did a coding project, ensure that your submission includes the writeup mentioned above, as well as copies of all of your source code.
If you did a literature review, electronically submit a .pdf version of your paper (you may submit multiple separate .pdfs if necessary, but make sure I can tell what each file is for).

Depending on your project (and particularly depending on the specifics of your implementation/documentation), demonstration may be required. To facilitate favourable evaluation, please try to be available for demonstration should it be necessary.