과제
모든 과제의 기본 제출일은 다음 주 월요일 자정까지입니다.
01 : 수업을 위한 준비
- 구글 이메일 계정 만들기
- Kadenze 가입하고 Nature of Code 수업 등록하기
02 : 유튜브로 공부하는 연습
- Code! Programming with p5.js 플레이리스트로 시작합시다.
- 1.1 ~ 1.6 까지 영상을 보고, 스스로 간단히 회고하고 정리해봅시다. (영상 길이 : 약 76분)
- 회고/정리의 내용은 다음 수업의 자료가 됩니다.
- 짝과 함께 미리 영상을 청취할 일정을 잡고 스스로 지켜봅시다.
- 제출방법 : 수업 구글드라이브에 과제 폴더가 있습니다. 회고/정리한 결과물을 구글독스로 올려주세요. 각자의 이름을 파일명으로 합니다.
- 이번엔 구글독스로 안올려도 됩니다.
- 짝이랑 약속한대로 일정에 서로 연락주기!!
- 평가방법 : 이 과제는 평가하지 않습니다.
03 : Kadenze 세션1 공부
- Kadenze : Nature of Code의 세션1을 공부합니다.
- (마지막을 제외한) 총 9개의 영상에 대해서 공부하고, 회고합니다.
- 다음의 개념들을 이해해보려고 노력하세요.
- Object란?
- Vector의 개념과 용도
- 속도와 가속도
- Random vs. Noise
- 회고의 방식은 자유지만 아래의 내용들을 고려해서 작성해보세요.
- 무엇을 했는지 / 어떤걸 시도했는지 (사실)
- 어떤 느낌인지 / 어려운 점은? (감정)
- 새롭게 배운 것은 무엇인지
- 지금보다 내가 더 공부 방법에 있어서 개선할 점은? 필요한 도움은?
- 짝과 서로 일정체크 약속을 정하고 확인해주세요.
- 제출방법:
- 과제제출 폴더에 각자의 이름으로 구글문서를 만듭니다.
- 각 영상별로 구분이 되도록 회고를 작성합니다.
- 평가방법:
- 최소 9개의 회고가 있으면 만점
- 내용으로 평가하지 않습니다.
04 : Kadenze 세션1 재학습
- 세션 1의 9개 영상 내용에 대해서 다음의 이해도 구분해서 문장으로 적어봅니다. (각 3개 이상)
- 이해하는 내용 : 자신이 이해한 것을 친구에게 설명해줄 수 있다. (예: 나는 p5.js에서 object를 만드는 법을 알려줄 수 있다.)
- 아리까리한 내용 (회색 지역) : 내가 아는게 맞는건지 긴가 민가 하다. (예: 위치와 속도의 관계에서 벡터는 알겠는데, 마우스를 따라가는건 어떤 원리인지 아리까리하다.)
- 전혀 모르는 내용 : 깜깜하다. (예: 난 noise를 도저히 사용할 수가 없다.)
- ‘회색 지역’ 에 대해서 다음의 시도를 합니다.
- 해당 구간의 영상을 반복해서 청취하고 회고합니다.
- Nature of Code 책에서 설명하는 부분이 있는지 찾아보고 읽고, 회고합니다. (영어가 힘들면 꼭 구글번역기를 사용해보세요)
- ‘이해하는 내용’ 안에서 간단한 연습 예제를 1개 이상 만들어보세요.
- 코드는 p5.js editor에 자신의 계정에 올리고, 링크를 답니다.
- 연습 내용에 대한 간단한 회고를 달아주세요. (무엇을 시도한건지, 어떤 느낌인지, 새롭게 배운게 있는지 등등)
- ‘전혀 모르는 내용’ 은 아는 친구나 코치에게 꼭 질문하고 도움을 요청해 봅시다!!
- 제출방법:
- 과제제출 폴더에 각자의 이름으로 구글문서를 만듭니다.
- 평가방법:
- ‘회색 지역’에 대한 시도가 3개 이상이 되어야합니다. (수업을 듣고 나면 분명 그 이상 생길거에요)
- ‘이해하는 내용’에 대한 연습예제가 1개 이상이어야 합니다.
- 내용으로 평가하지 않습니다.
05 : Kadenze 세션2 공부
- Kadenze : Nature of Code의 세션2를 공부합니다.
- (마지막을 제외한) 총 7개의 영상에 대해서 공부하고, 회고합니다.
- 이번 영상은 ‘물리학’에 대한 장벽이 존재합니다. 무리해서 이해할 필요는 없어요. ^^
- 회고의 방식은 자유지만 아래의 내용들을 고려해서 작성해보세요.
- 무엇을 했는지 / 어떤걸 시도했는지 (사실)
- 어떤 느낌인지 / 어려운 점은? (감정)
- 새롭게 배운 것은 무엇인지
- 지금보다 내가 더 공부 방법에 있어서 개선할 점은? 필요한 도움은?
- 특히, ‘이해한 내용 / 아리까리 내용(회색지역)’을 잘 구분하도록 노력해보세요.
- 짝과 서로 일정체크 약속을 정하고 확인해주세요.
- 제출방법:
- 과제제출 폴더에 각자의 이름으로 구글문서를 만듭니다.
- 각 영상별로 구분이 되도록 회고를 작성합니다.
- 평가방법:
- 최소 7개의 회고가 있으면 만점
- 각 회고마다 ‘회색지역’에 대한 명시가 있어야합니다.
- 내용으로 평가하지 않습니다.
06 : 복습 / 다른 표현 3개
- Kadenze 세션 1, 2를 복습 합니다.
- 복습의 방법에는 어떤게 가능할까요?
- 그동안 과제한 것을 훑어봅니다.
- 특히, 오늘까지 수업을 하면서 파악되는 ‘회색 영역’에 대해 먼저 나열해보세요.
- 그 중에서 본인에게 가장 중요하다고 생각되는 것 5개 를 골라 어떻게 이해할지 방법을 적어봅니다.
- 그 중에 하나는 수업 GitHub 이슈에 올려서 코치의 도움을 받습니다.
- 각자의 학습 방법을 수행하고, 회고하세요.
- 수업 시간에 다룬 개념을 이용해서 주제 혹은 느낌이 다른 창작물을 3개 만듭니다.
- 각 창작물은 최종버전을 p5 에디터 본인 계정에 저장하고, 링크를 답니다.
- 각 창작물의 제목과 컨셉설명을 달아주세요.
- 각 창작물을 만들어가는 과정에 대한 스크린샷이나 회고를 남깁니다.
- 동일한 개념을 사용하더라도, 주제/느낌을 최대한 다른 관점으로 표현 하도록 노력하세요.
- 만약 다른 친구나 외부의 작업물에서 영향을 받은게 있다면 출처를 정확히 적어주세요.
- 제출방법:
- 과제제출 폴더에 각자의 이름으로 구글문서를 만듭니다.
- 위 과제 내용이 구분이 되도록 정리합니다.
- 평가방법
- 복습의 경우 위 내용이 제대로 반영이 되었는지 평가합니다.
- 표현물 3개의 경우 위의 의도를 충분히 반영했는지에 따라 A/B/C로 등급을 나눠 평가 합니다.
- 단순히 코드의 양이나 복잡도로 평가하지 않습니다. 수업 안에서 배운 간단한 개념을 얼마나 다른 관점으로 풀어내는지가 중요합니다.
07 : 코드읽기 연습
- ParticleSystem 코드 읽기
- 위 예제 코드에는 지금까지 배운 내용과 배우지 않은 내용이 섞여있습니다.
- 코드가 실행되는 흐름을 따라 읽어보고, 동작하는 방식을 생각해봅시다.
- 코드가 동작하는 방식을 설명해보고, 회고합니다.
- 단순히 읽기만 하는게 아니라, 코드를 변경하면서 구조를 이해해보세요.
- 잘 모르는 부분은 어디를 참고해야하는지 찾아보고, 정리하고, 역시 회고합니다.
- 전혀 감이 오지 않는 부분은 GitHub에 질문을 올려주세요!!
- 혹시 다른 친구들이 올린 질문에 대해 본인의 의견이 있으면 댓글을 달아주세요!!!!
- 코드 내용에 대한 몇 가지 팁
- Nature of Code 책 4장에 내용적인 설명이 있습니다. 하지만 코드는 Processing 기준이라 조금 혼동이 될 수는 있어요.
- Particle 클래스와 Confetti 클래스의 관계를 잘 살펴보세요.
- push(), pop(), rotate() 함수는 p5js 레퍼런스 꼭 체크하세요!
- 처음보는 for 반복문이 있네요.
- 처음보는 => 기호? 연산자? 가 보입니다. 관련해서 배열의 filter라는 메소드도 보이네요.
- 제출방법:
- 과제제출 폴더에 각자의 이름으로 구글문서를 만듭니다.
- 위 과제 내용이 들어가도록 각자의 방식으로 기록합니다.
- 평가방법
- 위에서 설명한 내용이 제대로 반영이 되었는지 평가합니다.
- 코드에 대한 설명이나 찾아본 내용의 옳고 그름으로 평가하지는 않지만, 최대한 코드를 분석해보고 이해하려고 노력하세요.
08 : ParticleSystem 확장
- 수업에서 진행한 ParticleSystem 확장을 이어서 진행합니다.
- 스케치를 3개 이상 해보고, 그 중에 하나를 선택해서 더 완성도를 높여봅니다.
- 여기서 스케치란, 아이디어에 대해 종이 드로잉 / 코드 실험 등을 모두 포함합니다.
- 스케치 과정에서 시도한 부분과 공부한 부분을 회고해주세요.
- 최종 결과물을 만드는 과정에서는 다음을 지켜주세요.
- 지금까지 배운 범위에서 고민해봅니다.
- 자신의 아이디어를 구현하기 위해서 추가로 필요한 기능은 p5 사이트를 찾아보고 공부합니다.
- 완성이 되지 않더라도 중간 과정과 작업의 의도가 회고에 남도록 해주세요.
- 도움이 필요할 때에는 미리미리 GitHub에 질문을 올립니다.
- 제출방법:
- 과제제출 폴더에 각자의 이름으로 구글문서를 만듭니다.
- 위 과제 내용이 들어가도록 각자의 방식으로 기록합니다.
- 평가방법
- 스케치 3개와 그에 대한 회고는 과제평가로 들어갑니다.
- 최종 결과물의 확장의 과정과 표현을 A/B/C로 등급을 나눠 평가 합니다.
- 단순히 코드와 회고의 양으로 평가하지 않습니다.
09 : 창작을 위한 준비
- 개인 Github 페이지로 최소 3개의 작업을 정리해서 올립니다.
- 시적 코드에 대해 고민해보고, 작업을 위한 스케치를 해보세요.
- Github 사용에 익숙해지도록 연습하세요.
- 외부 에디터 기반으로 p5.js 작업을 연습하세요.
- 이 과제는 평가하지 않습니다. 기말 작업을 위한 틀이라고 생각해주세요.
10 : Kadenze 세션3 공부
- Kadenze : Nature of Code의 세션3을 공부합니다.
- 총 5개의 영상에 대해서 공부하고, 회고합니다.
- 이번 영상은 조금 어렵게 느껴질 수 있는, 하지만 매우 유용한 ‘개념’이 담겨있습니다.
- 개념과 관련해서 어려운 용어들은 꼭 Nature of Code 책 6장 Autonomous Agents 부분을 참고하세요!
- 이 ‘개념’을 이용해서 만들고 싶은 표현이나 응용 프로젝트를 스케치해봅니다.
- 회고의 방식은 자유지만 아래의 내용들을 고려해서 작성해보세요.
- 무엇을 했는지 / 어떤걸 시도했는지 (사실)
- 어떤 느낌인지 / 어려운 점은? (감정)
- 새롭게 배운 것은 무엇인지
- 지금보다 내가 더 공부 방법에 있어서 개선할 점은? 필요한 도움은?
- 특히, ‘이해한 내용 / 아리까리 내용(회색지역)’을 잘 구분하도록 노력해보세요.
- 짝과 서로 일정체크 약속을 정하고 확인해주세요.
- 제출방법:
- 과제제출 폴더에 각자의 이름으로 구글문서를 만듭니다.
- 각 영상별로 구분이 되도록 회고를 작성합니다.
- 평가방법:
- 최소 5개의 회고가 있으면 만점
- 응용/표현 스케치 1개 이상 (직접 구현을 시도해봐도 좋습니다)
- 각 회고마다 ‘회색지역’에 대한 명시가 있어야합니다.
- 내용으로 평가하지 않습니다.
기말작업
- 기말작업 저널링
- 본인의 이름으로 구글독스를 만들고, 앞으로 하는 작업에 대한 저널링을 남겨주세요.
- 기말작업 Github Pages 리스트
- 아직 링크가 안 만들어진 사람은 꼭 주변의 도움을 받아 Github Pages를 만듭니다.
- 기말 창작을 위한 씨앗
- RandomWalk 03
- Particle + Gravity + Wind
- ParticleSystem (Fireworks)
- Attraction Many
- Box2D
- Autonomous Agents
평가방법
- Github 갤러리 (20%)
- Github Pages의 내용이 잘 전달되는가?
- commit이 생각의 과정대로 촘촘히 이뤄졌는가?
- 3개의 작업 (60%)
- 과정을 담은 손/코드 스케치가 있는가?
- 제목/개념/내용설명이 있는가?
- 작업에 대한 저널링/회고가 있는가? (구글독스)
- 저널링은 양으로 평가하지 않습니다. 저널링의 의도를 이해하고, 자기 자신을 위해 작성해주세요.
- 씨앗 틔우기 (20%)
- 수업에서 다룬 씨앗이 어떻게 사용되었는가? (A/B/C)
- 수업 예제에서 크게 벗어나지 않았으면 C / 자신만의 어휘를 만들고 표현했다면 A