Paul Bodily About Courses Research Outreach Tips for Communicating Teaching Philosophy Vitae

Assignment Descriptions

All written assignments are to be done with a word processor and be neat and professional. Good writing, grammar, punctuation, etc. are important and can affect your grade.

Virtual Intro and Brainstorming

A link for joining us on Discord is posted on the Moodle course. Once joined, 1) use the "introductions" channel to post a brief introduction of yourself and your skills that are relevant to our class goals and 2) use the "project-ideas" channel to post two or more ideas for a class project.

With CC, we're moving away from problems of prediction or classification and more towards generation. The way I'd encourage you to think about it is to say, "if a human did this, would we say they were being creative, or simply intelligent?"

Computational Model of Creativity

In a couple of pages (typed, 12pt Times Roman, 1-inch margins), produce a high-level computational model of the creative process. You do not need to provide all the details; rather, you should focus on the big picture and the computational aspects of the model. In doing so, you should accounts for as much of the "theory" we've discussed so far (e.g., Wiggins) as possible and, where appropriate, highlight the connections between your computational elements and the relevant theoretical elements. In class, to date, our readings and discussion have focused, for the most part, on philosophical issues. This assignment is your chance to translate those issues/concepts into something more concrete and computational. In other words, propose a model that accounts for the issues/concepts in a computational way (i.e. tell me *what* you think the model should include and *why* you think that way and *how* you might actually do that computationally).

Think about this assignment as though you were asked to write an instruction manual for a generic CC system. Like most instruction manuals, you might draw some kind of box/line diagram that shows the different parts of the system and then some prose that describes each of those parts and how they work together. Again, tell me *what* you think the model should include and *why* you think that way and *how* you might actually do that computationally. You may include a diagram if you wish.

Discord Journal

On Discord, send me a direct message that includes an accounting of the time you spent outside of class for the previous week, including goals met, reading, meeting with your team, project development, etc. Give both a number of hours, and a paragraph description for how those hours were spent. Outline a few goals of how you plan to spend your time for this class for the coming week.

Example:
Reading: 2 hours 15 minutes
Team: 45 minutes
Project Development: 0 minutes
The majority of my time was spent reading. Roughly, and to the best of my recollection, 45 minutes were spent reading Colton, 45 minutes on Wiggins, and 1.5 hours on Ritchie. Ritchie's paper prompted a fair amount of note taking. I was really impressed with how thorough he is; not only in the explanation of his concepts and criteria, but also in his rebuttals to how others used his work. It makes the world of scholarly articles seem pretty intimidating!
I'm attributing the 45 minutes of team work to a few brief conversations with another student about potentially forming a group, and subsequently discussing some project ideas and details.
This week I plan to implement the framework for incorporating the ConceptNet API and using relations from ConceptNet to create a network of hypernyms for our keywords.

Project Proposal

Form a small group (2 or 3) with classmates and do some outside reading, thinking, research, etc. and come up with an idea for a creative computational system. Write a page describing your proposal, why it will demonstrate creativity (based on definitions of creativity we have considered so far) and how you will approach it, including a list of potentially useful resources you've found. Besides helpful APIs, libraries, datasets, etc., this list should specifically include at least 3 related papers that you have reviewed related to your specific project idea from the CC literature. Google Scholar and the ICCC Database (link in the left menu) are great places to look for related works. Feel free to also ask me for suggestions. What are the characteristics of creativity and how will your system effect these attributes? We will review these together during our initial group meetings, and we will spend the remainder of the semester refining the ideas and solving problems together.

An example proposal is available here.

Group Meeting

These are a chance for your group to briefly meet with me to discuss your progress, challenges you are facing, etc. Please be punctual and come prepared with talking points, questions, etc. Obviously, in addition to these brief meetings with me, you should be meeting regularly as a team outside of class. Prior to the first group meeting with me, you should come up with a creative name for your system, for example, a name that is also a descriptive acronym for what the system does (e.g., CANIS: "The Constellation and Name Invention System"; PIERRE: "Pseudo-Intelligent Evolutionary Real-time Recipe Engine").

The best way to be prepared is to come with

  • a demo of where the system is at,
  • a diagram of the system overview,
  • a todo list of concrete next steps assigned to team members with target dates, and
  • questions/concerns that I can be of particular help with.

Examples of system diagrams can be found here and here and here.

Group Battle

These are a chance for your group to meet with another group to foster "interdisciplinary" thinking. One group will begin by briefly explaining their current progress and challenges and then both groups will spend time brainstorming ways to overcome those challenges. Halfway through the class period, you will start over and focus on the second group's progress and challenges. I will wander around and listen in on the various "battles". Please be punctual and come prepared with talking points, questions, etc. for your "opponent" group and take advantage of their time and ideas.

Group Topic Presentation

As a group, choose an important paper in your area that also will be of interest to the broader computational creativity community (check with me to make sure this is a good choice). We will read (in advance) your paper, and you will lead a group discussion during a class period (similar to what we did for the first few classes of the semester). The goal for this assignment is two-fold: to help you better understand your chosen project and to give you an opportunity to teach what you've learned to the class (and to help us see the broader computational creativity implications).

Midterm Presentation and Paper Abstract

Prepare a 10 minute presentation. Your presentation will be evaluated on the presence and quality of the following elements:

  • choose a good name for your system
  • includes slides
  • shows a clear, descriptive, and helpful system diagram
  • preliminary results
  • a demo of the project in its current state
  • arguement for why it is/will be creative from the basis of CC theory
  • challenges and next steps
  • good presentation skills (eye contact, volume, etc.)
  • individual contribution (please send me email with a brief summary of the contributions of each member)
In addition to the presentation, submit via Moodle a well-written abstract describing your project with a descriptive title, description of the work and intended results (around 200 words), and an annotated bibliography that includes at least five references from the literature (it may also include additional references, online resources, etc.). Please follow this format. Use the ICCC style (templates available here).

Final Presentation and Paper

Prepare a polished, 20-minute presentation that demonstrates your system and highlights its (contribution to) computational creativity (and possibly more generally to computer science as well). The presentation should include a significant demonstration component (not necessarily live, though that would be awesome) and should be fun, informative and interesting to a broad audience.Your presentation will be evaluated on the presence and quality of the following elements:

  1. An effective introduction/motivation for the problem the system solves (max 1-2 minutes)
  2. A brief (max 1-2 minutes) summary of related works
  3. A clear, descriptive, and helpful system diagram
  4. An effective demonstration that shows inputs and outputs and the process the system uses to generate artifacts
  5. An exhibition of several different artifacts generated that illustrates breadth of diversity
  6. A discussion of metrics and evaluations (internal and/or external) used to evaluate the system's creativity
  7. A brief (max 1 minute) description of where you would go next

In addition your presentation will be graded on the audience's perception of the following criteria:

  • How well the system achieves creativity in terms of novelty, typicality, value, surprise, intentionality
  • The appropriateness of level of effort for a semester project
  • The presentation makes sufficient and appropriate connections with elements of CC theory
  • Presentation skills (eye contact, volume, etc.)

The link for the audience survey can be found here.

Turn in a paper describing your work that meets the following guidelines:

  • Is well-written and professionally presented as if you were going to submit it for publication. Consider the following points about good academic writing (not an exhaustive list):
    • Whenever possible, use present tense
    • Write the paper in the first person plural, even if you're a single author
    • Avoid contractions, excessive use of nondescript pronouns (e.g., "it", "this", "those", "others"), excess or insufficient commas
  • Use the ICCC style (templates available here) and stick to ICCC conference page limits (8 pages).
  • A descriptive title (see this site for some good guidelines)
  • A link just below the abstract to where the source code for your project can be found online
  • Contains the a section for each of the following:
    • An abstract of roughly 200 words that summarizes the paper (look to write 1-2 sentences for each of the following sections)
    • An introduction/background section that tells a compelling story and place your work in the context of the (applicable) field(s) (i.e., should see related works with citations; best to tell it as a story) (~1 page)
    • A methods section that succinctly and accurately explains your approach (~2-3 pages)
    • A results section that provides results and analysis (~2-3 pages)
    • A discussion/conclusion section that discusses implications, contributions and future work (~1 page)
    • A bibliography with citations from the body of the paper (at least 5)

It is very possible that you will find it challenging to accomplish all of this in 8 pages; however, that is what you must do (and the act of doing so will likely result in a better presentation of your work). You should use figures and tables to effectively communicate the system overview, methods, results, etc. You should upload one PDF submission per group via Moodle.

Your team will all receive the same base grade for the project presentation and report. To augment this, each team member will e-mail me a thoughtful and honest evaluation of the contributions of their team members, including themselves. For each individual, this evaluation should include a score from 1 to 10 indicating your evaluation of their work (10 meaning they were a valuable member of the team that made significant contributions to the project and were good to work with, 1 meaning they contributed nothing and were difficult to work with). If you would like, you may also include any clarifying comments, etc. (especially for low scores). If a person receives consistently low evaluations from peers, then their project scores will be proportionally decreased.

Acknowledgments

Many thanks to Dr. Dan Ventura for his support and contributions in developing this course.