Politecnico di Milano (ITALY)
About this paper:
Appears in: EDULEARN20 Proceedings
Publication year: 2020
Pages: 3478-3488
ISBN: 978-84-09-17979-4
ISSN: 2340-1117
doi: 10.21125/edulearn.2020.0982
Conference name: 12th International Conference on Education and New Learning Technologies
Dates: 6-7 July, 2020
Location: Online Conference
In this contribution we present a didactical framework, meant for design students, to teach coding as an expressive tool. We dubbed it "draw with code", and it reflects a specific approach to programming aimed at creating expressive artifacts instead of purely functional ones, known as Creative Coding. It is the result of an experience of four years running an elective course in a polytechnic school.

Although seen as a marginal practice in our faculty, teaching creative coding is aligned with the learning goals of a design degree. Coding fits in the design process because it's an iterative practice that fosters creative feedback loops: playing with technologies leads to new possible solutions, rapidly coding prototypes nurtures evolution and improvement of concepts and ideas. Furthermore, coding skills facilitate cross-disciplinary collaborations, because coding itself already permeated into many other fields like art, computer science, statistics, digital humanities and many more.

However, education about coding in our design faculty appears fragmented and the lack of overall literacy, combined with the lack of confidence in being able to succeed in learning it, leads design students to the avoidance of this practice.

Starting from the aforementioned motivations and problems, we aim to teach designers how to deploy coding in their workflow and we articulated a strategy aimed at achieving this goal by 'drawing with code'. In this setting, the teaching of coding is framed as the accomplishment of a series of tasks that result in the production of visual artifacts. Such outcomes are familiar to communication designers because aligned to what they are supposed to realize in their profession. Our aim is to create the conditions to turn coding into a valuable resource for designers, that can be combined with more traditional ones like sketches, prototypes and mockups.

This goal is reached in a process that is three-folded: first, we introduce the basics of programming and computational thinking to design students; second we highlight scenarios where coding can be used to sketch ideas and develop working prototypes that focus on expressive goals; third we encourage students to understand open-source ethics by using code available online and by releasing and documenting their project with the same approach.

To achieve these goals, CC is structured in a teaching framework based on four pillars:
Pragmatic and visual technology: we chose a solution (JavaScript coupled with the ”p5.js” library) that allows students to quickly see, in a visual form, the results of their actions;

Hands-on sessions:
lessons are based on live coding lead by instructors, and personal experimentations;
Coding exercises:
students skills are evaluated through weekly assignments and one hackathon;

Group project:
A final assignment that focuses on using coding practices to convey a specific communication aim and that also requires the production of documentation that verbally deconstructs and explains their code in a way that highlights design challenges and technical solutions.

By showing results derived from the different editions of the course, we explain what communication design students with low literacy in coding can achieve in the timeframe of a semester, supporting the idea that 'draw with code' is an effective framework for teaching programming in a design faculty.
Creative coding, communication design, teaching methods.