PhD Dissertation

In 2019 I defended my PhD dissertation with the cryptic title “public class Graphic_Design implements Code { // Yes, but how? }: an investigation towards bespoke Creative Coding programming courses in graphic design education”

The dissertation is situated at the intersection of graphic design, programming, and pedagogy. Taking pragmatism and constructionism its theoretical stance, the research question of the dissertation was:

How should programming ideally be taught to graphic designers to account for how they learn and how they intend to integrate programming into their vocational practice?

The core of the 128-page dissertation is three papers, which together examine and answer a number of sub-questions. The conclusion to the dissertation’s main question read: “Programming should ideally be taught to graphic designers as a studio-based social activity practiced in a safe environment using relatable metaphors, familiar materials, visual examples, and live, interactive demonstrations. Courses should be planned to utilize a design-first perspective to allow the graphic design students to use their pre-existing, domain-specific skills to leverage their acquisition of programming knowledge and relate it to their vocational practice. Ideally, flipped classroom and blended learning instructional strategies should be used advantageously to move transferable knowledge out of the classroom, allowing instead for contact time to be used to engage in plenary discussions, presentations, troubleshooting, and transfer of tacit knowledge through experiential, hands-on discovery learning. Assignments should be available in varying difficulties, solvable individually or in pairs/groups, provide a fixed goal, include premade assets, and limit the need for aesthetic decisions to ensure students stay focused on learning to program. Also, assignments should have a clear utilitarian purpose within a graphic design workflow and mimic restrictions found in the professional industry.”

Heuristics

My dissertation also contains a separate section dedicated and written directly to teachers at design schools who are responsible for teaching students programming, most often through the so-called “creative coding” courses. The essence of the findings I obtained through my PhD study is distilled down into 24 action-oriented heuristics (all further explained in the thesis):

  1. Remember that graphic designers are not artists
  2. Use relatable materials
  3. Arouse and inspire
  4. Highlight utilitarian value
  5. State a vocational purpose
  6. Provide authentic restrictions
  7. Limit the need for aesthetic decisions to keep the focus on programming
  8. Stimulate positive aesthetic responses
  9. Allow students to enjoy their work
  10. Assess aesthetic quality— not code quality
  11. Contextualize programming
  12. Show how programming concepts have been used in graphic design
  13. Remember that graphic design students are visual learners
  14. Allow for pair programming AND individual programming
  15. Use live coding
  16. Build on existing graphic design history
  17. Show commonalities between graphic design and programming
  18. Introduce programming concepts relevant to computational graphic design
  19. Make programming concepts fit graphic design
  20. Make assignments “hard fun”
  21. Offer pre-made elements
  22. Use interactive demonstrations
  23. Introduce assignments with different difficulty levels
  24. Spend more time helping, and less time lecturing