Scratch가 아이들이 프로그래밍을 배우기에 이상적인 플랫폼인 주요 이유
딸이 스크래치로 첫 프로젝트를 만든 순간, 나비를 쫓는 고양이가 등장하는 즐거운 애니메이션이었는데, 기술과의 상호작용이 모두 진화했습니다. 수동적인 시청자에서 적극적인 창작자로 전환하면서 상상력과 참여가 촉발되었습니다. 이제 2년, 수많은 프로젝트를 거친 후, 스크래치가 어린이를 위한 뛰어난 프로그래밍 언어인 이유를 자신 있게 공유할 수 있습니다. 어린 마음을 위한 활기찬 창의적 출구 역할을 합니다.
Scratch 소개: 어린이를 위한 사랑받는 프로그래밍 언어
2000년대 초 MIT 미디어랩에서 개발한 스크래치는 청소년들이 아이디어를 시각화하고 코딩할 수 있는 풍부하고 대화형 환경을 제공합니다.
복잡한 구문과 모호한 구두점으로 아이들에게 위압감을 줄 수 있는 기존 프로그래밍 언어와 달리, 스크래치는 아이들에게 잘 어울리는 시각적 전략을 사용합니다.
각 프로그래밍 요소는 고유한 색상의 블록으로 표현됩니다. 보라색은 시각적 요소, 파란색은 이동 요소, 노란색은 제어 요소 등입니다. 이러한 블록은 퍼즐 조각처럼 일관성 있게 연결되어 인상적인 창의성을 발휘할 수 있습니다.
예를 들어, 스페이스 바에 반응하여 캐릭터를 애니메이션화하려면 “이벤트” 블록을 사용하기만 하면 됩니다. 프로젝트 전체에서 플레이어의 이름을 추적해야 하는 경우 한 번의 클릭으로 변수를 만들기만 하면 됩니다. 표준 프로그래밍 과정에서는 어려워 보일 수 있는 개념도 여기서 빌딩 블록을 조립하는 것만큼 간단해집니다.
심지어 성인 학습자를 종종 혼란스럽게 하는 개념인 함수조차도 Scratch에서는 쉽게 이해할 수 있습니다. 제 딸이 여러 캐릭터가 같은 춤을 추기를 원했을 때, 그녀는 코드를 간소화하기 위해 “내 블록” 섹션에서 사용자 정의 블록을 만드는 방법을 발견했습니다.
가장 신나는 측면은? 터미널에서 종종 건조한 텍스트 출력으로 나타나는 기존의 초보자용 프로그래밍 언어와 달리, Scratch에서 만든 모든 것은 역동적인 방식으로 생명을 얻습니다. 녹색 깃발을 클릭하기만 하면, 제 딸은 자신의 캐릭터가 자신이 상상했던 대로 춤추고 상호 작용하는 것을 볼 수 있었습니다.
스크래치를 시작하는 방법
Scratch를 시작하는 것은 정말 간단합니다. scratch.mit.edu 에서 웹 브라우저에서 바로 액세스할 수 있으며 , 오프라인 작업을 선호하는 사람들을 위해 Windows, macOS, ChromeOS 및 Android용 다운로드 버전 도 있습니다 . 딸이 Raspberry Pi를 사용하기 때문에(오프라인 버전은 Linux와 호환되지 않음) 웹 버전을 선택했습니다.
계정이 없어도 바로 프로젝트를 만들 수는 있지만, 딸을 위해 계정을 만들어서 그녀가 자신의 작업을 저장하고 젊은 창작자들로 구성된 커뮤니티와 소통할 수 있도록 했습니다.
그녀의 첫 번째 프로젝트에서는 고양이가 나비를 쫓는 기발한 이야기를 간단하게 만들었습니다. Scratch의 두드러진 특징 중 하나는 아이들이 프로젝트에 쉽게 통합할 수 있는 애니메이션 캐릭터와 객체인 방대한 스프라이트 라이브러리입니다. 결과적으로 나비를 추가하는 것은 “스프라이트 선택” 버튼을 클릭하는 것만큼 쉬웠고 고양이 스프라이트는 기본적으로 편리하게 사용할 수 있었습니다.
무대를 설정하자 우리는 논리를 파헤칠 수 있었습니다. 저는 딸에게 “[스페이스] 키를 눌렀을 때”와 같은 이벤트 블록을 적용하여 고양이가 나비를 향해 움직이도록 하는 방법을 보여주었습니다. 우리는 “[10]걸음 이동”과 같은 간단한 동작 블록을 사용하여 그녀가 명령의 효과를 즉시 볼 수 있도록 했습니다. 프로젝트를 더욱 활성화하기 위해 고양이가 나비와 접촉하여 야옹거리는 소리가 날 때 동작을 트리거하는 조건부 “if” 블록을 도입했습니다.
이러한 블록을 끌어서 맞추는 것이 쉬워서 그녀는 액션의 상호작용을 배우는 것이 분명했습니다. 이 기본적인 단계에서도 그녀는 기본적인 프로그래밍 개념을 이해하고 있다는 것을 깨닫지 못한 채 “if-then” 시나리오와 이벤트 기반 프로그래밍의 본질을 이해했습니다.
스크래치에서 마주친 주요 과제
스크래치는 어린이에게 사용하기 편리하도록 맞춤 제작되었지만, 우리는 그 과정에서 두 가지 주목할 만한 어려움에 직면했습니다. 다음은 우리가 어떻게 성공적으로 이를 극복했는지에 대한 설명입니다.
초기 독서 과제
가장 큰 장애물은 기술적인 것이 아니라 문해력이었습니다. Scratch 여정을 시작할 때, 제 딸의 독해 능력은 모든 블록 설명과 버튼 기능을 독립적으로 완전히 이해할 만큼 충분히 발전되지 않았습니다.
이것이 그녀의 진전을 방해하도록 내버려 두는 대신, 나는 그것을 공유 학습 경험으로 바꾸었습니다. 나는 그녀의 초기 프로그래밍 모험에 동참하여 그녀가 라벨을 읽고 다양한 블록의 기능을 명확히 하는 것을 도왔습니다. 몇 달 후, 그녀는 블록 설명을 독립적으로 해독할 수 있었고, 그녀의 프로그래밍 어휘와 기술적 문해력은 그녀의 독서 발달과 함께 확장되었습니다.
프로젝트 자산 제한
우리가 직면한 유일한 기술적 어려움은 Scratch의 프로젝트 자산 제한과 관련이 있었습니다. 각 프로젝트는 여러 자산을 보관할 수 있지만, 각 자산의 크기는 10MB를 초과해서는 안 됩니다. 이는 스프라이트와 짧은 사운드 클립에는 충분하지만, 딸이 자신의 배경 음악을 통합하기 시작하면서 크기 제약에 부딪혔습니다.
우리는 오디오 파일을 최적화하여 이 문제를 해결했습니다. 그녀의 녹음에서 나온 WAV 포맷을 사용하는 대신, 무료 오디오 편집 도구인 Audacity를 통해 MP3로 변환하기로 했습니다. 이 변환은 일반적으로 파일 크기를 80-90% 줄이는 동시에 허용 가능한 음질을 유지했습니다.
스크래치 이후에는 무엇이 올까요?
스크래치는 어린이의 관심을 사로잡는 시각적 블록을 통해 코딩 개념을 소개하는 데 뛰어나지만, 초보 프로그래머가 실제 프로그래밍의 기초인 텍스트 기반 코딩으로 전환하고 싶어할 때가 있습니다.
제 딸은 본격적인 텍스트 프로그래밍을 할 준비가 되지 않았기 때문에, 우리는 Microsoft의 MakeCode 로 중간 플랫폼을 탐색하고 있습니다. MakeCode 는 블록 기반 코딩 접근 방식에서 Scratch와 비슷합니다. 그러나 MakeCode는 또한 젊은 코더가 텍스트 프로그래밍으로 전환할 수 있는 옵션을 제공하여 JavaScript 또는 Python으로 더 복잡한 논리를 구현할 수 있도록 합니다.
텍스트 기반 언어에 뛰어들 준비가 된 나이 많은 어린이의 경우 Python과 JavaScript는 훌륭한 기초 옵션입니다. 두 언어 모두 깔끔하고 이해하기 쉬운 구문과 광범위한 라이브러리를 특징으로 하며, Scratch를 통해 배운 개념을 확장하고자 하는 젊은 개발자에게 이상적입니다.
표지 이미지와 스크린샷은 David Morelo가 촬영했습니다.
답글 남기기