|
|
教育実践例 |
|
|
|
|
浦和北高校の「実用基礎プログラミング」と「モデル事業」,そして雑感
−プログラムを知らずに育った子,にプログラミングを教える− |
|
|
|
|
1.テレビゲームで育った子はプログラミングを好きになるのか? |
15年以上前から「コンピュータは便利だ」「表計算はこう使うんだ」と偉そうに,同じことを繰り返し言い続けてきたような気がする。2006年,「コンピュータは便利だ」と人に言ったら,何の皮肉かと誤解を招くかもしれない。そんな時代だ。
「平成っ子」の,携帯電話やインターネットに対する活用能力には驚かされてしまう。携帯メールを打つスピードには,感動さえ覚える。ただしそれらの能力は,非常に限定された領域に対するものだ。「携帯では超スピードで入力できるが,キーボードではその半分以下」「日々インターネットに浸かっているが,HTMLソースが何物なのか知らない」そんな生徒が多い。
今の高校生は,生まれたときからテレビゲームが身近な存在だった。良かれ,悪しかれ。テレビという二次元の世界,あるいは擬似的な三次元の世界で,自分自身が主人公になれることに何の驚きもない。では,高度な情報機器に慣れっこの高校生は,プログラミングに対する関心が高いのだろうか。無論,時代の流れで,ネットワークなど目的が特化されたプログラミングに対し,強い関心を示す生徒は多くなっている。しかし,ごく普通の高校生はどうなのだろうか。
コンピュータはブラックボックスであり,ソフトウェアのブラックボックス度はさらに高くなる。残念ながら,ソフトウェアのブラックボックス度の上昇とともに,一般の生徒のプログラミングに対する関心は,より低くなってきているように見える。ハード,ソフトとも進化し,「なぜそうなるのか」を考える時間などない。「この操作をする」と「この結果が得られる」という,対応のみを学習し続けたのが原因ではないだろうか。
プログラミングが世間から誤解を受けている気もする。世の多くの人は,「プログラミングが好きな人は皆,萌え〜が口癖の変なヤツ」と思っているのでは,と疑いたくなることもある。情報機器が進化するほど,そのブラックボックス度は高くなっていく。プログラミングという言葉が,本来の姿とかけ離れたイメージを持つのでは,と不安でならない。
▲「実用基礎プログラミング」授業
「1」と入力されたセルの右下を[Ctrl]+ドラッグすると「2」「3」「4」…と表示される。生徒は,その操作自体を習得し活用する。アプリケーションの動作,そのブラックボックス度は高い。しかしVBAで「For
i = 1 To 10 Cells(i,1).Value = i Next」とすると,とたんにブラックボックス度が低くなる。「実用として便利なプログラミング」を教えることも大切だが,よりブラックボックス度の小さな,プログラミングの理屈をとことん教えたいと思っている。 |
|
|
|
2.浦和北高校と実用基礎プログラミング |
埼玉県立浦和北高等学校は来年,創立30周年を迎える。埼玉大学から徒歩10分。すぐ近くに荒川が流れる緑豊かな,落ち着いた県立高校だ。生徒のほとんどは進学希望。今春,本校の入試では過去最高といえる競争倍率を記録した。浦和北高校の特徴は単位制。生徒は進路や興味に応じて,独自の時間割を組み立てる。情報科の授業では,1年次で「情報A」または「情報C」の2単位必修選択。また,2・3年次では「実用基礎プログラミング」2単位が用意されている。
本校では「情報機器の扱いに慣れている」生徒が「情報A」を選択する傾向にある。「情報C」選択者には,時間をかけてやっと発見したキーを一本指で丁寧に押すような生徒もいる。しかし一年間の授業で,ほとんどの生徒はキー入力が格段に速くなっていく。
「実用基礎プログラミング」では,プログラミング技術の基礎を学ぶ。実は,まだ今年4月にスタートしたばかりの,新しい講座だ。本校では全校的に少人数授業を展開している。実施される講座の人数は,生徒の希望人数と希望傾向により様々である。学校全体ですべての講座の平均人数が例年,約26人となっている。今年度「実用基礎プログラミング」は8名で実施する,アットホームな講座になった。
生徒が「実用基礎プログラミング」を選択する理由は様々だ。当然のことながら大多数は「プログラミングを学びたい」「将来役に立つ」という理由だが,「かっこいいから選んだ」という生徒もいる。3年間で修得できる単位数には限りがある。プログラミングの学習を希望する生徒は多いが,大学受験の科目にない「実用基礎プログラミング」は時間割に組み込みにくいのが現状だ。 |
|
|
|
3.ExcelVBAは教育用プログラミング言語に適している? |
本校で開講している「実用基礎プログラミング」は,本校独自の学校設定科目だ。「実用基礎プログラミング」ではExcelVBAを主な教材とする。なぜExcelVBAを教材とするのか。次はその理由だ。
・Excelは多くの生徒が利用できる環境にある。
・Excelは将来的に使用する機会が多い。
・Excelさえあればプログラミング学習ができる。
・Excelの機能は膨大で,VBAでそのほとんどを利用できる。
この世にプログラミング言語はたくさん存在する。ほとんど「死語」と化してしまった言語も多い。FORTRANとJavaは天と地ほどの違いがあると思うが,ifやdo
whileなど,アルゴリズムの根底は同じだ。プログラミングの基礎を教えるのであれば,使用する言語の選択肢は多い。しかし,利用しやすく将来役立つ,ということを考えるとExcelVBAが適当と考える。生徒の多くは,いずれにしても近い将来Excelと向き合うことになるだろう。VBAの知識は,Excelでのデータ処理に大きく貢献するはずだ。
Excelという,一企業が販売するソフトウェアに特化した教育に,疑問を抱く方がいるかもしれない。また,10年後に今と同じような状況でExcelVBAが利用されている保証もない。しかし,もし普遍のプログラミング技術だけを教えようとすれば,達成感が少なく,実用に遠いものになってしまう。とりあえず,そこらじゅうにころがっているExcelをプログラミングの道具として利用し,たとえ将来これらが死語になろうとも,プログラミングの在り方だけは生徒の中に脈脈と生き続けるような授業をしたいと思っている。
現在,VBAの基本を説明し始めたばかりだ。MsgBox ("こんにちは")の1行を実行すれば,「こんにちは」とダイアログボックスが表示される。ダイアログボックスには慣れている生徒たちだ。しかし,アプリケーション動作の一部分を,自分が入力した文字が制御していることに新鮮な感覚を抱いているようだ。 |
|
|
|
4.Java考 |
プログラミングを教えるからにはJavaも教えたい,と強く思っている。本校「実用基礎プログラミング」では,ExcelVBAを中心にプログラミングの学習をするが,欲張ってJavaも教える予定だ。
プログラムはより汎用的であることが望ましい。理想的には,「世界中のどのコンピュータでも動作する」プログラムが理想だ。しかし,どんなコンピュータでも動作するプログラムを作成することは不可能だ。
Javaは,JVM(Java仮想マシンJava Virtual Machine)上で動作させる仕様だ。Javaでコンパイルすると,クラスファイルを生成する。他のプログラム言語のようなマシン語にはならない。クラスファイルはJVM上で動作する。JVMはあくまで「仮想的な」コンピュータだ。JDK(Java
Development Kit)やJRE(Java Runtime Environment)をインストールすることで,はじめてJVMという仮想的なコンピュータになる。つまり,JDKやJREが利用できれば,JVMという共通のコンピュータに変身させることができるのだ。JVMには厳密なテストがあり,これに合格したJVMは,まったく共通のコンピュータだといえる。世界中どのコンピュータを使っても,JVMであれば,一つのクラスファイルが同じ動作をするのだ。
アプリケーションやOSに依存するプログラムを生徒に教えるのは,後ろめたさを感じてしまう。無論,Javaでも機種やOSに依存する部分はある。しかし,他の言語に比較すれば,後ろめたさは非常に小さい。
Javaには「厳密なオブジェクト指向プログラミング」「無料で使える」「ネットワークのセキュリティに強い」といった特徴もある。特にJavaの「妥協を許さぬオブジェクト指向」は,何かの哲学のように思えるくらいだ。わざわざ「PublicStatic
void main(String args[])」と呪文のような1行を入れなければ,たった1行の文字列も表示させることのできないJava。しかし,プログラミングの「思想」を伝えるのに,最もふさわしいものだと思っている。
なお,Javaをコマンドラインだけで実行すると,実行するまでが大変だ。そこでEclipseの利用も考えている。Eclipseは,無料で入手することができるIDE(IntegratedDevelopment
Environment)であり,これを使えば効率のよいプログラム学習が可能となる。Eclipseを使用し,本来のプログラミング学習以外の苦労を,少しでも減らしてあげたいと思っている。 |
|
|
|
5.県立学校間ネットワーク活用モデル事業について |
情報の研究発表で必ずといっていいほど登場するのが「テレビ会議」と「eラーニング」だ。海外との交流,遠隔地授業,そして受講者の能力に細やかに対応する,親切かつ効率的な自律学習システム。これらが実際の教育活動の手段として,活躍を期待されるのも当然の話だ。
今では珍しくも何ともなくなった感さえある「テレビ会議」や「eラーニング」だが,もしこれを,日々の普通の授業で実践するとなったらいかがだろうか。研修や研究のための特別な授業はできても,日常の授業で実践するには相当な困難が伴うのではないだろうか。実は本校も例にもれず,流行のeラーニングを研究している。浦和北高等学校は05年度,06年度と,埼玉県の県立学校間ネットワーク活用モデル校の指定を受けた。本校では,WBTによる「いつでも」「どこからでも」できるeラーニングの自律学習に関する研究をしている。
現在多くの家庭では,自宅からインターネットへの接続が可能である。このため,WBTによる効果的な自律学習の実現が期待される。将来的に,適切な教材を設定すれば,「不登校生徒への対応」や「長期休業中の在宅学習」等,さまざまな形態での活用も可能となるだろう。
埼玉県の「学校支援システム」は,県立学校間ネットワークや市町村立学校からだけでなく,将来的な家庭からの利用も前提としている。では実際に,「一般的」な「多数の生徒」が「指導者不在の場」で,WBTによる自律学習を効果的に行うことができるのだろうか。これを成功させるには,特別な環境ではなく,実際に多くの生徒が普通に持つ環境でeラーニングを行い,それを検証することが必要と考える。別に華々しい研究をするつもりはない。
▲「eラーニング自律学習」オリエンテーション
学校の情報室でなく,家庭や昼休みのホームルーム教室,そしてインターネットカフェからでも,理屈の上ではeラーニング学習は可能だ。05年度は「1学年全員320人の生徒が,任意の場所から,任意の時間に,オンデマンド型の自律学習に取り組む」方法を検証した。また,受講管理と成績管理についても,「成績管理サービス」によりネット上での効果的な支援を目指した。研究に関する詳細は,報告する誌面の余裕がないため別の機会に譲りたい。ここでは,その概略と感想だけを書かせていただく。
実際にこの自律学習を運営してみると,どんどん課題が浮き上がってきた。ハードやソフト環境からはじまり,その運用など。「特別な集団に」「特別な時間だけ」実施する研究授業とは大違いだ。
たとえば「320名分のアカウント登録と生徒へのパスワードの連絡方法が煩雑」「OSとブラウザのバージョン,Javaスクリプトやポップアップの設定によって,認証されない例がある」等,解決すべき問題が多く発生した。
|
|
|
|
7.おわりに |
本実践は女子高等学校におけるものであり,ロボットを使用した授業というのはあまり受け入れられないと推測していた。ロボットを使用することや,ソフトウェアの使用方法の授業だと思っていた生徒には多少抵抗はあったようだが,最終的には「楽しかった」という反応であり,女子高でも実践が可能であるということが示された。
また本授業では,教科書の単元を広く網羅することができた。なお,日本文教出版「情報B」(日文情報048)について,全項は網羅できていないが,全節を網羅することができている。
なお,この授業案は未熟であり,改善の余地を多く持っていると考えている。多くの先生方にいろいろ御指導いただければ幸いである。 |
|
|
|
|
|
|