Blockly팀은 교육용 애플리케이션 설계에 있어 다년간의 경험을 보유하고 있습니다. 다음은 교육용 애플리케이션을 설계하는 데 도움이 될 수 있는 몇 가지 학습 내용입니다.
빈칸 채우기 연습보다 자유 형식 연습을 선호합니다.
특정 개념을 가르치기 위해 설계된 연습에서는 학생이 원하는 효과를 얻기 위해 수정해야 하는 부분적인 솔루션을 제공하는 경우가 많습니다. 이를 지원하기 위해 Blockly에서 수정할 수 없고, 이동할 수 없고, 삭제할 수 없는 블록 클래스가 생성되었습니다. 하지만 학생들은 빈칸 채우기 연습을 싫어했습니다. 솔루션에 대한 소유권이 없습니다.
동일한 개념을 가르치는 자유 형식 연습을 설계하는 것은 더 어렵습니다. 성공적인 것으로 입증된 한 가지 기법은 한 연습 문제에 대한 학생의 자체 솔루션을 다음 연습 문제의 시작점으로 사용하는 것입니다.
권장사항: 사용자를 위한 코드를 작성하지 마세요.
지속적인 안내 사용
Blockly Games는 자기 학습용으로 특별히 설계되어 교사나 수업 계획이 필요하지 않습니다. 이를 위해 Blockly Games의 첫 번째 버전에는 각 레벨에 관한 안내가 있었습니다. 대부분의 학생은 읽지 않습니다. 한 문장으로 줄이고 글꼴 크기를 늘렸으며 노란색 풍선으로 강조 표시했습니다. 대부분의 학생은 읽지 않을 것입니다. 안내가 포함된 모달 팝업을 만들었습니다. 대부분의 학생은 팝업을 읽지 않고 본능적으로 닫은 후 길을 잃었습니다.
마지막으로 닫을 수 없는 팝업을 만들었습니다. 학생의 행동을 모니터링하도록 프로그래밍되어 있으며 학생이 필요한 작업을 수행한 경우에만 자동으로 닫힙니다. 이러한 상황 인식 팝업은 프로그래밍하기는 어렵지만 매우 효과적입니다. 또한 작업공간을 방해하지 않고 시야에 들어오는 것도 중요했습니다.
권장사항: 안내는 짧고 지속적이어야 하지만 불쾌감을 주지 않아야 합니다.
도움말에 라이브 블록 이미지 사용
블록 관련 문서에는 참조하는 블록의 이미지가 포함되어야 합니다. 스크린샷을 찍는 것은 간단합니다. 하지만 이러한 이미지가 50개 있고 애플리케이션이 50개 언어로 번역된다면 갑자기 2,500개의 정적 이미지를 유지관리하게 됩니다. 그런데 색 구성표가 변경되어 2,500개의 이미지를 다시 업데이트해야 합니다.
이 유지관리 악몽에서 벗어나기 위해 Blockly Games는 모든 스크린샷을 읽기 전용 모드로 실행되는 Blockly 인스턴스로 대체했습니다. 결과는 사진과 동일하게 표시되지만 최신 상태가 보장됩니다. 읽기 전용 모드를 통해 국제화가 가능해졌습니다.
권장사항: 두 개 이상의 언어를 지원하는 경우 읽기 전용 모드를 사용하세요.
학생을 위한 종료 전략이 있어야 함
블록 기반 프로그래밍은 프로그래밍의 시작점인 경우가 많습니다. 컴퓨터 프로그래밍 교육의 맥락에서 보면 더 어려운 것으로 넘어가기 전에 학생들을 중독시키는 관문 약물입니다. 학생의 블록 기반 프로그래밍 기간이 얼마나 되어야 하는지는 뜨거운 논쟁의 대상이지만, 프로그래밍을 가르치는 것이 목표라면 일시적이어야 합니다.
따라서 프로그래밍 교육에 사용되는 블록 기반 프로그래밍 환경에는 학생에게 적합한 출구가 있어야 합니다. Blockly Games에는 네 가지 전략이 있습니다.
텍스트 기반 프로그래밍 언어와 일치하도록 블록의 모든 텍스트 (예: 'if', 'while')는 소문자입니다.
학생 코드의 JavaScript 버전은 친숙도를 높이기 위해 각 레벨 후에 항상 표시됩니다.
마지막에서 두 번째 게임에서는 블록 텍스트가 실제 JavaScript로 대체됩니다(오른쪽 참고). 이 시점에서 학생은 JavaScript로 프로그래밍합니다.
궁극적인 게임에서는 블록 편집기가 텍스트 편집기로 대체됩니다.
프로그래밍 교육에 사용되는 블록 기반 프로그래밍 환경에는 학생을 졸업시키기 위한 구체적인 계획이 있어야 합니다. 확실한 종료 전략은 블록 기반 프로그래밍이 '실제 프로그래밍'이 아니라고 주장하는 사람들을 달래는 데도 도움이 됩니다.
권장사항: 사용자의 최종 목표를 고려하여 적절하게 설계하세요.