Saii MediaArt Lab

문지문화원 사이  로그인  회원가입 소개·문의  정기강좌  단기강좌  커뮤니티  소식  정보  
10년 가을 > 종료된 강좌 목록 | 커뮤니티 | 수강신청 | 프린트
Processing을 활용한 프로그래밍 기초반
강사: 백진욱
시간: 10년 3월 26일부터 총 10회, 금요일 오후 7시~9시30분
수강료: 300,000원
강좌 개요
디지털 시대에 프로그래밍은 예술을 창조하는 가장 강력한 도구 중 하나이다. 그러나, 이공학 교육을 받은 사람이 아닌 일반 대중이 처음 시작하기에는 많은 어려움이 있다. 이 강좌에서는 뉴미디어 아트/디자인을 위한 쉽지만 강력한 프로그래밍 언어로 많은 사람들이 사용하고 있는 프로세싱을 통해서 프로그래밍의 기본을 습득할 수 있도록 한다.

본 수업에서는 프로세싱 언어를 이용하여 관련된 수학적, 과학적 지식과 함께 개체 지향 프로그래밍 언어의 기본적인 개념들을 습득하고 실습 및 프로젝트 활동을 통해서 실제 상황에 이용해보도록 한다.

* 참고 자료

프로세싱 사이트
http://www.processing.org/
프로세싱 관련 책들
http://www.processing.org/learning/books/
Daniel Shiffman의 블로그
http://www.shiffman.net/
OpenProcessing
http://www.openprocessing.org/
강사 소개
백진욱 / 미디어 아티스트, 프로세스 디자이너

수학 및 컴퓨터공학 전공으로 포항공과대학교를 졸업하였고, 동 대학원에서 컴퓨터공학을 전공하였다. 디자인 에이전시인 VINYL의 뉴 미디어 아트랩을 거쳐 현재는 개인 작업을 준비중이다. VINYL에서 수행했던 다수의 설치 작업 외에 클래지콰이, 페퍼톤스, 정재형 등 VJing 퍼포먼스와 조각가 최우람, 건축가 양수인 등과 함께 작업했고 미디어 아트 그룹 randomwalks의 멤버로 활동하고 있다.
아트센터 나비와 홍익대 디자인혁신 센터에서 강의하였고 2009년부터 지금까지 문지문화원에서 강의를 해오고 있다.
강좌 계획
1강: Introduction to Processing Language and Computer Programming
프로세싱 언어를 이용하여 제작된 작업들과 관련 사이트들을 살펴보고 프로세싱 언어를 통해서 어떤 일들을 할 수 있는지 알아본다. 더불어, 디지털 아트 / 디자인 분야에서 사용하고 있는 다른 다양한 언어들도 소개한다.
- 프로세싱 개발 환경의 사용법
- 프로세싱 사용할 때 정보를 얻는 방법
- 프로세싱 프로그램의 구조

2강: Introduction to Computer Graphics
프로세싱에서 제공하는 드로잉 함수들을 사용하여 이미지를 만들어본다.
- 드로잉 오더 : Painter's Algorithm
- 컬러 스페이스 -디지털 컬러 모델 (RGB, HSB, ...)
- RGB color의 구조
- 드로잉 함수 사용법 (2차원 드로잉 함수들)
- text 표시
- 이미지 및 비디오 이용
- 수학 : 2차원 직교 좌표계
- 프로그래밍 : 변수(variable), 블럭(block), 주석(comment)

3강: Interaction
키보드와 마우스를 이용한 인터랙션 : 인터랙티브하게 이미지에 변화를 주는 방법들을 배워본다.
- 마우스의 좌표 및 버튼 상태를 이용하여 이미지에 변화를 준다.
- 키보드를 이용하여 이미지에 변화를 준다.
- 간단한 UI Element를 만들어본다.
- 수학 : 피타고라스 정리, 2차원 벡터
- 프로그래밍 : (if / else), for loop 소개, boolean 타입, 함수(function)
- 의미 단위의 모듈(함수)를 이용한 하향식 프로그래밍 기법을 이용하여 프로그램을 구조적으로 조직화하는 방법을 배운다.

4강: Data & Process
프로세싱에서 제공하는 기본적인 데이터타입에 대해서 알아보고 데이터를 가공하는 방법에 대해서 배운다.
이미지 데이터의 픽셀값을 변경함으로써 Array에 대해서 배워본다.
유한한 메모리 공간을 활용하기 위해 데이터 타입들이 어떻게 구성되어 있는지 습득한다.
- Data
- Primitive Data Type : int, short, long, byte, float, double, char, boolean
- Object : String
- Process
- calculation
- arithmetic operation, logic operation, relational operation
- control
- if / else if / else, switch / case
- for (while, do while은 뒤에 다룬다.)
- loop : loop의 정의와 요소들
- 수학 : 함수의 개념 및 구조, 결정론적인 세계관

5강: Object Oriented Programming
사용자 데이터 타입을 클래스로 정의하여 사용하는 방법에 대해서 배운다.
- 클래스 정의 및 인스턴스화 / 인스턴스의 사용
- 구조화 프로그래밍 기법과 OOP 프로그래밍 기법의 관점의 차이를 습득한다.
- 변수의 스코프
- 프로그래밍 : class, array, ArrayList

6강: Object Oriented Programming II
class의 inheritance, polymorphism을 비롯한 OOP의 주요 개념을 습득한다.
- Inheritance / Overriding / Polymorphism
- 예제와 실습을 통해서 inheritance와 polymorphism을 습득한다.
- 이제부터는 각자 프로젝트를 클래스를 이용하여 설계할 수 있도록 한다.
- 프로그래밍 : HashMap

7강: Object Oriented Programming III
개체 지향 프로그래밍의 기본 개념인 inheritance와 polymorphism를 연습한다.
- 벡터와 물리학의 기본 개념인 선형 동역학계에 대해 배우고 파티클 시스템을 만들어본다.
- 수학 : 3차원 직교 좌표계, Vector
- 물리 : 선형 동역학계, 파티클 시스템
- 프로그래밍 : while / do-while loop 및 loop의 개념 복습

8강: Video & Sound
- 실시간 사운드 데이터 처리와 비디오 데이터 처리 방법을 배워본다.
- minim을 이용하여 사운드 데이터를 처리하는 법을 배워본다.
- 간단한 사운드 비주얼라이저를 만들어본다.
- 카메라를 이용하여 실시간 데이터를 입력받아서 처리하는 방법을 배워본다.
- 이미지를 픽셀 단위로 수정하는 방법을 배워본다.
- 프로그래밍 : interface

9강 : Communication between Different Environments
프로세싱과 다른 환경을 이어서 서로 데이터를 주고 받는 방법을 배워본다.
- Processing의 Network 라이브러리와 OSC(Open Sound Control)를 이용하여 프로세싱 프로그램 간에 데이터를 교환한다.
- OSC를 이용하여 MAX/MSP, SuperCollider, Quartz Composer, Flash Action Script 등 다른 개발환경과 데이터를 교환한다.
- Arduino 보드와 Serial Port를 이용하여 데이터를 주고 받는 방법을 배워본다.

10강: Work Presentation
프로세싱을 이용하여 각자 제작한 작품을 서로 공유하고 피드백의 시간을 가진다.

목록 | 커뮤니티 | 수강신청 | 프린트
>i< 문지문화원 사이   >m< 사이 미디어아트 랩
121-818 서울시 마포구 동교동 184-24 2층 | Tel.02.323.4207 | Fax.02.332.4217 | saii@saii.or.kr | 게시판 문의
Copyright 2007-2009 Saii all rights reserved