Gallery Layout Project: Algorithm Exploration & Improvement

Moodle

This project is part of the transition from learning algorithms to applying them in a meaningful system. You will analyze, experiment with, and improve a gallery layout generator.


Phase 1: Individual Exploration (Due Friday, March 27 at 9:00 AM)

Before Friday, each student should complete the following:

  1. Review the Code
    Carefully read and understand the existing code for:
    • layout generation
    • evaluation/scoring of layouts
  2. Experiment with the System
    Modify inputs and run the program multiple times to observe behavior:
    • Try different datasets
    • Adjust parameters (if available)
    • Observe how layouts change
  3. Develop Improvement Ideas
    Propose several possible enhancements to the system. These may include:
    • Changes to the evaluation/scoring function
    • New constraints or preferences
    • Improved layout strategies or heuristics
    • New data attributes for artworks
    • Alternative algorithmic approaches
  4. Preliminary Analysis Submission
    Submit a short write-up describing:
    • What you explored
    • What you observed
    • Your proposed improvements and why they might help

Come to class prepared to discuss your ideas.


Friday Class (March 27)

I will be away at a conference, but class will still meet.

During class, you should:

  • Discuss your ideas as a group
  • Compare different proposed improvements
  • Form project teams

Team Requirements:

  • Minimum: 2 students
  • Maximum: 3 students

Each team should agree on a set of goals for improving the system.


Phase 2: Team Project Plan (Due Monday, March 30 at 9:00 AM)

Each team will submit a project plan that includes:

  • Team members
  • Clear description of goals
  • Planned changes or additions
  • How you will test and evaluate your improvements

This plan should be concrete enough to guide your work through the week.


Phase 3: Implementation & Results (Due Monday, April 6)

Each team will submit:

  1. Code
    Your modified version of the system
  2. Description of Changes
    What you added, changed, or improved
  3. Experimental Results
    Output from your program demonstrating your work
  4. Analysis
    A discussion of:
    • What you tried
    • What worked well
    • What did not work as expected
    • What you learned

Project Emphasis

This project is not just about making changes. It is about:

  • Understanding how the current system works
  • Designing thoughtful improvements
  • Testing ideas through experimentation
  • Learning from results

The goal is to explore how algorithmic decisions impact real outcomes in a complex system.

Scroll to Top