活動の記録

【授業紹介】グループプログラミングに挑戦 実習(2年・必修)

 

ついにこの時がやってきました。

2年生がグループプログラミング実習に取り組んでいます。

  

 

授業でプログラミングを学ぶ場合、自分一人でコンピュータに向かい、コードを書いたり問題を解いたりするのが基本です。

しかし、実社会でプログラム開発を行う場合、複数人で協働して一つのプロジェクトを進めていくことがほとんどです。

 

そこで、本校の情報技術科では実社会でも通用するプログラマを目指して、1グループ4~5名の生徒が協力しながら、約3000~5000行にも及ぶ大規模なプログラム(実社会で動くプログラムに比べればまだまだ小さな規模ですが、高校生にとっては未知の世界)の制作に挑むグループプログラミング実習を実施しています。

 

プログラミングに馴染みのない方からすると、一人でプログラミングを行うことと、複数人でプログラミングを行うことの違いにいまいちピンと来ないかもしれませんが、この2つは全くといっていいほどに別物です。

 

イメージとしては、一つの小説を一人で書くか、複数人で書くかぐらいの違いがあります。複数人で書けば、その分負担は軽減されますが、登場人物の設定や表現、ストーリーなどにズレが生じ、最悪の場合は物語として成立しなくなってしまいます。

プログラミングも同じで、複数人で制作を行う場合、データの入れ物である変数や配列、制御構造に対して共通理解をした上でプログラミングを行っていかなければ、エラーやバグだらけのプログラムになってしまいます。さらに、プログラムは後から仕様が追加されて書き直しが必要になったり、機能を追加しなければならなくなったりすることがほとんどなので、その点も考慮して美しく、堅牢なコードを書いていく必要があります。

 

ただ、この「実社会では複数人で協働してプログラミングを行う」という前提をしっかりと踏まえた上で、本校のプログラミングの授業は計画されています。

与えられた課題に対していきなりプログラムを作り始めるのではなく、要求を徐々に詳細化・具体化して整理してから開発を行う段階的詳細化の考え方。

複雑なシステムを「モジュール(部品)」の集合体として捉えて開発を行い、変更があった場合に全体を修正するのではなく必要最小限の部分だけ修正をすれば済むように開発を進めるモジュール化の考え方。

 

これらについては既習の内容です。この実習では、これまでに学んだ知識と日々の課題で培った経験を総動員して、プログラムを制作していきます。

 

今回 、完成を目指すのは簡易的なテキストエディタです。特定のコマンドを入力したときに、与えられた文章に対して文字の追加や行の削除等を行うソフトウェアの実装を行います。

 

 

開発はGitを用いてしっかりとバージョン管理を行い、実装を担当する範囲やスケジュールも自分たちで調整します。そして、約1か月に及ぶ制作期間を経た後、制作したプログラムの発表会を行う予定です。本日はGitの説明と課題の説明、グループ分けを行いました。

 

 

これまで学んできた内容がどれだけ活かせるか、情報技術者として自分がどれだけ成長できているか、ここが試金石になります。