[[TableOfContents]] == 2011년 새싹교실 == [[pagelist(^새싹교실/2011/)]] == 새싹 교실 가이드라인 == 새싹 교실 가이드라인은 더 나은 새싹 교실을 만들기 위해 ZeroPage가 제시하는 방향입니다. 강제는 아니지만 선생님들께서는 그 의미를 생각해보시고 따라주시면 감사하겠습니다. === 진행 시간 === 너무 짧은 시간동안 진행한다면 가르쳐줄 수 있는 것이 적습니다. 그러니 * 한 주에 두시간 이상 진행해주세요. * 총 8회 이상 진행해주세요. === 테스트 === 내가 짠 코드를 직접 출력을 통해 확인하는 것은 분명 매력적인 일입니다. 그러나 처음 익힌 코딩 습관은 버리기 매우 어렵습니다. 많은 학생들이 처음 프로그래밍을 배우며 printf 함수를 사용하여 코드를 검증하는 습관을 들입니다. 그 때문에 상당수의 졸업할때까지 테스트보다는 직접 눈으로 확인하는 것을 선호합니다. 그런데 코드를 확인하기 위해 직접 눈으로 확인해야만 하는 것은 매우 많은 문제가 있습니다.(이것에 대해서 더 적자면 정말 길어질테니 일단 이 페이지엔 적지 않겠습니다.) * 학교 수업에서 사용하기 때문에 printf 함수를 소개할 필요는 있습니다. 그러나 새싹교실에서 실습한 코드들을 검증하기 위해 매번 printf를 사용하는 것은 권장하지 않습니다. * 출력을 통한 확인보다는 테스트를 통한 확인을 유도해주세요. * 테스트는 [http://winapi.co.kr/clec/reference/assert.gif assert]함수를 통해 간단히 만들 수 있습니다. * 혹시 assert를 사용할 줄 모르신다면, 그리고 테스트라는 게 무엇인지 잘 감이 안 오신다면 [김수경]에게 도움을 요청해주세요. === 피드백 === 피드백은 귀찮게 하기 위한 관리의 수단이 아니라 각 반이 매 시간마다 더 즐겁고 유익한 수업을 진행하고, 다음 해 새싹 교실에서도 이를 참고하기 위한 기록입니다. * ''좋았어요.''만 적힌 피드백을 보고 더 좋은 수업을 준비하기는 어렵겠죠? 의미있는 피드백을 남기기 위해 * 학생들에게 피드백이 가지는 의미를 설명해주세요. * 학생들에게 F4(ThreeFs + FutureActionPlan) 혹은 FiveFs에 대해 설명하고 이를 지키도록 해주세요. * 학생들이 피드백 작성을 어려워한다면 선생님이 구체적인 질문을 던지는 것도 좋습니다. === 위키 === 위키는 새내기들에게 낯선 환경이지만 사용하기 전혀 어렵지 않고, 내용이 쌓이면 게시판에 비해 내용들을 찾아보기 훨씬 좋답니다. * 위키를 사용하기 어려운 것은 익숙하지 않기 때문이예요. 함께 써보는 시간을 마련해주세요. * 새내기들이 위키 문법을 처음부터 익히기는 어렵습니다. 선생님이 먼저 위키에 내용을 작성하여 학생들이 참고할 수 있도록 해주세요. * 위키를 더 유용하게 사용하기 위해 지켜야할 것들이 있습니다. 각 반 페이지를 만드실때 페이지 이름은 '''새싹교실/2011/반이름''' 으로 만들어주세요. * / 아래에 쓰면 하위 페이지라는 의미가 있습니다. 즉, ''새싹교실/2011''은 ''새싹교실''페이지의 하위 페이지이고 ''새싹교실/2011/새싹반''은 ''새싹교실/2011''페이지의 하위 페이지가 됩니다. * 각 반 이름 아래에 날짜별로 하위페이지를 만드셔도 좋고 반 페이지에 제목으로 날짜를 분류하여 작성하셔도 좋습니다. * 위키 페이지를 어떻게 써야할지 모르겠다면 위키의 다른 스터디 페이지를 참고하시거나 [김수경]에게 물어보세요. * 위키 문법 연습은 SandBox에 해주세요. === 회고 === 회고를 통해 매번 그날 했던 것을 돌아봄으로써 배운 것을 더 잘 기억할 수 있고 학생들이 피드백을 작성하기도 더 수월해집니다. * 매 수업이 끝나면 3~5분정도 간단히 그 날 수업을 돌아보는 시간을 가져주세요. * 거창한 회고를 하실 필요는 없습니다. * 간단히 돌아가면서 선생님과 학생들이 그날의 소감을 말하는 정도만 되어도 괜찮습니다. * 하지만 더 좋은 회고를 진행하고 싶으시다면 책장에 있는 애자일회고 책을 읽어보시거나 [김수경], [서지혜]에게 도움을 요청해주세요. == 새싹 교실 지원 방침 == 새싹 교실 지원 방침의 기본은 '''새싹 교실을 열심히 진행하고, ZeroPage의 발전에 기여한다면 그에 대해 지원'''하는 것입니다. * 위키 가꾸기 : 가장 쉬운 기여 방법 * 피드백 * 가이드라인의 피드백 항목을 참조하여 작성해주시면 됩니다. * 올해 새싹 교실 지원은 기본적으로 피드백 개수를 세어 지원합니다. * 공부한 내용 정리하기 * 각 반 페이지에 매번 공부한 내용을 정리해주세요. 일정 기간 별로 가장 잘 정리한 반을 뽑아 지원합니다. * 다른 방법도 환영합니다. * 예를 들어 새싹 교실을 통해 배운 것들을 ZeroPage 정모에서 공유하셔도 좋습니다. * 혹은 새싹 교실에서 진행한 프로젝트의 소스를 공개하는 것도 좋습니다. * 새싹 교실을 진행하면서 영상으로 찍어 공유하는 것도 좋습니다. * 이 외에도 여러분이 생각하실 수 있는 새롭고 재밌는 방법으로 새싹 교실의 내용을 공유해주세요. == 참고용 커리큘럼 == * 손봉수 교수님 수업의 커리큘럼을 기반으로 작성되었습니다. * 커리큘럼 가이드라인은 참고 및 예시용으로 사용하며, 평가와는 무관합니다. * 모든 선생님이 따를 필요는 없습니다. 막막하신 선생님들은 참고해주세요:) ||주차||내용|| ||1||홍보 및 반 편성|| ||<|2>2||강사 및 학생 사전 미팅(시간 최종 조정)|| ||반 편성|| ||3||computer science의 기초적인 내용: 각 파트의 역할, program의 실행원리, software(layer 활용), complier와 interpreter 역할 프로그래밍 단계(code 작성->compile->link->generating .exe file) C언어의 기초적인 내용: 장점과 단점에 대해서 설명(이론적인 내용) header file, source file, resource file 개념 설명 stdio.h: printf, scanf function Hello world 작성 constant/variable->variable: 논리회로와 연관시키면 은근히 편함 redirection|| ||4||operator: arithmetic operator bitwise operator logical operator, relational operator type casting shorthand operator, operator precedence increment/decrement, postfix/prefix control structure: if-else switch while, do-while, for: 서로 바꿔서 써보도록(피드백 필수) nested roop infinite loop, break/continue dangle else problem 과제: 별찍기|| ||5||function variable: global, local, static, stack overflow도 설명 void type call by value mechanism|| ||6||실습(새내기는 개고생, 강사는 답답해서 미침): 달력을 하던 sorting을 하던 알아서 할 것 가이드라인 추후제공|| ||7||중간고사 대비|| ||8||중간고사|| ||9||array: declaration initialization multi-dimension array|| ||10||pointer: 개념 operator address pointer arithmetic array와 pointer의 관계|| ||11||dynamic allocation: string: string.h string I/O|| ||12||structure typedef enum file I/O macro, pre-processor|| ||13||<|2>실습(강사재량) 가이드라인 추후제공|| ||14|| ||15||기말고사 대비| |- ||16||기말고사|| * 더 좋은 커리큘럼을 만들기 위한 의견도 환영합니다. 커리큘럼을 개선할 아이디어가 있으시면 아래에 적어주세요. ---- [새싹교실]