Software art and design: computational thinking through programming practice and critical code theory
1. Software art and design:
computational thinking through programming
practice and critical code theory
Winnie Soon @ ISEA 2016
Aarhus University
2. Background
•  Aarhus University > Digital Design > Year 1 > second
semester
Aesthetic
Programming
• 20 ECTS
• Practice-
oriented
Software
Studies
• 10 ECTS
• Theory-
oriented
3. Aesthetic Programming
It is designed to complement the parallel course
in SOFTWARE STUDIES where further critical work
will be developed and expanded but without
losing sight of programming as critical work in
itself.
4. Structure
Face-to-Face time:
–  Weekly lecture - AP (3 hours)
–  Smaller tutorial group sessions (2 hours)
–  Weekly lecture – SS (3 hours)
AP weekly lecture (3 hrs):
–  Discussion
–  Group tutoring
–  Lecture
–  Code tinkering
–  Artwork introduction
5. Deliverable
•  Weekly group tutoring
•  Weekly mini-exercises + peer feedback
•  Final portfolio project (group work)
–  Readme
–  Runme
•  Oral exam (half an hour)
8. Seminar session in SS:
Temporalities - real-time, machine time and just-in-
time (live) coding
–  Wilfried Hou Je Bek, "Loop", in Fuller, op. cit., pp.
179-183.
–  Shintaro Miyazaki, “Algorhythmics: Understanding
Micro-Temporality in Computational Cultures”, in
Computational Culture, issue 2,
–  David Berry, “Real-time Streams”, in Berry, op. cit., pp.
142-171.
–  Geoff Cox, “Real-time for Pirate Cinema”, 2015
9. Throbber design
Weekly mini ex :
Explore a new syntax and re-design a throbber.
Think about what is a throbber? How might we
think about the relationship between technical
objects and cultural objects?
11. What did they say?
“I remember really well the talk we had about
throbbers and the aesthetic part of them”
“I remember that a throbber is not just a throbber.
That if you study what a throbber does you can
change it do something different.”
“The throbber. I liked having a known concept but
a free approach.“
13. Seminar session in SS:
The new software interface: Predictors, big data and
the datafication of everything, including yourselfÂ
–  Philip, Agre, “Surveillance and Capture: Two Models of
Privacy”, The Information Society, 10(2), 1994
–  Richard Wright, "Data Visualisation", in Fuller, op. cit., pp.
78-87.
–  Kenneth Neil Cukier & Viktor Mayer-Schoenberger, “The
Rise of Big Data: How It's Changing the Way We Think
About the World”, Foreign Affairs, May/June 2013,
14. Data processing: API/JSON
Group tutoring: API, JSON, Text parsing
Weekly mini ex : Find any data source on the
Internet, and then try to base on it and produce a
sketch/visualization in Processing. (Data source
can be a text file, open data, feeds, RSS, html
pages etc) Thinking line: what is text parsing and
information processing?
17. Final portfolio: Confession Bot
•  Confession Bot by Ida, Maja, Steffen and
Ann
•  https://twitter.com/ConfessionB0t
When we say we 'share' something
on a social networking site, for
example, we mean we provide
information about ourselves, or
someone passes on information
about us, typically
personal information.
(SĂĽtzl, 2015)
18. Overall comments:
“I liked making the exercises and I have some favorites
among the ones that I have made. This was also what
taught me to think critically of code and analyze my
work.”
“The whole thing about how objects in OOP are reflections
of the real world. I found it interesting to see how man and
machine finds a common ground, a common language, in
which human words are used as technical functions, that
would otherwise be machine language.”
“Finally getting aesthetics as more than just the traditional
sense of the word”
19. Challenges
“I found the classes about API very interesting, but rather hard
and confusing as well.”
“whenever we did the mini exercises alone I often had a hard
time knowing where to start and generally get help. Also when
we did the final project it was difficult for all of us to work on the
program, and felt left out because I knew less about
programming than the others.”
“More use of the groups, using them to articulate the aesthetics
of code and critical thinking, which is very hard to learn
individually.”