DIGITAL HUMANITIES 2: CODING FOR SOCIAL SCIENCES AND HUMANITIES

Anno accademico
2018/2019 Programmi anni precedenti
Titolo corso in inglese
DIGITAL HUMANITIES 2: CODING FOR SOCIAL SCIENCES AND HUMANITIES
Codice insegnamento
ECC019 (AF:294350 AR:162022)
Modalità
Crediti formativi universitari
6
Livello laurea
Istituto d`eccellenza
Settore scientifico disciplinare
SECS-P/08
Periodo
II Semestre
Anno corso
1
Sede
VENEZIA
Spazio Moodle
Link allo spazio del corso
The course aims at providing students a better understanding  of the nature of coding,  by developing their skills in creative, expressive domains.  It will leverage on the interest of students for arts, music, and creative writing.  Examples they will develop will be drawn from contemporary creative practice.  At the end of the course, students are expected to be quite proficient programmers. Their skills should enable them to undertake more technically demanding work in other areas (e.g. text analysis, data visualization, scripting).
PART I: Fundamentals of Coding
Lecture 1: The Processing environment: draw simple figures. Homework: do some interactive drawing.
Lecture 2: Conditionals (if… then) and animation: make a pong game.
Lecture 3: Loops and Arrays: draw patterns. A simple drum machine. Homework: free style.
Lecture 4 Functions: draw a tartan pattern with a digital loom

PART II: Code that manipulates images
Lecture 5: Digital images: what are they made of? Manipulating images. Make your own filter for pictures. Homework: where is waldo?
Lecture 6: Manipulate a picture pixel by pixel. Loops and arrays again. Pixellating a photograph. Homework: free style.
Lecture 7: Using libraries. Manipulate images from a video. Make a video filter. Video capture from your webcam. Elementary computer vision: track a moving object by color. Homework: combine video and sound.
Lecture 8: Objects. Make a race of cars. Homework: code an object.

PART III: Coding text display and analysis
Lecture 9: Strings and string manipulation. Displaying and animating texts.
Lecture 10: Regular expressions. Smart search with regular expressions. Homework: make your own “Rimario Dantesco”
Lecture 11: What is XML? Analysing literary texts in XML format: The Merchant of Venice. Homework: extract and clean speech from different Shakespeare characters. Analyze word frequencies.

PART IV: make it work
Lecture 12: Make two programs talk. Make two computers talk. Introduction to the OSC protocol.
Lecture 13: from sensors to processing to OSC-controlled sound generation. Kinect to sound.
Lecture 14: discussion: your project ideas. your sketches in a browser: processing.js
Lecture 15: more on your sketches in a browser. Wrapping up.

Two additional meetings: introduction to arduino + applications

Final presentation of the projects
Processing: A Programming Handbook for Visual Designers, Casey Reas and Ben Fry.
December 2014, The MIT Press
Learning Processing: A Beginner's Guide to Programming Images, Animation, and Interaction
Daniel Shiffman. August 2015, Morgan Kaufmann.
Algorithms for Visual Design Using the Processing Language Kostas Terzidis. May 2009, Wiley

Students will have to develop a small coding project at the end of the course. During the course, they will have weekly mini-assignments to verify their progress in learning. Grading will be on the following basis: 50% assignments + 50% final project.
The approach is laboratory-based, highly interactive. During each session students will be guided to learning  basic tools and concepts of coding,  and to applying them by producing small examples of working code. The extreme simplicity of the Processing language and libraries makes it possible to make quite rich applications with relatively basic skills.

Inglese
Processing is a (simplified) programming language. Processing is an open source programming language and integrated development environment (IDE) built for the electronic arts, new media art, and visual design communities with the purpose of teaching the fundamentals of computer programming in a visual context, and to serve as the foundation for electronic sketchbooks. The project was initiated in 2001 by Casey Reas and Benjamin Fry, both formerly of the Aesthetics and Computation Group at the MIT Media Lab. One of the stated aims of Processing is to act as a tool to get non-programmers started with programming, through the instant gratification of visual feedback. The language builds on the Java language, but uses a simplified syntax and graphics programming model. It can be "automatically translated" in java, python  and javascript code.

scritto e orale
Programma definitivo.