スポンサーリンク

【プログラミング教育】情報Ⅰで結局何を教えるの?

code_teachingEducation

「情報Ⅰ」の授業が今年度よりスタートしました。
教育課程は年次進行なので、2年次、3年次に開設されている場合は次年度以降です。
今年度、各地で行われている研修会は、いよいよ実際の授業を踏まえた上での意見交換が行われています。
ただしプログラミングについては、1学期終了時点では各社の教科書がモラルやリテラシー中心であるため、「いよいよ」という緊張感や、「こうしようと思う」という提案が主です。
私自身が参加した研修会で聞こえてきたのは「言語はどうする?」という声。
う~ん、と思ったので少し考察します。

やっぱり言語はバラバラ

先日参加した研修会のアンケートで出てきた言語は、次の物でした。

  • Python
  • JavaScript
  • VBA
  • Java
  • C
  • C+

ちょっとビックリしたのは、アンケートの中で一番多かったのは「未定」という回答です。
まだ来年度以降に授業が始まる学校も含むので、一概に言えません。
ただ、すでに授業がスタートしているのに、どうされるのでしょうか・・・
興味深いです。
情報専門の教員は、どこの地域でも不足しています。
商業や工業の先生方が代替科目で指導されている学校も多くあります。
そういったところでは、商業の先生ならVBAやJava、工業の先生ならCやC+などを指導されているようです。
中には「Cobol」を考えておられる方もいました。
懐かしい、なんて言ったら失礼ですよね。
未だに一部メーカーでは、現役の言語のようです。
さすがにHTMLという回答はもう無さそうでした。
プログラミング言語とマークアップ言語が区別されてきたようです。

教科としての最終目標は

どこまで指導するのか。
どの教科にも共通します。
商業や工業の先生方は、やはり完成させ形にするところを重視されるようです。
では、情報はどうでしょうか。

    情報に関する科学的な見方・考え方を働かせ,情報技術を活用して問題の発見・解
    決を行う学習活動を通して,問題の発見・解決に向けて情報と情報技術を適切かつ効
    果的に活用し,情報社会に主体的に参画するための資質・能力を次のとおり育成する
    ことを目指す。
    (1)効果的なコミュニケーションの実現,コンピュータやデータの活用について理
    解を深め技能を習得するとともに,情報社会と人との関わりについて理解を深め
    るようにする。
    (2)様々な事象を情報とその結び付きとして捉え,問題の発見・解決に向けて情報
    と情報技術を適切かつ効果的に活用する力を養う。
    (3)情報と情報技術を適切に活用するとともに,情報社会に主体的に参画する態度
    を養う。

学習指導要領の目標にはこのように記述されています。
「見方・考え方を働かせ、活用する力を養う」ということがポイントでしょうか。
ということは、何かを形にしたり完成させることよりも、その過程やAとBの知識からCを導き出す力を養うことが大切なようです。

プログラミングでは何を学ぶ?

学習指導要領によると、以下のようです。

    コンピュータで情報が処理される仕組みに着目し,プログラミングやシミュレー
    ションによって問題を発見・解決する活動を通して,次の事項を身に付けることがで
    きるよう指導する。
    ア 次のような知識及び技能を身に付けること。
     (ア) コンピュータや外部装置の仕組みや特徴,コンピュータでの情報の内部表現と
    計算に関する限界について理解すること。
     (イ) アルゴリズムを表現する手段,プログラミングによってコンピュータや情報通
    信ネットワークを活用する方法について理解し技能を身に付けること。
     (ウ) 社会や自然などにおける事象をモデル化する方法,シミュレーションを通して
    モデルを評価し改善する方法について理解すること。
    イ 次のような思考力,判断力,表現力等を身に付けること。
     (ア) コンピュータで扱われる情報の特徴とコンピュータの能力との関係について考
    察すること。
     (イ) 目的に応じたアルゴリズムを考え適切な方法で表現し,プログラミングにより
    コンピュータや情報通信ネットワークを活用するとともに,その過程を評価し改
    善すること。
     (ウ) 目的に応じたモデル化やシミュレーションを適切に行うとともに,その結果を
    踏まえて問題の適切な解決方法を考えること。

問題を解決する手段としてプログラミングを活用する考え方を養うことがポイントでしょうか。
シミュレーションを行うためのプログラムが書ければ、指導内容は一気に解決です。
その際に、プログラムを使う場合と使わない場合を検証できるといいのでしょう。
ここに行きつくためには、アルゴリズムを理解する必要があります。
手順を追って一つひとつクリアしていくことです。
特定の言語を扱える人材を育成するのは、目的ではないように考えます。

まとめ

大学入試共通テストで登場する言語は、「大学入学共通テスト手順記述標準言語(DNCL)」という架空の言語です。
これまで、センター試験の工業数学(数学ⅡB)に登場していた言語と同じです。
情報Ⅰの科目のゴールが大学入試共通テストになってしまうと、世の中のリアルなプログラミング言語を学ぶ必要を感じません。
あくまで「情報Ⅰ」という科目のゴールは、「見方・考え方を働かせ、活用する力を養う」ことにあると考えます。
そうなると、2単位の授業の中ではあくまで教科の目標をきちんと目指すことが大切と考えます。
そうなると、大学入試対策はある意味で全く別枠になってきます。
授業に求められていることと、入試で求められていることがどんどん乖離していきます。
受験生はもちろん、教える側の負担も増えていますよね。
何が求められているのか、まだまだ模索です。

コメント

タイトルとURLをコピーしました