아이들에게 Forth를 가르쳐 본 경험

5 hours ago 3

중·고등학생을 위한 12회 프로그래밍 수업에서 문법보다 기초 개념에 집중하고자, 1970년에 나온 스택 기반 연결형 언어 Forth를 선택함 종이 접시로 후입선출 구조와 연산을 직접 수행한 뒤 컴퓨터로 옮겨, 학생들이 Forth 인터프리터의 동작을 몸으로 이해하도록 구성함 설치가 필요 없는 Easy Forth에서 그림·애니메이션·게임을 최종 과제로 삼았으며, 학생들은 Snake의 규칙과 색상을 바꾸거나 픽셀 단위 작품을 완성함 Forth는 문법 부담이 적지만 초보자가 스택 같은 저수준 구조를 일찍 다뤄야 했고, 입문 수업에는 즉각적인 시각 피드백을 주는 Scratch가 더 나았을 가능성도 있음 특정 언어보다 결과를 빠르게 확인하고 스스로 탐색할 수 있는 환경이 중요하며, LLM 의존으로 기술을 배우거나 유지하지 못할 위험이 커질수록 사람 중심 교육이 더 필요함 Forth를 선택한 이유 Python이나 Scratch 대신 스택 기반 연결형 언어 Forth를 선택해 흔히 시도되지 않는 교육 경로를 탐색함 제한된 수업 시간에 기초 개념을 다루기 위해 문법 교육에 드는 부담을 피하고자 했음 Python은 프로그래밍 경험자에게 의사 코드처럼 읽히지만, 처음 배우는 사람에게는 여전히 이해하기 어려웠음 후보 언어는 Forth와 Haskell이었음 Forth는 명령을 작성된 순서대로 실행하므로, 스택을 이해하면 프로그램을 만들 수 있다는 점이 매력적이었음 Haskell은 수학에서 배우는 변수와 함수 개념에 잘 맞아, 변수를 값을 담는 상자로 취급하는 일반적인 프로그래밍 방식의 혼란을 피할 수 있었음 최종적으로 Forth를 고른 데에는 두 가지 이유가 있었음 맞춤형 학습 환경에 통합하기 쉬웠음 교실의 최종 시연에서는 함수형 프로그래밍보다 절차적 프로그래밍이 이해하기 쉬울 것으로 판단함 잘 알려지지 않은 언어를 사용하면 프로그래밍 경험이 있는 학생도 새로운 것을 배우고, 초보자 역시 소외되지 않을 수 있었음 12시간 교육과정 설계 수업은 주 1회, 회당 1시간씩 총 12회 진행했으며 수업 외 과제를 많이 수행할 것으로 기대하지 않았음 최종 목표는 Forth 환경에서 그림, 애니메이션, 게임 중 하나를 직접 만드는 것이었음 과정이 끝난 뒤에도 눈으로 확인하고 보관할 결과물을 남기려 했음 기술적인 내용을 많이 배웠지만 손에 남는 것이 없다고 느끼는 상황을 피하고자 함 학생마다 운영체제가 다르고 일부 기기에는 외부 소프트웨어를 설치할...

Read Entire Article