読者です 読者をやめる 読者になる 読者になる

「小中学生向けのプログラミング教室」実施メモ

7月28日、29日と8月5日、6日の2回にわたり小中学生向けのプログラミング教室を開催しました。
子どもたちにプログラミングを体感してもらいという思いで、NTT東日本新潟支社様の協力の下、無事に終了することができました。

実際に行なって気がついたことや利用した教材を公開いたします。これから小中学生向けのプログラミング教室を行う方への参考になれば幸いです。


タイムテーブル

1日目
 午前(10時〜12時)
  ・オリエンテーション
  ・自己紹介
  ・Python対話処理を使って計算処理を体験
  ・Django管理インターフェースの起動
 午後(13時〜15時)
  ・プログラムの基本の説明(変数、型、式、代入、判断、繰り返し)
  ・管理インターフェースを利用してクイズデータを入力
2日目
 午前(10時〜12時)
  ・テンプレートの作成
  ・ビューの作成
 午後(13時〜15時)
  ・プログラムの仕上げとテスト
  ・感想の発表

概要

Python/Djangoを使って簡単なクイズプログラムを作成する。(データベースはsqlite3を使用)

プログラム仕様

管理インターフェースを利用してクイズ情報を入力。
ユーザー画面で問題を5問出題する。5問終了後、クイズ開始時に入力した名称とともに正解数をランキング情報に記録。ランキング情報は先頭メニュー画面で確認可能。

テキスト

以下のURLから使用したテキストは入手可能です。
【プログラミング教室】テキスト

ソースプログラム

以下のURLからプログラムはダウンロード可能です。
「はじめてのプログラミング教室」プログラムサンプル

なお、本プログラムには以下2点の不具合が含まれています。(プログラムがもつ不完全性をあえて認識してもらうため)

  • 管理インターフェースでデータを削除すると正しくクイズのIDが参照できないエラーが発生することがある。(参照するクイズ情報のIDをデータ件数からランダムに抽出するため)
  • 同じ問題が繰り返し出題されることがある。(これもランダムに問題を抽出するため。再出題のチェックは入っていない)

参加者

  • 第1回目:6名(小学4年、中学1年、中学3年)
  • 第2回目:8名(小学3年、小学6年、中学1年、中学2年)

感想

この教室では、プログラムの理論よりも、まずはプログラムの動作が確認できるということを主眼に進めました。
教えるプログラミング言語は、PythonJavascript、Scratchの3つで最後まで悩みました。あえて食いつきの悪いPythonを選択したのは、プログラミングはこういうものだということを理解するために一番いい環境だと考えたからです。
ですから、OSはUbuntu(DVD−ROMから起動)でターミナルを起動して、Djangoのコマンドを打ち込んでもらっています。きちんと出来るかどうか大変に不安でしたが、1日目の午後からは不自由なくターミナルを使えるようになっていたので驚きました。

需要の進め方は大変に苦心しました。進捗度合いが生徒たちそれぞれ異なっているので、次の課題に進むときに、そこまでの課題が正しく動作していない生徒は、私がプログラムを(半強制的に)修正して動作するようにして、次の課題に進むようにしました。
これが良いかどうかは大変に疑問なのですが、限られた時間の中で、進行しなければならないための苦肉の策です。
同じ課題をやるにも、デキる生徒にとっては簡単で、苦手な生徒にとっては難しい。飽きさせたり、諦めさせたりさせてはいけないので、カリキュラムの難易度は大変に難しと感じました。

今回の教室ではアシスタントを付けずに私一人で、ひとりひとりの生徒の進捗を見ました。
全体の進捗を行いながら、ひとりひとりの子どもたちの進捗が見られるのは、5人が限界だと思います。生徒のスキルにもよるのでしょうが、5人以上の場合はアシスタントは必須と思います。

謝辞

今回、本教室を開催するにあたって、様々なご援助とご協力いただいた、NTT東日本新潟支社ひかりパークの皆様、株式会社エヌエスアイの朝妻社長、参加していただいた生徒の方々に心より感謝いたします。

みんなのPython 第3版

みんなのPython 第3版