Computational Creativity

Computational Creativity
CS 3891-03 and CS 5891-03
Spring 2023

Schedule (including reading assignments) Follow link

Instructor: Douglas H. Fisher (Doug, Professor/Dr Fisher, Professor/Dr Doug)

TA: James Ainooson

Time & Place: MWF 1:25 pm to 2:15 pm in Stevenson 5306

Doug’s Office hours: By appointment Tuesdays and Thursdays on Zoom ( https://vanderbilt.zoom.us/j/95364540137). Email me for an appointment as an individual or team.

James’ Office Hours: Thursdays from 12:30 and 2:30 pm. They’ll be on zoom through this link (https://vanderbilt.zoom.us/j/9067570752). Or by appointment.

Description: This course explores means by which artificially intelligent systems exhibit behaviors that can be regarded as creative, in areas such as visual arts, music, storytelling, architecture, product design, and computer programming.

Prerequisite: CS 3251 Intermediate Software Design or comparable course or experience. I will cover AI concepts and methods as part of class.

Learning Objectives:

  • To survey and have conversational abilities in many domains and tasks in which creativity is desirable; to more deeply understand computational creativity applied to domains of individual interest;
  • To understand the computational basics of AI that are relevant to creative processing across many domains; to be well versed in specific technologies that are most relevant to your specific areas of interest;
  • To express your own creativity and to exercise your metacognition – thinking about your own creative processing and reflecting on how you can translate aspects of that to computation;
  • To understand how AIs can be effective tools for advancing human and collective human-AI creativity;
  • To exercise your skills in teamwork and to communicate effectively on your work in computation;
  • To reflect intelligently on the possible societal implications of creative AIs and AIs as tools for creation by humans.

Instructor Slides and Notes: For slides see Top-Hat.

Organization: I aim to make your workload be an average of 9 hours per week, including in-class time and with low variance, but if you do more because of love of the material then I think that’s great. If you feel that you are overworked or have other academic concerns both in and out of class then please see me.

In-class time will typically be lecture, on both domain areas in which creativity is a desirable characteristic of a creation process, as well as computational mechanisms, both current and imagined, for implementing creativity as part of the creation process. Typically we will meet in class, but occasionally when I want to facilitate small group discussions, we will meet by Zoom.

Attendance is required, during in-person classes and virtually during Zoom classes. There will be Top-Hat questions during class on lecture material.

Readings and Quizzes: You will typically have assigned readings each week that are the basis for some lecture and discussion. There will be a quiz on the readings and other material from lecture, instructor notes, and even Piazza discussions. You can take a quiz multiple times. Your grade for a quiz will be

((% correct of first attempt) + (2 * % correct of last attempt)) / 3.

Each quiz will be on Brightspace and the initial attempt is taken IN CLASS towards the end of the Wednesday class, in the week following the readings/lectures/notes/discussions covered by the quiz. The quiz will remain open for 24 hours following the initial attempt so that you can take subsequent attempts. Since Brightspace does not allow for auto-graded definition using the specified weighting, allow time for grades to be manually adjusted from simple average (allowed by Brightspace) to the weighted average (that weights your last score more heavily than your first score).

Projects: There will be three projects during the semester. The first will be on curation in a student’s area of interest and in a form of the student’s choosing. The second will be a group project on visual art and curation using AIs. The third project will be a group or individual project in an area of student choice. You will submit an intermediate statement of work on your project.

Final Exam Exhibition: There is no final exam in the traditional sense. Rather, there is a required exhibition, which I will count formally as a final exam worth 10% of your grade if you miss it, on Tuesday May 2 from 2:00 pm – 5:00 pm at the SONY Department of Computer Science space.

CliftonStrengths (formally StrengthsQuest): I hope most would agree that knowing who you are is a plus, as long as one accepts uncertainty about it. I ask each student to take the CliftonStrengths assessment if you have not done so already. You will not have to tell me or anyone else what your assessed strengths are, nor whether you even took the assessment. But I would be interested in hearing from you about it. You do have to be knowledgeable about the 34 strength themes and to have reflected on where you think you might land, and what other themes might complement your own. I share my top 5 themes from about 20 years ago, as well as some reflection. I will probably take the assessment again. Note that CliftonStrengths is not an arbitrary selection – VU and VUMC have staff and administration use it, and recommend it to student groups.

Piazza and the Community Score: Because of the size of the class most of the discussion will undoubtedly take place on Piazza. You can discuss all aspects of the course, except an actual quiz while a quiz is open. You can discuss readings and lectures before and after the relevant quiz. Individuals and groups can discuss projects as well, to include resources that you have found to be relevant. You should cite the ideas and other scholarly contributions made by other students and teams of students. You can place these acknowledgements in your Piazza posts, as well as project deliverables, as relevant. Each person will receive a “community score” that is

(M * # of citations received) + # of citations given

where M is at least 3. If a team is cited then the credit is divided evenly across the team members. You get more points for receiving citations than for giving them, but for purposes of honor the weighting would probably be inverted. A person’s community score can contribute up to 5% of extra credit on their course total (up to 100%).

Ethics and Societal Implications: These topics will be sprinkled in class and on Piazza throughout the semester, and they will be primary topics after Spring break.

CS 5891 requirement

In addition to the other requirements of the course listed above, each student who is taking the course for graduate credit must do bullet talks that are scheduled over the course of the semester. I expect two bullet talks for each 5891 student over the semester. A talk should not be a big production. I imagine that each bullet talk will require no more than one hour of preparation. Slides are welcome but not required. These are talks of no more than 5 minutes and they give a cursory survey (e.g., by scanning a few results from a Google search) of an area of creativity that we haven’t touched upon or are a novel aspect of a topic that we have covered. You are encouraged to include some speculation, particularly on computational relationships. Some bullet talks, for example, might be on animal creativity, fashion design, musical motif structures, AI personality, how the constellations were named, recipe and meal planning, and travel planning. Regardless of topic, there should be conceptual links to computational creativity, even if only imagined. My graduate students and I will give some sample bullet talks early in the semester as potential models.

Bullet talks won’t be graded (if you do them), except perhaps to the extent that they are cited by students and thus they might contribute to community scores and extra credit. If you don’t do them, each talk that you didn’t do will count for a 0 of 5% of the total grade.

CS 3891 students are welcome to give bullet talks as time allows, but it is not expected.

Grading:

  • In-Class (Top-Hat) Questions: 5%
  • Quizzes: 25%
  • Projects: 70%

The letter grade breakdown is

  • [92, 100] A (a very few A+s may be given)
  • [90, 92) A-
  • [87, 90) B+
  • [82, 87) B
  • [80, 82) B-
  • [77, 80) C+
  • [72, 77) C
  • [70, 72) C-
  • [67, 70) D+
  • [62, 67) D
  • [60, 62) D-
  • [0, 60) F

As a rule I do not round up.

Projects:

Project 1: Individual. This assignment is on AI cognitive architectures, your meta-cognition, your social cognition, and curation. You will

  • assemble a collection of online items (e.g., images, songs, videos, text) based on a theme of your choosing;
  • display the items in an online form of your design;
  • address your meta-cognitive insights about the intelligent and creative processes that you used in all aspects of the project (i.e., as laid out by the required reading on cognitive architectures by Langley, Laird, and Rogers), and that you imagine will be needed by viewers of your work;
  • give your thoughts on the computational implementation of your component processes;
  • You will also describe any existing computational tools that you used for any aspect of this project, but the use of computational tools is not an important goal of this project. Be prepared to talk about your project in small groups. You will also supply a summary pdf (Garamond font, 14 pt, one inch margins, no more than three pages), available to the class, with the following specific items in the following order:
    • A title
    • Your name
    • The theme of the display in 2-3 lines
    • A pointer to the display
    • A list of computational tools used, and explanations
    • A one paragraph summary that would be a suitable museum display blurb
    • A list of metacognitive insights, labeled by one-to-two words, each with brief elaboration
    • A list of associations between metacognitive labels and cognitive architecture processes, each with a brief elaboration
    • A list of at least 5 Clifton Strengths that you think would complement your own strengths, as related to this curation project. The complementary strengths can correspond exactly to your own perceived strengths (because complementation in the sense used here can include reinforcement), and/or different strengths. You need not state why they complement you per se, but please provide brief reasons for their selection relative to the project and real or imagined goals of the project.

Project 2: Group. We have been given enthusiastic permission to design and display visualizations for the Department of Computer Science space at the SONY building at the corner of 18th Ave and Horton Ave. You will work in teams of three initially to develop visualizations using computational creativity tools, to vet and revise these visualizations as a group, and with other students in the class. Some of the visualizations will follow prescribed themes (e.g., History of Computer Science) and some will be of your own making, but the themes should be relevant to the space. In addition to the visualizations you will prepare museum-style display cards that give a title, the artists, both humans and AIs, and theme. While you will begin as teams of three, vetting will include increasingly larger groups to vet and refine works. You will design an informative and imaginative way of giving credit to the artists. I have course funds to pay for printing costs. The Department tentatively plans on an exhibition in the SONY space towards the end of the semester, presumably at the end of the semester during our class’ final exam period.

I’ll ask for at least one project 2 update from each individual, which can include what you believe is at least one Clifton strength of each of your partners, as well particular contributions that you have made and others have made.

Project 3: Group or Individual. You will work in groups of 1-3 students (i.e., individual projects are allowed) in an area of interest, but with important additional requirements. Most importantly, this project requires that you design and implement substantive software (not simply off the shelf) that is involved in some aspect of the computationally creative process, and that you create a short video that walks through your project. Your video should be appropriate for viewing by other students. This project should be created for this course. The use of AI tools for software development such as chatGPT are not simply allowed, they are required. You will also supply a summary pdf (Garamond font, 14 pt, one inch margins, up to five pages), available to the class.

Project ideas are found on the Project 3 ideas page.

  • A title
  • Your name(s)
  • A one paragraph summary that would be a suitable museum display blurb
  • A pointer to your video overview (length will vary, but I would  say that 8 minutes is a good target)
  • A list of computational tools used
  • A repository or listing of original code by your team, to include code by an AI or with an AI’s assistance. Individual human and AI contributions should be  given as part of comments and any other documentation that you include. In particular, function header comments should identify which team member(s) are most responsible for the code, ordered by degree of contribution.
  • Prompts to chatGPT, Google, Bing that you used in this process. You should include ”major” prompts you used in the design, coding, and documentation of the codebase. See the Piazza post on this topic, and respond liberally with questions or comments. This can positively affect your community score.
  • Literature survey (need not be expansive, but should be non-trivial depending on topic).
  • Sample runs of the code as appropriate and as able.
  • Separate Individual submission: Each team member(s)’ reflection on the project 3 design, coding, and evaluation process. If you worked  alone then you will still submit a reflection.

I’ll ask for at least one project 3 update from each individual.

Honor Code:

Fundamentally, the honor code is about giving credit to others where credit is due, which allows for a more accurate assessment of your knowledge and it better ensures community trust and the societal benefits that stem from that trust. For this class, the following represent honor policy.

Top-Hat questions: You cannot receive any help from others, nor can consult any other source  (other than your memory) when answering a Top Hat question.

Quizzes: You cannot receive any help or consult any sources during the first or subsequent periods that you actually take a quiz. You can consult with others and study any sources before the first period you take the quiz. You can consult with any sources except other people between attempts after the first attempt. You cannot contribute to Piazza on quiz material while the quiz is open (24 hours after the first attempt period). The initial attempt must be taken IN CLASS, unless you have an excused absence.

Projects: As an individual or as a team, you can discuss any aspect of projects that you wish, including code sharing. The rule here is that if you want to share with anyone, then you must share with everyone, presumably as a post on Piazza. Remember to cite others as appropriate. Its possible, but unlikely, that in the case of code sharing a team that used the code of another, notably on Project 3, might lose points – check with me if you have a question.

Schedule (including reading assignments)

Follow link