이 질문은 일반적인 질문이 아닌 것 같지만이 청중에게 의미있는 방식으로 명확하게 전달 된 자료를 보았는지 궁금합니다.
이 질문은 일반적인 질문이 아닌 것 같지만이 청중에게 의미있는 방식으로 명확하게 전달 된 자료를 보았는지 궁금합니다.
답변:
Computer Science Unplugged 는 초등학교의 어린이 (및 교사)를 대상으로합니다.
미적분 을 배우는 재미있는 방법 :
...이 게임은 형식화되지 않은 람다 미적분을 나타냅니다. 배고픈 악어는 람다 추상화이며, 오래된 악어는 괄호이며, 알은 변수입니다. 식이 규칙은 베타 감소에 해당합니다. 색상 규칙은 (과도하게 신중한) 알파 변환에 해당합니다. 나이 규칙에 따르면 한 쌍의 괄호에 단일 용어가 포함되어 있으면 괄호를 제거 할 수 있습니다 ....
몇 가지 아이디어. 컴퓨터 과학에 관심이있는 아이들을 위해 고품질이지만 저렴한 옵션이 폭발적으로 증가한 것 같습니다. 과학 기술 공학 수학 교육이라고 불리는 STEM과의 강력한 연계에 주목하십시오. (A가 알고리즘을 나타내는 새로운 키워드 STEAM으로 CS 측이 강조되거나 옹호 될 수 있다고 생각했습니다.)
부울 논리 개념을 사용하여 수학 연산을 나타냅니다. 이진수를 십진수로 변환, 십진수를 이진수로 변환, EE에서 캐리를 사용하는 다단계 가산기와 같은 것들. CNF 또는 DNF에서 임의의 기능을 구축합니다. 어린 아이조차도 AND, OR, NOT으로 기능 완성의 개념을 이해할 수 있습니다. 저렴한 마이크로 컨트롤러를 포함한 이와 같은 라디오 for 키트. 예를 들어 기본 스탬프 키트를 참조하십시오 . 이를 위해 일부 자유 / 오픈 소스 회로 시뮬레이터가 있습니다. 불행히도 나는 지금까지 구성 요소 라이브러리와 함께 배포 된 것을 찾을 수 없었습니다. logisim 은 하나의 인기있는 것입니다.
Crazy Machines 라는 PC / ps3 / etc를 포함한 다른 시스템에서 실행되는이 멋진 게임이 있습니다. 이것은 소프트웨어의 물리 시뮬레이션을 이해하고 아이가 상호 작용하는 구성 요소 및 연쇄 반응 시스템을 생각하게하는 데 사용할 수 있습니다. 새로운 ps3 버전에는 스위치와 게이트를 포함한 많은 전기 및 로직 구성 요소가 있습니다.
로봇 공학. 특히 로봇 공학 에 대한 레고 마인드 스톰을 시도하십시오 . 루프, 조건부, 서브 루틴과 같은 것을 허용하는 정교한 소프트웨어. 서브 루틴은 그래픽 블록에 포함되어 있습니다. 즉, 수년 전에는 최첨단 (현재는 장난감)이었던 시각적 프로그래밍 시스템입니다. 영감을 얻기 위해 YouTube의 최신 큐브 브레이커 II 와 같은 루빅스 큐브 로봇 솔버 비디오가 많이 있습니다. 다니엘레 베네 데 틀리 ( Daniele Benedettelli)의 레고 마인드 스톰 nxt 사고 로봇과 같은 하나 이상의 디자인은 널리 이용 가능한 책에 있습니다 . 또한 최근에 저는이 자유도 공압 로봇 핸드를 보았습니다 . 최초의 로봇 경쟁 리그 도 참조하십시오 .
간단한 것들에 대한 기본 코드 작성. 예를 들어 정렬. 다양한 정렬 알고리즘에 대한 실증적 연구를 수행하고 결과를보고 / 그래프합니다 (예 : 입력 크기를 늘리기위한 버블 정렬 vs qsort의 성능 그래프 표시-삽입 정렬에 대해서는이 위키피디아 페이지의 애니메이션 참조 ). 애니메이션 정렬. 깔끔한 그래픽 아날로그는 정수 또는 문자열 대신 카드 데크를 정렬하는 것입니다. 또한 코드로 그림을 그리는 것과 같은 많은 그래픽이나 기하학적 작업은 훌륭한 연습입니다.
게임 프로그래밍. 이것은 훌륭한 게임에서 할 수 있습니다. 예를 들어 Little Big Planet 에는 복잡한 내장 구성 시스템 및 구성 요소를 사용하여 어린이가 실제로 게임을 만들 수있는 정교한 하위 시스템이 있습니다. 이런 식으로 상호 작용 / 긴급 현상을 연구 할 수도 있습니다. 인터넷에 업로드하여 공유 할 수 있습니다. 이 목적을위한 다른 언어를 scratch 라고 합니다. 효능에 대한 많은 학문적 연구를 통해 Papert의 고전적인 것은 Logo입니다.
튜링 머신 시뮬레이터 및 빌딩 프로그램 사용. 몇 가지가 있습니다. 그들은 일부 프로그램과 함께 제공됩니다. 그래픽이 많을수록 좋습니다. 일부는 교수가 수업을 위해 작성했습니다. 여기에 하나는 자바 스크립트로 작성되었습니다 . 실제로이 분야에서 가장 좋은 것들을 알고 싶습니다.
가르치는 사람과 해당 범위의 영역에 따라 다릅니다.
12-14 세의 WANTS는 거의 모든 것을 처리 할 수 있어야하지만, 자신의 시간에 가져와야하므로 복잡한 개념을 젊은이 (또는 대부분의 사람)에게 밀어 붙일 수는 없습니다.
나는이 시점에서 (나이 그룹을 목표로하고 매우 영감을 줄 것 같음) iWoz를 듣고 있습니다. 그 나이까지 그는 꽤 진보 된 회로를 모으고 있었지만 그의 아버지는 질문에 대해서만 대답했지만 결코 그에게 손을 대지 않았습니다. 그가 준비하지 않은 새로운 개념)
또는 그는 완전히 무관심하고 당신이 그것에 대해 할 수있는 일이 없습니다.
아이들은 정말 간단한 것에 깊은 인상을받을 수 있습니다. 만약 당신이 어떤 게임을 발견했다면 그가 좋아하고 그를 재창조하도록 도와 주었을 때 (아주 매우 피상적이지만 여전히 그래픽 적으로 비슷한 수준 일지라도) 당신은 정말로 그를 이끌 수있을 것입니다.
또는 기존의 오픈 소스 게임을 찾은 경우 더 나은 방법으로 게임을 플레이 한 다음 약간 수정하는 방법을 보여 주면 흥분 할 수 있습니다. (수정은 항상 시작하는 가장 좋은 방법 인 것 같습니다)
실제로 2 학년과 3 학년 (목표 연령 그룹)이 1 명이지만 대부분 4 학년, 5 학년을 포함하는 여름 캠프를 가르쳤습니다. 캠프는 일주일 내내 진행되었으며, XNA에게 포토샵과 함께 if, else if 그리고 간단한 진술에 대한 기초를 보여주었습니다. XNA의 문제는 일주일이 끝날 때까지 프로그램을 약간 도와야한다는 것입니다. 우리가 진행 한 다른 캠프에는 레고 로봇 공학과 GameMaker가 포함되어 있습니다.
프로그래밍 원칙을 기반으로하는 SpaceChem이라는 비디오 게임이 있습니다. 자세한 내용은 여기를 참조 하십시오 : http://gangles.ca/2011/06/19/programming-in-spacechem/
계산 난도의 개념을 설명하기 위해 곱셈을 언급 한 사람이 아무도 없다는 것은 놀라운 일입니다. 우리는 곱셈에 대한 표준 교과서 빠른 알고리즘을 가지고 있기 때문에 곱셈이 쉬우 며, 알려진 빠른 알고리즘이없고 가장 잘 알려진 알고리즘이 철저한 검색보다 현저히 빠르지 않기 때문에 주요 요인을 찾는 역기능이 어렵습니다.
CS에서 이론에 대해 생각하고 문제 자체를 해결하는 젊은이들에게 좋은 문제의 원천은 "컴퓨터 과학 분리" http://csunplugged.org/ series입니다. 우리는 학교에 가서 아이들과 함께 활동을하거나 Uni를 방문하여 아이들과 함께합니다.
몇 년 동안 진행되어 왔으며 여러 언어로 번역되었습니다. 기사는 세션을 실행하는 방법, 필요한 자료 및 이전에이를 실행 한 사람들을 구성하는 팁에 대한 정보를 제공합니다.
추천!