블록으로 프로그래밍을 가르치는 이유는 무엇입니까?

블록 기반 프로그래밍 환경은 점점 더 많은 학생들에게 첫 번째 코딩 경험이 되고 있습니다.1점점 더 많은 학교에서 컴퓨터 공학 과정과 커리큘럼을 도입하고 확장하기 시작하고 있습니다. 가장 널리 사용되는 블록 기반 프로그래밍 언어 중 하나는 Scratch2(scrap.mit.edu)입니다. 매일 1,500개가 넘는 새로운 프로그래밍 프로젝트가 스크래치 사이트3에 업로드됩니다. VEXcode 자체는 스크래치 블록으로 구동됩니다.

교육 범주와 관련된 교육 동향과 관련된 연구 결과를 보여주는 그래프로, 해석을 위한 데이터 포인트와 명확한 범례가 표시되어 있습니다.

스크래치를 만든 주요 동기 중 하나는 많은 어린 학생들이 텍스트 기반 프로그래밍 언어로 프로그래밍하는 것을 너무 어렵다고 생각한다는 것입니다.4이 학생들은 타이핑과 구문을 모두 익히기가 어렵다고 생각합니다. 결과적으로 블록 기반 프로그래밍 언어는 미취학 아동만큼 어린 학생들을 위해 설계되었지만 대부분은 8세에서 16세 사이의 학생들을 위해 설계되었습니다. VEXcode를 포함한 블록 기반 프로그래밍은 초보 프로그래머에게 여러 가지 이점을 제공합니다5.

  1. 가독성:블록 기반 프로그래밍 언어에는 텍스트 기반 명령보다 훨씬 읽기 쉬운 명령이 있습니다.
  2. 암기:블록 기반 프로그래밍 언어에는 사용자가 모든 명령을 볼 수 있습니다. 텍스트 기반 프로그래밍 언어를 사용하면 명령을 외워야 하는 경우가 많습니다. 또한 사용자는 텍스트 명령과 관련된 구문을 기억해야 합니다. 블록 기반 명령과 관련된 구문은 없습니다.
  3. 타이핑/철자법:어린 학생들은 키보드 사용에 어려움을 겪습니다. 철자 오류는 텍스트 기반 프로그래밍 언어에서 컴파일러 오류가 됩니다. 블록 기반 프로그래밍 언어는 드래그 앤 드롭을 사용합니다. 따라서 타이핑이나 철자법 숙달이 필요하지 않습니다.

초보 사용자가 블록 기반 프로그래밍 언어로 프로그래밍을 시작하는 것이 더 쉽다는 것이 입증되었지만 블록 기반 언어가 컴퓨터 과학 개념을 가르치는 데 효과적인지 묻는 것은 여전히 ​​중요합니다. 짧은 대답은 다음과 같습니다. 그렇습니다. 연구에 따르면 블록 기반 프로그래밍 언어는 알고리즘, 변수, 조건 논리 및 코드 이해와 같은 컴퓨터 과학 개념을 가르치는 데 효과적이었습니다6.

물론 블록 기반 프로그래밍 언어를 사용하는 데에는 몇 가지 단점이 있습니다. 예를 들어, 학생들은 때때로 블록을 사용하는 것이 "진정한" 학습 경험이 아니라고 느낄 수 있습니다7. 즉, 실제 프로그래머는 블록을 사용하지 않습니다. 이는 명심해야 할 중요한 측면이지만 텍스트 기반 프로그래밍 언어가 초보 프로그래머에게 소개하는 잘 문서화된 문제를 염두에 두는 것도 중요합니다.

교육자로서 우리는 개념을 가르치는 데 사용하는 도구가 학생들의 변화에 ​​따라 변한다는 것을 알고 있습니다. 수학은 K-College에서 가르칩니다. 1학년을 가르치는 데 사용되는 도구는 대학 3학년을 가르치는 데 사용되는 도구와 많이 다릅니다. 연구에 따르면 블록 기반 프로그래밍 언어는 초보자가 사용하기 더 쉽고 중요한 컴퓨터 공학 주제를 가르치는 데 효과적인 수단인 것으로 나타났습니다. 그러나 이것이 학생들이 항상 블록 기반 프로그래밍 환경에 있어야 하거나 머물러야 한다는 것을 의미하지는 않습니다. 대신, 하나의 프로그래밍 방식(블록 또는 텍스트)이 본질적으로 다른 것보다 낫지 않다는 더 나은 결론을 내릴 수 있습니다.8. 귀하의 교실에 적합한 것이 무엇이든 교육자로서의 편안함 수준과 학생들의 준비 상태에 따라 달라집니다. 학생들이 서로 다른 속도로 구구단을 익히는 것처럼 일부 학생들은 다른 학생들보다 블록을 사용한 프로그래밍을 더 빨리 익히게 됩니다. 텍스트 기반 프로그래밍을 시작할 수 있는 기회를 통해 계속해서 참여하고 도전하게 될 것입니다. VEXcode 및 Text와 같은 도구를 사용하면 각 학생의 개별 교육 수준을 만날 수 있습니다.


1Weintrop, 데이비드. “컴퓨터 과학 교육의 블록 기반 프로그래밍.” ACM. 2019년 8월 1일. 2019년 9월 10일 / https://cacm.acm.org/magazines/2019/8/238340-block-based-programming-in-computer-science-education/fulltext

2Resnick, Mitchel, Brian Silverman, Yasmin Kafai, John Maloney, Andrés Monroy-Hernández, Natalie Rusk, Evelyn Eastmond, Karen Brennan, Amon Millner, Eric Rosenbaum 및 Jay Silver. "할퀴다." ACM 52(2009)의 커뮤니케이션: 60.

3Resnick, Mitchel, Brian Silverman, Yasmin Kafai, John Maloney, Andrés Monroy-Hernández, Natalie Rusk, Evelyn Eastmond, Karen Brennan, Amon Millner, Eric Rosenbaum 및 Jay Silver. "할퀴다." ACM 52(2009)의 커뮤니케이션: 60.

4쾰링, 미카엘, 닐 CC 브라운, 암자드 알타드므리(Amjad Altadmri). "프레임 기반 편집." 초중등 컴퓨팅 교육 워크숍 간행물 - WiPSCE '15(2015).

5쾰링, 미카엘, 닐 CC 브라운, 암자드 알타드므리(Amjad Altadmri). "프레임 기반 편집." 초중등 컴퓨팅 교육 워크숍 간행물 - WiPSCE '15(2015).

6Weintrop, David, Uri Wilensky. "고등학교 컴퓨터 과학 교실에서 블록 기반 프로그래밍과 텍스트 기반 프로그래밍을 비교합니다." 컴퓨팅 교육에 관한 ACM 거래 18(2017): 1-25.

7Weintrop, 데이비드. “컴퓨터 과학 교육의 블록 기반 프로그래밍.” ACM. 2019년 8월 1일. 2019년 9월 10일 / https://cacm.acm.org/magazines/2019/8/238340-block-based-programming-in-computer-science-education/fulltext

8Weintrop, David, Uri Wilensky. "블록 기반, 텍스트 기반 및 하이브리드 블록/텍스트 양식이 초보자 프로그래밍 관행을 형성하는 방법." 국제 아동-컴퓨터 상호작용 저널 17(2018): 83-92.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: