Go to:
Logótipo
Comuta visibilidade da coluna esquerda
Você está em: Start > INTP01

Introduction to Programming

Code: INTP01     Acronym: INTP

Keywords
Classification Keyword
CNAEF Design

Instance: 2023/2024 - 2S Ícone do Moodle

Active? Yes
Responsible unit: Design
Course/CS Responsible: Communication Design

Cycles of Study/Courses

Acronym No. of Students Study Plan Curricular Years Credits UCN Credits ECTS Contact hours Total Time
DC 89 Plano de estudos de LDC_publicaçao em DR de 24/05/2022 2 - 6 45 162

Teaching Staff - Responsibilities

Teacher Responsibility
José Miguel Santos Araújo Carvalhais Fonseca

Teaching - Hours

Theoretical and practical : 3,00
Type Teacher Classes Hour
Theoretical and practical Totals 2 6,00
José Miguel Santos Araújo Carvalhais Fonseca 1,00
Rodrigo Guerreiro Vaz Guedes de Carvalho 5,00

Teaching language

Portuguese

Objectives

At the end of this course, students should be able to design and implement interactive digital artifacts using programming. 

Specifically:

  • Design the structure of a program or algorithm;
  • Design or optimize digital assets appropriate to the environment or chosen technology;
  • Code a program according to a functional or object-oriented approach;
  • Adapt to other programming languages or environments;
  • To know the history and evolution of computational aesthetics through its main designers, artists, and practitioners.

 The course aims to explore code as a resource for creating or customising tools for different contexts of communication design: graphics and printing, animation and video, and interactive applications.

Learning outcomes and competences

This course aims to provide fundamental programming skills for the visual creation, and production or customization of digital design tools; to enable the understanding of digital systems; and to enable the transition to other programming languages.

It also seeks to develop critical analysis skills in the field of design and computational art and its historical framework. 

It is intended that students gain autonomy in the exploration of digital and computational tools for the creation of visual and interactive content, and thus obtain useful new resources to use in communication design projects.

Working method

Presencial

Program

The program is focused on general concepts of design and computational art:

- Repetition;
- Randomness;
- Interaction;
- Transformation;
- Transcoding.

These concepts serve as starting points for the introduction of a series of technical foundations of programming:

- Variables;
- Logical structures;
- Repetition structures; 
- Data structures; 
- Classes; 
- Communication protocols (OSC/MIDI).

The concepts and technical fundamentals will be explored in two distinct tools with different approaches to creative programming: 

- Processing (Java code based creative programming environment)
- Touch Designer (node-based creative programming environment); 

Mandatory literature

Benedict Gross; Generative design. ISBN: 978-1-61689-758-1
Reas, C., & Fry, B. ; Getting Started with Processing (2nd ed.). , O’Reilly Media, 2015

Complementary Bibliography

Helen Armstrong; Digital design theory. ISBN: 978-1-61689-308-8
Brown, P., Cunningham, D. W., Interrante, V., & McCormack, J. ; Computation Aesthetics 2008, Eurographics Association, 2008
Katja Kwastek; Aesthetics of interaction in digital art. ISBN: 978-0-262-52829-0
Grünberger, C. ; Analog Algorithm, Lars Müller Publishers, 2019
Casey Reas; Form+code. ISBN: 978-1-56898-937-2
Reas, C., & Fry, B. ; Processing: a programming handbook for visual designers and artists , Mit Press, 2014
Sauter, D. ; Rapid android development, Pragmatic Bookshelf, 2013
Shiffman, D. ; Learning Processing, Morgan Kaufmann, 2008
Neves, P. ; DES 319 Typography IV , Basil.JS, 2019 (Retrieved from http://pedroneves.info/T/S1920/DES319/)

Teaching methods and learning activities

A theoretical-practical course that addresses the use of creative programming as a tool for visual creation. It consists of a semester-long exposition of the course contents that are accompanied by class exercises and practical projects.

The use of two distinct tools, Processing, and TouchDesigner, allows you to learn and explore concepts and fundamentals of computational design with two distinct programming approaches.

Class exercises are intended to follow and consolidate specific content and demonstrate the ability to address corresponding technical skills. 

The projects have an open approach, thus promoting creative experimentation and autonomy toward the contents covered throughout the semester.

The oral presentation, included in both the practical exercises and the project, aims to develop communication skills, create group dynamics in the class, and critical analysis skills.

Evaluation Type

Distributed evaluation without final exam

Assessment Components

Designation Weight (%)
Participação presencial 20,00
Trabalho prático ou de projeto 80,00
Total: 100,00

Amount of time allocated to each course unit

Designation Time (hours)
Estudo autónomo 35,00
Frequência das aulas 45,00
Trabalho laboratorial 82,00
Total: 162,00

Eligibility for exams

Final grade equal or more than 10.

Compliance with the attendance criterion, according to article 10 of the RADFBAUP, namely not to exceed the 25% limit of absences of the number of classes planned.

Calculation formula of final grade

The evaluation formula consists of the weighted evaluation of the two theoretical-practical modules in:

  • 80% Practical Projects (PP)
    • 40% PP1 + 60% PP2
  • 20% Participation and class exercises
Recommend this page Top
Copyright 1996-2024 © Faculdade de Belas Artes da Universidade do Porto  I Terms and Conditions  I Acessibility  I Index A-Z  I Guest Book
Page created on: 2024-07-16 at 09:39:54 | Acceptable Use Policy | Data Protection Policy | Complaint Portal