5. Assignments

Assignments for the first part of the course. The group project instructions to be added elsewhere.


All assignments are returned through Moodle (course key: ccmas2016). Do not send them by email!


  1. Set the development environment (see Setup Development Environment)

    • Install Python 3.5
    • Create a virtual environment
    • Install requirements.txt
  2. Get used to Python (see Learn Python). Things to consider include:

    • Basic syntax: loops, lists, dictionaries, def, class, import, etc.
    • What does __init__-function do for the classes? (see, e.g. Data Model)
    • How to run Python programs from the command line?

5.1. Essays

Each week there is an article to be read, and the students write a short essay (max 250 words) summarizing its main points. The deadlines to the essays are on Tuesdays at 23.55. Include your UH user name and student number to the pdf!


Exception: First week’s essay deadline is on Thursday 3.11. at 23.55!

Essay articles:

  1. Dan Ventura - Mere generation: Essential barometer or dated concept? (due Thu 3.11. 23.55)

  2. Rob Saunders and Oliver Bown - Computational Social Creativity (due Tue 8.11. 23.55)

  3. Geraint Wiggins - A preliminary framework for description, analysis and comparison of creative systems (due Tue 15.11. 23.55)

  4. Anna Jordanous - A Standardised Procedure for Evaluating Creative Systems: Computational Creativity Evaluation Based on What it is to be Creative) (due Tue 22.11. 23.55) Read: The first ~16 pages (until the section: Application of the SPECS Methodology to an Evaluative Case Study), you can also skip the Survey-part (starting from: Survey of Current Evaluative Practice for Computational Creativity) from the background section if you so wish. The article is somewhat longer than in the previous weeks, but it is easy to read. When reading the article, try to answer the following questions in particular:

    • How the FACE/IDEA models designed for the description and evaluation of a creative system differ from the evaluation procedure presented in the paper?
    • What are the pros and cons for the procedure presented in the paper?
  5. Hojt et al. - An Overview of Cooperative and Competitive Multiagent Learning (due Sun 4.12. 23.55) Read: The first ~16 pages (until section 4: Competitive MASs).

5.2. Exercises

(Thu 10.11. 11.57) The weekly exercises were changed to be on their own pages. See below.

Weekly programming and theoretical exercise deadlines are on Sundays at 23.55 every week. The exercises marked with RETURN at the start, will be the ones that accumulate your course points in Part 1 (and therefore should be included in the compressed file).

Weekly Exercises:

Remember to return the exercises through Moodle. The exercises should be in one compressed file which extracts to a folder with your UH user name. That is, if your user name in UH is cthulhu and you return a file cthulhu_w1.tar.gz, then it should extract to, for example, the following structure:

        README # General info if needed


Document your code! Sphinx is a good option for documentation in Python projects. A short introduction to Sphinx.

This documentation has been created using Sphinx, so you may look at the repository’s docs/source-folder for some tips also. However, you do not have to build the documentation when returning the exercises. Making a short docstring for main functions and classes (and modules) is enough.