プログラミングを教えるときに使える「Parson's Problems(もしくは Parson's Puzzles とも言う)」というプラクティスを最近知った!「Parson's Problems」はコードの各行がバラバラになっていて,インデントも含めて正確に並び替えたら正解になるというパズルのようなプログラミング学習スタイルという感じ.以下に載せた parsons.problemsolving.io のキャプチャ(お題 : 数列から最大値を見つける)を見ればイメージできると思う.
「Parson's Problems」は特に入門者にプログラミングを教えるときに効果的!コードを書かずにドラッグアンドドロップで試行錯誤できて,パズルのように楽しめる.また入門者がコードを読む機会にもなる.入門者にとって,コードをゼロから実装するのは難しく,挫折する理由になることもある.そこで,実際に教育の現場でも「Parson's Problems」が活用されているのことだった.僕自身もプログラミングを教える機会があるし今度試してみようと思う.
Parson's Problems 関連ツール
1. js-parsons
js-parsons は「Parson's Problems」を作る JavaScript ライブラリでウェブサイトに組み込んで使える.Python をサポートしている.しかし JavaScript 実装 parsons.js
は7年間も更新されてなく,継続的なメンテナンスはされてなさそう.
js-parsons のウェブサイトでは実際に「Parson's Problems」のサンプルを試せる.
2. Parsons Puzzle
Parsons Puzzle ではフォームにコードを入力すると自動的に「Parson's Problems」を生成できる!便利!
3. CODE PUZZLE
CODE PUZZLE もフォームに入力すると自動的に「Parson's Problems」を生成できる!実装は js-parsons を使ってるとのこと.
Parson's Problems 論文
2006年に発表された論文「Parson's programming puzzles: A fun and effective learning tool for first programming courses」もあった.気になる!今度読んでみよう!
(PDF) Parson's programming puzzles: A fun and effective learning tool for first programming courses