Coder Social home page Coder Social logo

ap2018's Introduction

Aesthetic Programming 2018 @ Aarhus University

Course title: Aesthetic Programming (20 ECTS), 2018
Name: Winnie Soon ([email protected])
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 articulate 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
    • Different types of errors
    • 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 ex8: due week 15, Monday night | Working with APIs
    • check mini_ex folder > mini_ex8.md

Class 10 | Week 15 | 10 Apr 2018: Algorithms

Wed tutorial session and NO Fri shutup and code session
  • Class Structure
    • Peer-tutoring
    • Flow chart and Algorithms
    • Discussion of final project
  • Read/watch before class
  • Suggested reading
  • Peer-tutoring: Group 7 / Respondents: Group 8, Topic: Your coding challenge
    • Feel free to suggest your own coding challenge
  • Peer-tutoring: Group 8 / Respondents: Group 9, Topic: Your coding challenge
    • Feel free to suggest your own coding challenge
  • Weekly mini ex9: due week 16, Monday night | Flow Chart
    • check mini_ex folder > mini_ex9.md

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.
  • Title: Programmable matters
  • Abstract: This lecture is a presentation of recent works by visual artist and coder Anders Visti, as well as an insight into the processes that inform these works. The lecture is focused on how to think about and work with software and computers in relation to artistic production.
  • Bio: Anders Visti is a visual artist working with code. Founder and co-editor of the publishing house * [asterisk] from 2002-12. Founder and editor of the printed web publication ‡ DobbeltDagger and initiator of !=null, a public forum for artists, researchers, developers and hackers using contemporary technology for creative expression and aesthetic inquiry. Currently he is teaching basic coding skills and foundational computing at Funen Art Academy and Jutland Art Academy in Denmark.

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

ap2018's People

Contributors

nynnelucca avatar raggedyann avatar siusoon avatar xocffoeg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.