*******************
Project Description
*******************

* **Maximum Points**: 30
* **Topic Selection Due Date**: Friday November 8, 2024 at 11:55pm; submitted via email
* **PR Merge Date**: If Applicable, At Least One Day Before the Presentation Date
* **Presentation Date**: TBD
* **DUE**: December 6, 2024 at 11:55pm (accept until December 8 at 11:55pm with no penalty); submitted on MOODLE.

.. warning::

    Claiming that objectives/tasks/enhancements were complete within the report when in reality they were not is (a) a
    serious form of academic misconduct --- falsifying results --- and (b) against the student code of conduct.

    These violations are subject to severe penalty. All violations will be reported and investigated fully.



Base Task
=========

* Select a topic for a project
* Implement the project idea
* Produce a report or give a presentation
* Submit the final implementation
* Groups of up to two are permitted



Marking Details
===============

A total of 30 points may be obtained for the project. Although it is not required to complete all portions of the
project (one may choose to only try to obtain, for example, 20 points), all portions must be completed correctly and
effectively to receive all 30 points.

Below is a high-level overview of how points will be awarded. Details on each task are provided later in the assignment
description.

* A total of **10** points will be awarded for having a working implementation of the project topic

    * **10** additional points may be awarded for enhancements/modifications, novelty, interesting-ness, analysis, etc.


* A total of **10** additional points may be awarded for completing a project presentation *or* report

    * A project presentation will award up to **4** points

        * Including proper references/citations awards an additional **2** points
        * Including figures and tables awards an additional **2** points
        * Performing an effective statistical analysis will award an additional **2** points


    * A complete report will award up to **2** points

        * Using LaTeX to generate the report will award an additional **2** points
        * Including proper references/citations awards an additional **2** points
        * Including figures and tables awards an additional **2** points
        * Performing an effective statistical analysis will award an additional **2** points


.. note::

    Points will be awarded for *either* a project presentation *or* a final report. In other words, it is only necessary
    to complete one of the two options (presentation or report).


Project Topics
==============

It is the students' responsibility to select a project topic and have it approved by the instructor. Once approved, the
project direction is up to the students. Students are encouraged to be creative and ambitious. Further, marks will not
be lost due to the quality of the final results.

Most project ideas fall under one of the following categories:

    * Application --- Apply an algorithm to a particular problem of interest
    * Enhancements/Modifications --- Implement a novel idea into an algorithm and analyze results
    * New Algorithm --- Create a new algorithm tha follows the high-level idea of evolutionary computation


Do not be afraid to try something different. The instructor values creativity will make every attempt to be as accepting
of project ideas as possible.

Topics will be selected on a first-come first-served basis, however, if multiple groups want to do the same project, the
instructor will work the the groups to direct them such that the details differ between groups.

All topic choices, along with preferred presentation date (if choosing to give a presentation) are to be submitted to
the instructor via email.


Modifications, Enhancements, Novelty , Etc.
-------------------------------------------

How the points for the modifications, enhancements, etc. are awarded will depend heavily on the specific project. Thus
it is difficult to be specific about how the points will be awarded. As a starting place, consider that the points will
be awarded for a combination of modifications, enhancements, novelty, analysis, interesting-ness, etc.

Like with most aspects of the course, the instructor and marker will be looking for excuses to award points to students
for their work. In other words, be creative, emphasize what is felt to be worth points, and make clear *why* it is felt
that what was done is worth the points.



Project Presentation or Report
==============================

Points will only be awarded for either a final report or a project presentation.


Project Presentation
--------------------

Groups may choose to give a 15 -- 20 minute project presentation. The presentations will follow the same general format
as a report (intro, literature review, problem description, etc.) but will be presented as a webpage on the course
website.


Presentation Dates
^^^^^^^^^^^^^^^^^^

It may be the case that it is natural for some topics to come before others, but in general, the date will be selected
on a first-come first-served basis. Any groups unable to select a date will be assigned one by the instructor.

All project topic choices along with preferred presentation dates, if applicable, are to be submitted to the instructor
via email.

Group Presentation Dates:

* November 26: C
* November 27: K
* November 29: AJ



.. note::

    No presentation dates need to be selected for those groups choosing not to give a project presentation.


Points
^^^^^^

Giving a project presentation will provide up to **4** additional points; however, a total of **10** points may be
obtained by effectively giving a presentation.

    * Including proper references/citations may award an additional **2** points
    * Including figures and tables may award an additional **2** points
    * Performing an effective statistical analysis may award an additional **2** points



Presentation Format
^^^^^^^^^^^^^^^^^^^

The format of the presentation is up to the groups, but they should be similar to the layout of the reports (discussed
in detail in the following section). For a high-level idea of what to include, see the below list:

    * Intro
    * Related Works
    * Project Topic Description
    * Methodology
    * Results & Discussion
    * Conclusions and Future Work


It is up to the groups to decide how best to communicate their project idea and results. Like the lectures, be sure
that the presentation is not boring. Points may be lost if the presentation does not effectively communicate what was
done.


Submitting a Pull Request
^^^^^^^^^^^^^^^^^^^^^^^^^

Like the student lectures, project presentations are to be submitted via a pull request to the course GitHub repository.
:doc:`Refer to the Student Lecture Description page for more details. </student-lectures/description>` The only major
difference is that the group will make a sub-directory for their project under the "student-projects" directory as
opposed to the "student-lectures" directory.

.. warning::

    Although the pull request merge date is required to be at least one day before the presentation date, note that
    pull requests will not be accepted unless deemed acceptable by the instructor. This means that *submitting* a pull
    should be done sufficiently early that any required changes can be adequately addressed before the merging deadline.


Report
------

Writing a simple report will award up to **2** additional points; however, a total of **10** points may be obtained by
completing all portions of the report sufficiently.

The base report will consider spelling, grammar, prose, etc. for marking, thus, the marker will be analysing the report
both quantitatively and qualitatively.

There is no *right* way to write a report, nor is there a definitive structure. The most correct way is to write a
report that most effectively communicates what needs to be communicated.

Below is a list of things to consider including in the report. This list is a collection of suggested ideas to consider
and is not intended to be the standard template.

* Introduction
* Related Works

    * What have others done that is related to the project idea


* Problem description
* Algorithm description

    * What enhancements/modifications were included?

        * Why were they done?
        * How were they done?


* Explain how the results will be analysed
* Explains the results and discuss
* Conclusions and possible future directions
* Bibliography


LaTeX
^^^^^

An additional **2** points may be obtained if the report is written in LaTeX.

If using LaTeX, it is recommended that the report be written with the
`IEEE <https://www.overleaf.com/latex/templates/ieee-conference-template/grfzhhncsfqn>`_  conference template. Overleaf
makes it simple to start using the template.


References and Citations
^^^^^^^^^^^^^^^^^^^^^^^^

Including effective and proper references/citations may award an additional **2** points.

There is no correct number of references to include as that depends on the report itself.

LaTeX and BibTeX makes references and citations relatively simple. Further, with
`Google Scholar <https://scholar.google.com/>`_, getting references correct is trivial.


Figures and Tables
^^^^^^^^^^^^^^^^^^

Effectively including figures, tables, etc. in the report may award an additional **2** points. Examples include an
algorithm flow diagram, a table of parameter settings, tables of results, result visualization, learning curves,
distributions of results, etc.


Statistical Analysis
^^^^^^^^^^^^^^^^^^^^

Including proper statistical comparisons of results may award an additional **2** points.

Typically, different results will be obtained every time the algorithm is run. This is due to the stochastic nature of
these algorithms. For this reason, it is not possible to run these algorithms once to compare the results. Instead,
*distributions* of results need to be obtained and these distributions are then compared to one another.

In evolutionary computation, it is common to see 30 runs of each algorithm to obtain the distributions (30 runs of the
same algorithm with the same setup and hyperparameters).



What to Submit to Moodle
========================

.. warning::

    Completing a requirement does not guarantee that the corresponding points will be awarded. Each requirement must be
    completed to the satisfaction of the marker.


* Submit relevant implementations via Moodle by 11:55pm on the due date

    * Include the report is applicable
    * Include anything else the marker may need for effectively evaluating the work