Project Work Submission

Requirements

Requirements for project submission are as follows:

NOTE: If you use a word processor for the documentation and/or commentary, you MUST also supply your documents as a PDF file.

Suggested submission

Here are some suggested directory structures for the files in the submission. Note that these are only suggestions!

topdir/                         (Top directory)
|-- readme.txt                  (URL for server, names and emails of team)
|-- database/                   (Database code)
|   |-- readme.txt              (Name and email of author)
|   |-- doc/                    (Documentation)
|   |   |-- essay.doc           (Your reflective essay)
|   |   |-- essay.pdf           (MUST SUPPLY A PDF IF USING WORD)
|   |   `-- documentation.txt   (Documentation on the code)
|   `-- src/                    (Source code files)
|       |-- create.sql          (SQL, Python, shell scripts, etc)    
|       |-- parse.pl
|       |-- populate.sh
|       `-- ...etc...
|-- frontend/                   (Frontend code)
|   |-- readme.txt              (Name and email of author)         
|   |-- doc/                    (Documentation)                    
|   |   |-- essay.doc           (Your reflective essay)               
|   |   |-- essay.pdf           (MUST SUPPLY A PDF IF USING WORD)  
|   |   `-- documentation.txt   (Documentation on the code)        
|   `-- src/                    (Source code files)                
|       |-- cgi/                (CGI scripts)
|       |   `-- search.pl
|       `-- html/               (HTML pages)
|           |-- index.html
|           `-- project.css
`-- middlelayer/                (Middle layer code)                    
    |-- readme.txt              (Name and email of author)         
    |-- doc/                    (Documentation)                    
    |   |-- essay.doc           (Your reflective essay)               
    |   |-- essay.pdf           (MUST SUPPLY A PDF IF USING WORD)  
    |   `-- documentation.txt   (Documentation on the code)        
    `-- src/                    (Source code files)                
        `-- extractSequence.pl

Alternatively, if you supply a single documentation file for the whole project (with authors of different parts of the documentation identified):

topdir/                         (Top directory)
|-- readme.txt                  (URL for server, names and emails of team)
|-- doc/                        (Documentation for the project)
|   `-- documentation.txt       (Documentation file)
|-- database/                   (Database code)
|   |-- readme.txt              (Name and email of author)
|   |-- commentary/             (Commentary)
|   |   |-- essay.doc           (Your reflective essay)
|   |   `-- essay.pdf           (MUST SUPPLY A PDF IF USING WORD)
|   `-- src/                    (Source code files)
|       |-- create.sql          (SQL, Python, shell scripts, etc)    
|       |-- parse.pl
|       |-- populate.sh
|       `-- ...etc...
|-- frontend/                   (Frontend code)
|   |-- readme.txt              (Name and email of author)         
|   |-- commentary/             (Commentary)                    
|   |   |-- essay.doc           (Your reflective essay)               
|   |   `-- essay.pdf           (MUST SUPPLY A PDF IF USING WORD)  
|   `-- src/                    (Source code files)                
|       |-- cgi/                (CGI scripts)
|       |   `-- search.pl
|       `-- html/               (HTML pages)
|           |-- index.html
|           `-- project.css
`-- middlelayer/                (Middle layer code)                    
    |-- readme.txt              (Name and email of author)         
    |-- commentary/             (Commentary)                    
    |   |-- essay.doc           (Your reflective essay)               
    |   `-- essay.pdf           (MUST SUPPLY A PDF IF USING WORD)  
    `-- src/                    (Source code files)                
        `-- extractSequence.pl

Reflective Essay (2-5 pages)

  1. Explain how you set about the project detailing:
    1. how you interacted with the other members of the group
    2. how you (as a group) came up with the requirements for the overall project
    3. how you (as an individual) came up with the requirements for your contribution
  2. How well did the development cycle work within the group?
  3. You should document the development process - what stages did you go through and what steps did you take? Did you go through several iterations or did you spend a long time in design and then a relatively short development stage?
  4. What strategies (if any) did you take for testing your code - particularly if other people's code wasn't ready?
  5. Are there any known issues or bugs, or anything that doesn't work as specified?
  6. You should discuss what worked well and what could have worked better - both with your code and the group interaction. Were there any particular problems? Conversely were there any solutions or ideas that you were particularly proud of?
  7. Were there alternative strategies you could have used? (Either for the project design or implementation)
  8. What do you think you gained out of the project? How has this experience helped you? What experience or insights have you gained?

Consequently I suggest headings of the form:

  1. Approach to the project
    1. Interaction with the team
    2. Overall project requirements
    3. Requirements for my contribution
  2. Performance of the development cycle
  3. The development process
  4. Code testing
  5. Known issues
  6. What worked and what didn't - problems and solutions
  7. Alternative strategies
  8. Personal insights

Code documentation (1-2 pages per tier)

Note that this should not simply be a re-printing of the code with the comments in bold (or something similar).

In general:

For specific layers, the documentation should:

Marking criteria

In general we will be taking a loose, "holistic" approach to marking so we are able to give credit where it has been earned rather than penalizing people for not doing enough in one area. You are expected to stretch yourselves!

However, criteria will include: