오바마 대통령의 모두를 위한 컴퓨팅(#CSforall) 이니셔티브와 STEM(과학, 기술, 엔지니어링, 수학)에 대한 관심이 높아지면서 우리는 어린이를 위한 컴퓨터를 구축해야 하는 시점에 와 있습니다. 이제 교육 분야의 표준과 모범 사례가 필요합니다. . 업계에서는 시각적 프로그래밍이 아이들에게 컴퓨터 과학과 컴퓨팅 사고력을 가르치는 가장 좋은 방법이라는 데 동의합니다. 이를 통해 아이들은 어려운 프로그래밍 구문을 없애고 아주 어린 나이에 소프트웨어 프로그래밍의 본질을 유연하게 익힐 수 있습니다.
향상된 로고 언어
지난 50년 동안 디자이너들은 Seymour Papert가 만든 로고 프로그래밍 언어(LCTT 주석: 일부 학생들은 "작은 거북이"를 봤어야 함)와 약간 다른 인터페이스를 갖춘 수많은 프로그래밍 언어를 계속해서 개선해 왔습니다. 동일한 핵심 아이디어가 나타났습니다. 현재 교육 표준은 MIT 스크래치 프로그래밍 언어의 인기 덕분에 모듈(블록) 프로그래밍을 기반으로 합니다. CSTA의 K-12 컴퓨터 과학 교육 표준에서는 K-5학년을 위한 "모듈 기반 시각적 프로그래밍 언어를 사용하여 솔루션을 구축하고 테스트"할 수 있는 프로그래밍 능력을 요구합니다 .
점점 젊어지고 있어
컴퓨터 과학 교육의 또 다른 추세는 청중이 점점 더 젊어지고 있다는 것입니다. 연구에 따르면 5세 정도의 어린 아이들도 컴퓨터 프로그래밍의 개념을 이해할 수 있으므로 이는 피할 수 없는 추세입니다. 아직 읽는 법을 모르는 아이들에게 프로그래밍을 가르치려면 단어 사용을 피해야 합니다. Scratch Jr 및 Code.org와 같은 최근 1단계 과정은 모듈 기반 프로그래밍 언어에서 텍스트 대신 아이콘을 사용합니다.
로봇 프로그래밍
코드가 살아 움직이는 것을 보는 것은 마법 같은 일입니다. 금세기 초에 LEGO와 MIT는 모듈 기반 프로그래밍을 현실 세계에 구현하는 프로젝트에 협력했습니다. 학생들은 자신의 컴퓨터에서 프로그램을 작성한 다음 자신이 만든 로봇에 다운로드할 수 있습니다. 초기 RIS(로봇공학 발명 시스템)는 스크래치와 매우 흡사했습니다.
2013년 버전의 레고 마인드스톰은 이전 버전과 대부분 동일한 기능을 수행하지만 더 복잡해졌습니다. 이제 거리, 시간, 출력 등을 지정하기 위해 모듈에 입력 매개변수를 추가할 수 있습니다.
Martin Exner는 Logo와 최근에는 Scratch에서 파생된 프로그래밍 언어를 요약한 간결한 인포그래픽을 만들었습니다 . 로고 언어의 많은 파생물은 게임 제작, 3D 스토리라인 환경 제작, 그림 그리기, 로봇 프로그래밍, 가상 어항 제어 등 특정 시나리오를 중심으로 이루어집니다. 이 접근 방식은 다양한 어린이의 관심을 끌지만, 많은 어린이는 여전히 프로그램 작성 방법을 배우는 데 어려움을 겪습니다.
로고를 기반으로 한 프로그래밍 아이디어
실제 생활에서 컴퓨터 프로그래밍은 일반적으로 다양한 유형의 입력을 고려하고 동시에 다양한 논리적 판단을 동적으로 처리해야 합니다. 일어난 후 해야 할 일에 대한 간단한 예를 들어 보겠습니다. 토요일과 일요일이면 밖에 나가서 월요일이면 운동복을 입어야 하고, 목요일이면 운동복을 입어야 합니다. 주말에는 학교에 가야 하는 날에는 쓰레기를 버리지 마세요. 스크래치를 사용하여 구현한 로직은 아래와 같습니다.
이러한 모듈 기반 프로그래밍 언어 외에도 어린이 프로그래밍을 가르치는 데 다른 접근 방식을 취하는 새로운 언어가 있습니다. 2015년에 Wonder Workshop은 스트림 기반 프로그래밍 인터페이스를 사용하여 Wonder라는 새로운 프로그래밍 언어를 설계했습니다 . Wonder를 사용하면 학생들은 상태 기계를 구축하기 위해 미리 정의된 일부 기능 단위(또는 명령문)의 연결에 집중할 수 있습니다. 언제든지 로봇은 특정 작업을 수행하고, 입력이 주어지면 다른 작업을 수행하도록 변경됩니다.
아래 그림은 흐름 기반 접근 방식을 사용하여 일어난 후 작업을 결정하는 방법을 보여줍니다.
선형 프로그래밍 패러다임에서 벗어나는 것 외에도 이 프로그래밍 언어는 학생들이 이해하기 쉬운 방식으로 실제 변화에 대한 응답을 시뮬레이션할 수 있는 컴퓨팅에 대한 다른 접근 방식을 제공합니다. 학생들은 문제를 보다 쉽게 작은 부분으로 나누고 이러한 부분을 사용하여 복잡한 문제를 해결할 수 있습니다. 학생들은 문제를 해결할 때 한 번에 하나의 문제에만 집중하면 됩니다. 이 과정을 분해라고 하는데 이는 컴퓨터 분야의 기본 지식이자 원더의 디자인 목적이기도 합니다.
우리 일상생활에는 로봇과 상태 머신의 예가 많이 있으며, 점점 더 일반화되고 있습니다. 올바른 조합의 동전을 넣으면 자동판매기가 그에 맞는 음식을 줍니다. 자율주행차는 주변의 장애물에 따라 이동 방법을 결정합니다. 상태 머신은 언어 구문 분석, 인공 지능, 통신 프로토콜, 게임의 캐릭터 변경, 심지어 신경망까지 포함하여 광범위한 문제를 추가로 모델링할 수도 있습니다.
로봇이 더욱 널리 사용됨에 따라 교사는 모듈 기반 프로그래밍을 어린이에게 컴퓨터 공학을 가르치는 표준으로 사용하도록 훈련 받고 있습니다. 점점 더 많은 교실로 확산되면서 이것이 올바른 방향인지 궁금합니다. 아이들에게 컴퓨터 프로그래밍을 가르치는 더 좋은 방법이 있을까요?
"Celebrateing More Than Years 2"의 불법 복제 리소스가 npm에 업로드되어 npmmirror가 unpkg 서비스 를 중단해야 했습니다. Microsoft의 중국 AI 팀은 수백 명의 사람들을 모아 미국으로 떠났습니다. 프론트엔드 시각화 라이브러리와 Baidu의 유명한 오픈 소스 프로젝트 ECharts - Fish 사기꾼을 지원하기 위한 "going to the sea"는 TeamViewer를 사용하여 398만 개를 전송했습니다! 원격 데스크톱 공급업체는 무엇을 해야 합니까? Zhou Hongyi: Google은 시간이 얼마 남지 않았습니다. 모든 제품을 오픈소스로 만드는 것이 좋습니다. 한 유명 오픈소스 회사의 전직 직원이 소식을 전했습니다. 부하 직원의 도전을 받은 후 기술 리더는 분노했습니다. Google은 Android 가상 머신에서 ChromeOS를 실행하는 방법을 보여주었습니다. 여기서 time.sleep(6)은 어떤 역할을 합니까? 마이크로소프트, 중국 AI 팀이 "미국을 위해 준비 중"이라는 루머에 대응 사무용 소프트웨어의 마트료시카 같은 충전에 대한 인민일보 온라인 논평: "세트"를 적극적으로 해결해야만 미래를 가질 수 있다