170 likes | 285 Views
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 디자인 분야에서 프로토타이핑의 중요성이 증가함 .
E N D
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 • 디자인 분야에서 프로토타이핑의 중요성이 증가함. • 디지털 제품이 보편화되고 고도화됨에 따라 디자인단계에서 인터랙션을 검증할 필요성이 많아짐.
Background • Reflective Prototyping의 중요성 • 디자인 초기 단계에서 프로토타이핑을 통한 아이디어 전개가 빈번해짐. • 프로토타이핑은 디자인을 보여주는 도구에서 디자인을 하는 도구로 바뀌어감. • Reflective Prototyping의 필요성 • 디자이너 스스로 기술의 가능성,제약점을 스스로 파악하고 있음. • 엔지니어에 의한 프로토타이핑은 민첩성과 전달성이 떨어짐. • 반영적 사고를 통한 아이디어의 전개, 심화 과정에 도움을 줌. • 프로그래밍의 중요성
Background • 프로토타이핑을 하는데 어려움 • 피지컬 컴퓨팅의 기술이 상당한 지식의 습득을 요구함. • 피상적인 지식의 습득뿐 아닌 발전, 응용이 요구되는 프로그래밍이 가장 어려운 장벽 • ? • ? • ?
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?
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 관련 연구 • ……
여기까지가 서론 항상 remind 할 필요가 있음.
Pilot Study Process 기능 상세 설명서 작성 프로토타이핑 by CS 프로토타이핑 by ID ( 진행 예정 )
Pilot Study • 기능 상세 설명서 작성 • INPUT • 디자이너가 소방용 열화상 카메라의 기능 상세 설명서를 작성하도록 함. • (홍윤정, 26, 산업디자인 전공) • 제품의 사용 컨디션과 제품의 요구 조건을 설명해줌. • 유사 제품 (Argus4)의 브로슈어를 제공하여 기능을 분석하도록 함. • OUTPUT • 유사 제품에 나타난 기능을 중심으로 사용성을 향상 시키는 방향으로 제품을 디자인 함. • A4 세장 분량의 스케치(형태와 버튼 배치)와 각 버튼에 해당하는 기능 설명을 중심으로 기술함.
Pilot Study • 2. 프로토타이핑 by CS • INPUT • 1단계의 결과물을 가지고 CS 전공자로 하여금 소프트웨어 프로토타이핑을 하도록 함. (26, 전산학 전공, 석사 입학 예정) • 디자인 분야에서 프로토타입의 제작 목적과 용도를 설명해줌. • 1단계의 결과물을 바탕으로 기본적인 SKIN을 JPG 형태의 파일로 제공. • Adobe Flash CS 3를 기준으로 제작 하도록 함. • OUTPUT • FLASH 문법 적응의 문제로 시간이 많이 소요됨 • INPUT • 프로토타입 제작을 중단하고 인터뷰 형식으로 바꾸었음.
Pilot Study • 3. 프로토타이핑 by ID (진행 예정) • INPUT • 1단계의 결과물을 가지고 ID 전공자로 하여금 소프트웨어 프로토타이핑을 하도록 함. (대상 미정) • 디자인 분야에서 프로토타입의 제작 목적과 용도를 설명해줌. • 1단계의 결과물을 바탕으로 기본적인 SKIN을 JPG 형태의 파일로 제공. • Adobe Flash CS 3를 기준으로 제작 하도록 함. • OUTPUT • ?????
Pilot Study 분석 • 기능 상세 설명서 • 인터랙션 사이클의 설명 보다는 각 버튼의 기능 매핑 중심적으로 기술 하였음.. • 상당부분 기능을 유추해서 이해해야만 하도록 기술 하였음.Communication 상에서 오류가 발생하진 않았으나 기능 자체를 지나쳐 버린 경우가 발생했음. • …
Pilot Study 분석 • 프로토타이핑 by CS • 클래스 정의부터 시작함. • 자신이 만들어야 할 프로토타입의 기능을 모두 분석함 • 클래스의 계통 구조를 머릿속으로 데모 • 기능에서 요구하는 method와 property를 분석하여 자신의 클래스구조와 비교 • 코드 작성 • GUI를 만듦 • 이벤트를 클래스의 method와 연결시킴. • 특징?? • 클래스, 변수등의 이름 설정에 고민을 많이 함. • 너무 단순한 프로토타입에 OOP를 너무 강조한 코딩을 한 것으로 자평 • 시행착오가 여러 번 나타남.
Pilot Study 분석 • 인터뷰 with CS • 객체지향 versus 절차지향OOP의 장점은 : 오브젝트의 독립성, 코드의 재활용성, 유연성OOP의 단점은 : 민첩성CS에서도 일종의 프로토타입 코딩을 할때가 있고 절차지향 코딩을 사용함. OOP를 사용하지 않는 이유는 • 클래스의 definition자체에 수정을 가해야 하는 일이 잦아 재활용 가능성이 없거나 적기 때문이며, • 문제가 작아서 굳이 독립적인 코딩을 할 필요가 없고, • 구조화에 따르는 민첩성이 소요되기 때문 • 따라서 문제의 크기가 작고 클래스가 유동적인 프로토타이핑의 경우, 절차지향적 코딩이 적절한 대안으로 판단됨.
Pilot Study 분석 • 인터뷰 with CS • CS curriculum학교 내에서 프로그램 문법과 로직(?)을 가르치는 과목은 없음. • 3학년 과목 중에 Program Language라는 과목이 있는데 프로그래밍 언어의 역사와 언어간 비교 과목인듯함. • 언어 자체가 OOP, 이벤트 중심, 변수, 오브젝트 등 개념에 대한 총론 • 다소 연구에 관련이 있어 보여서 textbook을 수배중임. • 연구에 대해서 개인적인 의견으로 BASIC이나 C를 먼저 배우는 것이 바로 플래쉬 하는 것보다 나을 수 있다고 함.
Pilot Study 분석 • 토론 with CS ( New Methods ) • 인터랙션 싸이클 기술 방법 & TOP-DOWN 코딩 • 변수 바구니 훈련 • 변수가 저장 장소라는 개념을 전달 • 절차 훈련을 통해 • 배열, 제어문( 조건문, 반복문)의 이해 • Timer의 이해 • 무한 루프의 이해 • 문제의 수학화 • MOTIVATION의 부여