Due April 6 by class
Overview
In the last assignment, your group designed a scoring model for what makes a “good” gallery wall. Now you will take the next step: turning that scoring model into something that can actually be implemented.
A criterion is only useful if the system can compute it from the artwork data and the arrangement of artworks on the wall.
Your task in this assignment is to connect three things:
- the criterion
- the art data needed to evaluate it
- the algorithm used to compute its score
By the end of this assignment, your group should have a clear blueprint for how an evaluation function could be programmed.
Objective
Create a design document that explains how your scoring rubric could be implemented in code.
For each criterion, you must specify:
- what data must exist for each artwork
- how that data should be represented
- what algorithm would use that data to compute the criterion value for a wall arrangement
- how that criterion contributes to the final evaluation score
Your goal is not to write code yet. Your goal is to produce a design that is precise enough that someone else could implement it.
Part 1: Refine Your Scoring Rubric
Start with the criteria from your previous assignment.
For each criterion, restate:
- id
- label
- description
- whether it evaluates:
- selection
- arrangement
- or both
- whether it is:
- maximized
- minimized
- or matched to a target value
You may revise your earlier criteria if needed, but do not simply invent a new assignment from scratch. This should be a refinement of your previous work.
Part 2: Define the Artwork Data Model
For your system to evaluate a wall, each artwork must have usable data.
Create a proposed data structure for artworks. This can be shown in YAML, JSON-style notation, a table, or clearly formatted text.
Your artwork representation should include the fields needed for your criteria.
Example kinds of fields might include:
- title
- artist
- width
- height
- style
- period
- subject tags
- dominant colors
- brightness
- visual intensity
- mood
- orientation
- importance level
- category tags
You do not need to use all of these. Use only what your criteria require.
Required
For each field you include, explain:
- what it means
- what type of value it stores
- why it is needed
- whether it is:
- directly stored in the data
- derived from other data
- or assigned by a curator
Part 3: Tie Each Criterion to the Data
For each criterion, identify exactly which artwork fields it depends on.
Use a structure like this:
- Criterion: thematic_cohesion
- Needed data: subject tags, style, period
- Why: the algorithm needs some way to measure whether selected works are related in subject or style
Do this for every criterion.
Important:
If a criterion cannot be tied to specific data, then it is not yet implementable. If that happens, revise the criterion or revise the data model.
Part 4: Define the Evaluation Algorithm for Each Criterion
For each criterion, describe the algorithm that computes its value.
You are not required to write code, but your description must be specific and step-by-step.
For each criterion, answer:
- What is the input?
What data does the algorithm receive? - What does it examine?
Individual artworks? Neighboring pairs? The full wall? Empty space? - How does it compute a numeric value?
Describe the actual logic. - What is the output range?
0–100? A raw count later normalized? A weighted sum? - What makes the score go up or down?
Example
If your criterion is adjacency contrast, you might say:
- Look at each pair of neighboring artworks on the wall
- Compare their color palette, theme, or style values
- Compute a contrast value for each adjacent pair
- Average those pairwise values across the full wall
- Normalize to a 0–100 scale
That is just an example. Your task is to define your own logic.
Part 5: Define the Final Evaluation Function
Now explain how the system combines the criterion scores into one overall score for a wall arrangement.
Your explanation should include:
- how each criterion’s raw value is converted into a criterion score
- how preferred value and tolerance are used
- how importance weights are applied
- how the final score is computed
You should be specific enough that someone could write the function from your description.
You may include formulas, pseudocode, or clear prose.
Minimum expectation
Your final design should make clear the difference between:
- a measured property of the wall
and - the score contribution based on how well that property matches the curator’s preferences
Part 6: Work One Complete Example
Choose one of your criteria and work it through completely.
For that one criterion, provide:
- the exact data fields needed
- a small example with 3–5 artworks or a short wall segment
- a demonstration of how the algorithm would compute the criterion value
- an explanation of how that value would become a score contribution
This part is important. It forces you to move from vague ideas to a concrete, implementable design.
Part 7: Implementation Readiness Reflection
Briefly answer the following:
- Which of your criteria now seems easiest to implement?
- Which seems hardest?
- What data would be difficult to collect or define reliably?
- Where might two groups implement the “same” criterion differently?
- What part of your design still depends on subjective judgment?
Deliverable
Submit one group document in PDF or Markdown that includes:
- your revised scoring rubric
- your proposed artwork data model
- a mapping from each criterion to the required data
- an algorithm description for each criterion
- a final evaluation-function design
- one fully worked example
- your reflection
Be clear, organized, and concrete.
What I Will Be Looking For
Your work will be strongest if it:
- clearly connects criteria to data
- treats the evaluation function as something that must actually be computable
- distinguishes between artwork selection and artwork arrangement
- explains algorithms in a precise way
- shows evidence that your design could realistically be implemented
