17
How can we help artists & designers learn programming? 2009. 7. 7. Ju-Whan Kim & TJ

How can we help artists & designers learn programming? 2009 . 7. 7. Ju-Whan Kim & TJ

  • Upload
    salaam

  • View
    23

  • Download
    0

Embed Size (px)

DESCRIPTION

How can we help artists & designers learn programming? 2009 . 7. 7. Ju-Whan Kim & TJ. Agenda (Topics, Contents) & Overview Preliminary Study 에 대한 기획 및 초기 실행 (!) New Method 에 대한 생각 (!!) 문헌 자료 수집 Updated 된 내용 구분해서 정리. Background 디자인 분야에서 프로토타이핑의 중요성이 증가함 . - PowerPoint PPT Presentation

Citation preview

Page 1: How can we help artists & designers learn programming? 2009 . 7. 7. Ju-Whan Kim & TJ

How can we help artists & designers learn programming?

2009. 7. 7.

Ju-Whan Kim & TJ

Page 2: How can we help artists & designers learn programming? 2009 . 7. 7. Ju-Whan Kim & TJ

Agenda (Topics, Contents) & Overview

• Preliminary Study 에 대한 기획 및 초기 실행 (!)

• New Method 에 대한 생각 (!!)

• 문헌 자료 수집

• Updated 된 내용 구분해서 정리

Page 3: How can we help artists & designers learn programming? 2009 . 7. 7. Ju-Whan Kim & TJ

Background

디자인 분야에서 프로토타이핑의 중요성이 증가함 .

• 디지털 제품이 보편화되고 고도화됨에 따라 디자인단계에서 인터랙션을 검증할 필요성이 많아짐 .

Page 4: How can we help artists & designers learn programming? 2009 . 7. 7. Ju-Whan Kim & TJ

Background

•Reflective Prototyping 의 중요성

• 디자인 초기 단계에서 프로토타이핑을 통한 아이디어 전개가 빈번해짐 .•프로토타이핑은 디자인을 보여주는 도구에서 디자인을 하는 도구로 바뀌어감 .

Reflective Prototyping 의 필요성

• 디자이너 스스로 기술의 가능성 , 제약점을 스스로 파악하고 있음 .

• 엔지니어에 의한 프로토타이핑은 민첩성과 전달성이 떨어짐 .

• 반영적 사고를 통한 아이디어의 전개 , 심화 과정에 도움을 줌 .

•프로그래밍의 중요성

Page 5: How can we help artists & designers learn programming? 2009 . 7. 7. Ju-Whan Kim & TJ

Background

프로토타이핑을 하는데 어려움

• 피지컬 컴퓨팅의 기술이 상당한 지식의 습득을 요구함 .

• 피상적인 지식의 습득뿐 아닌 발전 , 응용이 요구되는 프로그래밍이 가장 어려운 장벽

• ?

• ?

• ?

Page 6: How can we help artists & designers learn programming? 2009 . 7. 7. Ju-Whan Kim & TJ

Research Question or Goal and Sub-goals 

Question:How can we help designers learn programming?

또는How can we help designers reflective prototyping?

Sub Questions: Understanding reflective prototyping

What is the difference between the way that designers learn and that other engineers learn.

What are obstacles?

Why different from traditional CS?

Page 7: How can we help artists & designers learn programming? 2009 . 7. 7. Ju-Whan Kim & TJ

How to answer the questions efficiently?연구 방법의 논의

• What is reflective Prototyping? 용어를 정의함 . Literature Review 를 통한 새로운 용어의 의미 부여가 필요함 .

• 디자인 프로토타이핑의 방법과 타분야 (CS) 에서 만드는 방법의 차이점은 무엇인가 ? Pilot Study CS 분야의 커리큘럼 분석

• 어떤 점들이 가장 어려울까 ? Pilot Study, Heuristics 을 통해 알아 볼 것임 .

•어떤 방법을 쓸 수 있을까 ? 어려움을 먼저 파악한 후 그에 맞는 처방을 생각해야 함 .

•어떤 방법으로 검증할 것인가 ? Workshop 을 통해 1 차 테스트 후 수정 보완 후 2 차 테스트 .

•관련 연구로 찾아 볼 만한 것들은 ? Programming 에서 요구되는 approach, mind set, cognitive scientific analysis ?? End-User Programming 관련 연구 ……

Page 8: How can we help artists & designers learn programming? 2009 . 7. 7. Ju-Whan Kim & TJ

여기까지가 서론항상 remind 할 필요가 있음 .

Page 9: How can we help artists & designers learn programming? 2009 . 7. 7. Ju-Whan Kim & TJ

Pilot Study

Process

1. 기능 상세 설명서 작성

2. 프로토타이핑 by CS

3. 프로토타이핑 by ID ( 진행 예정 )

Page 10: How can we help artists & designers learn programming? 2009 . 7. 7. Ju-Whan Kim & TJ

Pilot Study

1. 기능 상세 설명서 작성

INPUT• 디자이너가 소방용 열화상 카메라의 기능 상세 설명서를 작성하도록 함 .• ( 홍윤정 , 26, 산업디자인 전공 )

• 제품의 사용 컨디션과 제품의 요구 조건을 설명해줌 .

• 유사 제품 (Argus4) 의 브로슈어를 제공하여 기능을 분석하도록 함 .

OUTPUT• 유사 제품에 나타난 기능을 중심으로 사용성을 향상 시키는 방향으로 제품을 디자인 함 .

• A4 세장 분량의 스케치 ( 형태와 버튼 배치 ) 와 각 버튼에 해당하는 기능 설명을 중심으로 기술함 .

Page 11: How can we help artists & designers learn programming? 2009 . 7. 7. Ju-Whan Kim & TJ

Pilot Study

2. 프로토타이핑 by CS

INPUT• 1 단계의 결과물을 가지고 CS 전공자로 하여금 소프트웨어 프로토타이핑을 하도록 함 .

(26, 전산학 전공 , 석사 입학 예정 )• 디자인 분야에서 프로토타입의 제작 목적과 용도를 설명해줌 . • 1 단계의 결과물을 바탕으로 기본적인 SKIN 을 JPG 형태의 파일로 제공 .• Adobe Flash CS 3 를 기준으로 제작 하도록 함 .

OUTPUT• FLASH 문법 적응의 문제로 시간이 많이 소요됨

INPUT• 프로토타입 제작을 중단하고 인터뷰 형식으로 바꾸었음 .

Page 12: How can we help artists & designers learn programming? 2009 . 7. 7. Ju-Whan Kim & TJ

Pilot Study

3. 프로토타이핑 by ID ( 진행 예정 )

INPUT• 1 단계의 결과물을 가지고 ID 전공자로 하여금 소프트웨어 프로토타이핑을 하도록 함 .

( 대상 미정 )• 디자인 분야에서 프로토타입의 제작 목적과 용도를 설명해줌 . • 1 단계의 결과물을 바탕으로 기본적인 SKIN 을 JPG 형태의 파일로 제공 .• Adobe Flash CS 3 를 기준으로 제작 하도록 함 .

OUTPUT• ?????

Page 13: How can we help artists & designers learn programming? 2009 . 7. 7. Ju-Whan Kim & TJ

Pilot Study 분석기능 상세 설명서

• 인터랙션 사이클의 설명 보다는 각 버튼의 기능 매핑 중심적으로 기술 하였음 ..

• 상당부분 기능을 유추해서 이해해야만 하도록 기술 하였음 .Communication 상에서 오류가 발생하진 않았으나 기능 자체를 지나쳐 버린 경우가 발생했음 .

• …

Page 14: How can we help artists & designers learn programming? 2009 . 7. 7. Ju-Whan Kim & TJ

Pilot Study 분석프로토타이핑 by CS

• 클래스 정의부터 시작함 .

• 자신이 만들어야 할 프로토타입의 기능을 모두 분석함• 클래스의 계통 구조를 머릿속으로 데모• 기능에서 요구하는 method 와 property 를 분석하여 자신의 클래스 구조와 비교 • 코드 작성

• GUI 를 만듦

• 이벤트를 클래스의 method 와 연결시킴 .

특징 ??

• 클래스 , 변수 등의 이름 설정에 고민을 많이 함 .• 너무 단순한 프로토타입에 OOP 를 너무 강조한 코딩을 한 것으로 자평• 시행착오가 여러 번 나타남 .

Page 15: How can we help artists & designers learn programming? 2009 . 7. 7. Ju-Whan Kim & TJ

Pilot Study 분석

인터뷰 with CS

• 객체지향 versus 절차지향

OOP 의 장점은 : 오브젝트의 독립성 , 코드의 재활용성 , 유연성OOP 의 단점은 : 민첩성

CS 에서도 일종의 프로토타입 코딩을 할때가 있고 절차지향 코딩을 사용함 . OOP 를 사용하지 않는 이유는

• 클래스의 definition 자체에 수정을 가해야 하는 일이 잦아 재활용 가능성이 없거나 적기 때문이며 ,

• 문제가 작아서 굳이 독립적인 코딩을 할 필요가 없고 ,• 구조화에 따르는 민첩성이 소요되기 때문

• 따라서 문제의 크기가 작고 클래스가 유동적인 프로토타이핑의 경우 , 절차지향적 코딩이 적절한 대안으로 판단됨 .

Page 16: How can we help artists & designers learn programming? 2009 . 7. 7. Ju-Whan Kim & TJ

Pilot Study 분석

인터뷰 with CS

• CS curriculum

학교 내에서 프로그램 문법과 로직 (?) 을 가르치는 과목은 없음 .

• 3 학년 과목 중에 Program Language 라는 과목이 있는데 프로그래밍 언어의 역사와 언어간 비교 과목인듯함 .

• 언어 자체가 OOP, 이벤트 중심 , 변수 , 오브젝트 등 개념에 대한 총론• 다소 연구에 관련이 있어 보여서 textbook 을 수배중임 .

• 연구에 대해서 개인적인 의견으로 BASIC 이나 C 를 먼저 배우는 것이 바로 플래쉬 하는 것보다 나을 수 있다고 함 .

Page 17: How can we help artists & designers learn programming? 2009 . 7. 7. Ju-Whan Kim & TJ

Pilot Study 분석

토론 with CS ( New Methods )

• 인터랙션 싸이클 기술 방법 & TOP-DOWN 코딩

• 변수 바구니 훈련• 변수가 저장 장소라는 개념을 전달• 절차 훈련을 통해

• 배열 , 제어문 ( 조건문 , 반복문 ) 의 이해

• Timer 의 이해

• 무한 루프의 이해

• 문제의 수학화

• MOTIVATION 의 부여