Skip to content
/ AP2018 Public
forked from AUAP/AP2018

A bachelor course: Aesthetic Programming 2018 @ Aarhus University

License

Notifications You must be signed in to change notification settings

jduust/AP2018

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Aesthetic Programming 2018 @ Aarhus University

Course title: Aesthetic Programming (20 ECTS), 2018
Name: Winnie Soon (wsoon@cc.au.dk)
Time: Every Tue 0800 – 1100 (3 hours)
Location: 5361-144, unless otherwise stated

!NB:
Tutorial: Every Wed 14.00-16.00 @ 5361-144 or 5361-135, conducted by Ann Karring and Nynne Lucca Christiansen Optional shutup and code: Wk 6-10, Friday 08.00-12.00 @ 5361-144, conducted by Ann Karring/Nynne Lucca Christiansen

class detail: Groups in etherpad

OUTLINE:

Aesthetic Programming” is a practice-oriented course requires no prior programming experience but with an interest in using code to explore the relationship between art, design, technology and culture within the context of software studies. The course introduces computer coding as an aesthetic, expressive, creative and critical endeavour beyond its functional application. It explores coding as a practice of reading, writing and building, as well as thinking with and in the world, and understanding the complex computational procedures that underwrite our experiences and realities in digital culture. Through coding practice, students are able to contextualize, conceptualize, articulate, design, build, write and run a piece of software. Emphasis is placed on the student acquiring practical skills of expression through an introduction to programming, and this course uses P5.js primarily, which serves as a foundation for further courses on Digital Design.

The course is designed to complement the parallel course in SOFTWARE STUDIES where further critical work will be developed and expanded but without losing sight of coding as critical work in itself. Examples of artists and designers will be introduced that work with coding as their expressive material.

TASKS:

  1. Weekly mini exercises (mostly individual with a few group works) + peer feedback
  2. Peer-tutoring/Peer-feedback: within 20 mins in-class presentation with respondents
  3. Active participation in class discussion and exercises
  4. FINAL group project - in the form of a “readme” and a “runme” (software) packaged + in class presentation
  5. Oral exam (Date: to be confirmed)

!NB: 20 ECTS is equivalent to around 25 hours per week, including lecture and tutorial. As such, you are required to spend around 20 hours per week in reading and programming. The more you practice everyday, the more you get out of the course. There is no short cut and the best way is to PRACTICE!

Other learning support environment:

  1. Weekly 2 hours tutorial session (every Wed - Mandatory)
  2. Weekly 4 hours shut up+code or code study group discussion (every Friday 08.00-12.00- Optional in 5361-144)

LEARNING OUTCOMES:

  1. Learn foundamental concepts in computer programming, such as abstraction, structure, function, iteration, variables and arrays, conditional statements, objects, feedback and interactivity.
  2. Acquire ability to design, read and write processes via computer code and build/develop computational artefacts.
  3. Integrate practical and theoretical skills to articulte and conceptualize computational artefacts.
  4. Recognize coding practice as a way of thinking and inquiry to understand wider cultural systems (computational thinking).

CLASS SCHEDULE:


Class 00 | Week 5 | 30 Jan 2018: Transmediale visit

No physical class. No tutorial session. No shutup and code session.

Class 01 | Week 6 | 6 Feb 2018: Coding Practice & Getting Started

Wed tutorial session and Fri shutup and code session.

Class 02 | Week 7 | 13 Feb 2018: Having fun with basics

Wed tutorial session and Fri shutup and code session.
  • Artwork showcase: Inter_fight(2015) by Cesar Escudero Andaluz
  • Class structure:
    • basic structure: HTML, CSS, JS
    • Coordinate system
    • Shapes drawing
    • Variables
    • Image loading/Display
    • Errors and console.log
    • In-class challenge: Grid paper portrait in p5.js
  • Read/Watch before class:
  • Weekly mini ex2: due week 8, Monday night | A Fun Drawing
    • check mini_ex folder > mini_ex2.md

Class 03 | Week 8 | 20 Feb 2018: Temporality: Infinite loops

Wed tutorial session and Fri shutup and code session.
  • Artwork showcase: Asterisk Painting by John P. Bell, ported to p5.js and modified by Winnie Soon
  • Class structure:
    • Arrays
    • Conditional Statements
    • Iterations: For and While Loops
    • Time related syntax:
      • FrameRate(), FrameCount, setInterval(), millis()
    • Transform: translate(), rotate(), push/pop()
    • In-class ex: Decoding a throbber
  • Peer-tutoring: Group 1 / Respondents: Group 2, Topic: push()/pop()
    • Describe the syntax, and how to use it? (see ref1 and ref2)
    • See the responsibility of peer-tutors and peer-respondents at the end of this page
  • Read/Watch before class:
  • Weekly mini ex3: due week 9, Monday night | Design a Throbber Differently
    • check mini_ex folder > mini_ex3.md

Class 04 | Week 9 | 27 Feb 2018: Data capture

Wed tutorial session and Fri shutup and code session.

Class 05 | Week 10 | 6 Mar 2018: Object Orientation

Wed tutorial session and Fri shutup and code session.

Class 06 | Week 11 | 13 Mar 2018: Generativity

Wed tutorial session and NO Fri shutup and code session.

Class 07 | Week 12 | 20 Mar 2018: Language Plus Code

Wed tutorial session and NO Fri shutup and code session.

Class 08 | Week 12 | 22 Mar 2018 (Thur): Guest Lecture by Nick Montfort (Mandatory)


Week 13, no class due to Easter Holiday

No Wed tutorial session and NO Fri shutup and code session.

Class 09 | Week 14 | 3 Apr 2018: Queries and APIs

Wed tutorial session and NO Fri shutup and code session.
  • Artwork showcase: Net Art Generator by Cornelia Sollfrank
  • Class structure:
    • API
    • In-class ex: Walkthrough Google API
    • Guest lecture: Don't Erase Me by Tilde Lageri Damborg and Tobias Stenberg Christensen
  • Peer-tutoring: Group 6 / Respondents: Group 7, Topic: Parsing
    • What is parsing?
    • Can you create a sample code that demonstrate parsing?
    • What might be the related syntax when we have to parse data?
  • Read/Watch before class:
  • Suggested reading/video
  • Weekly mini ex9: due week 15, Monday night | Working with APIs
    • check mini_ex folder > mini_ex9.md

Class 10 | Week 15 | 10 Apr 2018: Algorithms

Wed tutorial session and NO Fri shutup and code session

Class 11 | Week 16 | 17 Apr 2018: Advanced topics: Machine Learning and Prediction

Wed tutorial session and NO Fri shutup and code session but with Fri Mandatory Guest Lecture

Class 12 | Week 16 | 20 Apr 2018 (Fri), 14.00-16.00 @ The small Auditorium, Building 5510, INCUBA Science Park

  • Guest lecture by Anders Visti. Details will follow soon.

Class 13 | Week 17 | 24 Apr 2018: Group supervision

Wed tutorial session and NO Fri shutup and code session.
  • Details will follow soon

Week 18 | NO CLASS, FINAL PROJECT PREPARATION

Wed tutorial session and NO Fri shutup and code session.

Class 14 | Week 19 | 8 May 2018 @ 5361-144: FINAL PROJECT PRESENTATION + ORAL EXAM + EVALUATION

NO Wed tutorial session

  • Details will follow soon, and it would be a rather long day.



CORE REFERENCES:

SKETCH INSPIRATION:

OTHER REFERENCES:

NOTES for mini exercises:

  • You are advised to spend at least 10 hours on the weekly mini exercises or coding.
  • If the mini exercises are too simple, feel free to program something more complex and advance by exploring other syntax.
  • But it is absolutely fine if the program is a simple one and not having a "well designed" screen.
  • It is important to address all the questions in the mini exercise, as they help you to understand the subject matter both technically and conceptually.
  • Make use of your peers to learn different syntax, functions and operators and to ask questions.
  • The more you practice, the more you will get out of the course.
  • The aims of having weekly mini exercises are to encourage experimentation, practice programming and stimulate thinking, therefore there is no grade for this.
  • Make sure the sketch folder contains necessary libraries, files and a correct directory. It should be able to run on a github server through a web browser.
  • In general, the mini ex needs to submit on github on Monday (before the lecture), and peer-feedback should be done on Tue (before the Wed tutorial class)
  • It is mandatory to submit weekly mini exercises and to provide feedback to your peers. Those who fails to do any of them may incur a penalty of absence in one class.

RULES: (in relation to Exam A)

  1. To pass the participation requirement and to enter Exam A, you need to attend at least 75% of the course including guest lectures which means you can only skip maximum 3 lecture classes and 3 tutorials.
  2. Weekly mini exercises (together with written peer-feedback) is considered as part of the course participation. For those who fail to submit their work may incur a penalty of absence in one class.
  3. You need to submit your final project with the runme, readme as well as having a presentation to the class at the last lecture.

Peer tutoring/ respondents format

  • Within 15-20 mins presentation (peer tutoring)
    • Teaching (able to describe/speak about code and how it works)
    • Articulation (able to articulate your learning and coding process)
    • Thinking: How programming help you to think about digital culture/design/arts?
      • In particular the syntax that you are presenting
      • You can also refer to the first class's assigned texts on computational thinking/why program/coding literacy
    • You may consider to have sample/creative code or simple code exercise for the class.
    • You can also make use of collaborative tools e.g code jam/live coding with teletype on Atom
    • Send your slides/sample code to the respondents a day before the class. i.e on Monday. (upload here)
  • Within 10 mins response by respondents (feedback and ask questions)
    • Read the slides and/or sample code in advance
    • Set some questions in mind and lead the class discussion

About

A bachelor course: Aesthetic Programming 2018 @ Aarhus University

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%