情報技術科
【授業紹介】グループプログラミング 発表会 実習(2年・必修)
先日、1・2年生の集大成となるグループプログラミング実習について紹介しました(前回の記事は→こちら)。
完成を目指すのは対話型のテキストエディタ(入力されたコマンドに応じてテキストの削除や追加を行うプログラム)。
生徒達は実社会での開発現場に近い形(複数人でチームを組んで開発を行う・数千行にも及ぶプログラムを制作する・納期が決まっている・制作を依頼された時点では仕様が決まっていない)で開発を1か月進めてきました。
今日はその発表会が行われました。
どのようなスケジュールを組んだか、どのようなデータ構造にしたか、どのように仕様書を解釈したか、どんな機能を追加したか、各グループでスライドを制作して説明をします。
そして、発表の後はいよいよ自分たちが実装したテキストエディタのお披露目です。
今回開発を行ったテキストエディタはコマンドで動作するもので、例えば下に10行カーソル(ポインタ)を動かす場合は「10j」と入力し、文字を追加する場合は「a」と入力します。
教員の指示に従いながらコマンドを入力していき、使いやすさやバグの有無を確認していきます。
しっかりと実装できている部分もあれば、開発したテキストエディタで空のファイルを読み込むと謎の文字があったり、特定のシチュエーションになるとテキストが全て消えてしまったり…
想定外のバグが起こると笑いが起きつつも(実際の開発現場では笑いでは済みませんが…)、すぐに生徒同士で「~が原因じゃない?」と話し合いが始まります。
最後に、発覚したバグや不具合などを1週間以内に修正し、プログラムを提出(納品)することで本実習は終了となります。
生徒達からは
「計画を余裕をもって組んで開発を進めることで、多少遅れが出てしまったメンバーがいてもチーム全体でカバーすることができた」
「開発を進めている途中で外部仕様を変更してしまうと他の部分にも影響が出てしまうので、開発前によく話し合って慎重に決定することが重要だと感じた」
「完成して達成感を味わうことができた」
「開発を進めていくためにはコーディング能力だけでなく、コミュニケーション能力も重要だと感じた」
「不具合に気づいても、自分が担当ではない部分のプログラムが原因だったりして、複数人で開発することの難しさを感じた」
等の感想があり、日々授業で学んでいることの大切さを再認識できたようです。
残りのグループの発表は年明けです。
冬休みの中でどれだけ自分たちで開発を進めるか、チームワークとリーダーのスケジュール管理能力が求められます。
【授業紹介】国家資格にチャレンジ 工業情報数理(1年・必修)
本日は工業情報数理の授業で基本情報技術者試験の問題にチャレンジしました。
工業情報数理は、情報分野に関する基礎知識を学ぶ教科です。
1年生はこれまでに、コンピュータの基本的な構成から始まり、2進数や16進数の計算・論理回路等について学習をしてきました。
その中で、単元ごとの振り返りも兼ねて、「ITエンジニアの登竜門」と呼ばれる基本情報技術者試験(→公式サイト)の問題にもチャレンジをしています。
最近試験の制度が変わり、年2回(4月・10月)しか受験のチャンスがなかったのが年間通して随時受験できるようになりました。
よって、1年生でも冬季以降の努力次第で十分に合格できるチャンスができたと言えます。
合格率30%以下の国家資格と聞くと高校生には難しいように思えますが、過去の先輩方は1学年につき何人も合格者を出しています。
時間を有効活用し、地道な努力ができる人間を目指して努力を重ねていきます。
【授業紹介】グループプログラミングに挑戦 実習(2年・必修)
ついにこの時がやってきました。
2年生がグループプログラミング実習に取り組んでいます。
授業でプログラミングを学ぶ場合、自分一人でコンピュータに向かい、コードを書いたり問題を解いたりするのが基本です。
しかし、実社会でプログラム開発を行う場合、複数人で協働して一つのプロジェクトを進めていくことがほとんどです。
そこで、本校の情報技術科では実社会でも通用するプログラマを目指して、1グループ4~5名の生徒が協力しながら、約3000~5000行にも及ぶ大規模なプログラム(実社会で動くプログラムに比べればまだまだ小さな規模ですが、高校生にとっては未知の世界)の制作に挑むグループプログラミング実習を実施しています。
プログラミングに馴染みのない方からすると、一人でプログラミングを行うことと、複数人でプログラミングを行うことの違いにいまいちピンと来ないかもしれませんが、この2つは全くといっていいほどに別物です。
イメージとしては、一つの小説を一人で書くか、複数人で書くかぐらいの違いがあります。複数人で書けば、その分負担は軽減されますが、登場人物の設定や表現、ストーリーなどにズレが生じ、最悪の場合は物語として成立しなくなってしまいます。
プログラミングも同じで、複数人で制作を行う場合、データの入れ物である変数や配列、制御構造に対して共通理解をした上でプログラミングを行っていかなければ、エラーやバグだらけのプログラムになってしまいます。さらに、プログラムは後から仕様が追加されて書き直しが必要になったり、機能を追加しなければならなくなったりすることがほとんどなので、その点も考慮して美しく、堅牢なコードを書いていく必要があります。
ただ、この「実社会では複数人で協働してプログラミングを行う」という前提をしっかりと踏まえた上で、本校のプログラミングの授業は計画されています。
与えられた課題に対していきなりプログラムを作り始めるのではなく、要求を徐々に詳細化・具体化して整理してから開発を行う段階的詳細化の考え方。
複雑なシステムを「モジュール(部品)」の集合体として捉えて開発を行い、変更があった場合に全体を修正するのではなく必要最小限の部分だけ修正をすれば済むように開発を進めるモジュール化の考え方。
これらについては既習の内容です。この実習では、これまでに学んだ知識と日々の課題で培った経験を総動員して、プログラムを制作していきます。
今回 、完成を目指すのは簡易的なテキストエディタです。特定のコマンドを入力したときに、与えられた文章に対して文字の追加や行の削除等を行うソフトウェアの実装を行います。
開発はGitを用いてしっかりとバージョン管理を行い、実装を担当する範囲やスケジュールも自分たちで調整します。そして、約1か月に及ぶ制作期間を経た後、制作したプログラムの発表会を行う予定です。本日はGitの説明と課題の説明、グループ分けを行いました。
これまで学んできた内容がどれだけ活かせるか、情報技術者として自分がどれだけ成長できているか、ここが試金石になります。
【SSH】静岡大学主催 探究・情報コンテストにてポスター発表を行いました
静岡大学浜松キャンパスで行われた「高校生探究・情報コンテスト」に海外研修のメンバーが参加しました。
修学旅行の出発前日という日程でしたが、参加メンバーにとっては非常に実りのある1日となりました。
公式サイトはこちら←
参加者は高校生のみですが、静岡大学浜松キャンパスの「テクノフェスタ」が開催される中での実施となりましたので、一般の方をはじめ様々な方に発表を聞いていただくことができました。
発表はポスター形式で行われ、自分たちの研究を見つめ直すきっかけとなったことはもちろんのこと、他校の生徒との交流もすることができ、良い刺激となりました。
発表を聞いた方のコメントとしては、
・訪問先であるエストニアのIT事情がここまで先進的だとは知らなかった
・データのみならず、アンケートやインタビューなどの裏付けがしっかりとできている
といったものを頂きました。
残念ながら賞を取ることはできませんでした(奨励賞まであと一歩でした)が、今回の発表を糧に、これから2月の渡航に向けて不足している部分を詰めていきます。
今年は計画段階での発表となりましたが、来年度は研修実施後の発表を行い、リベンジを果たしたいと思います。
【SSH】中学生向けプログラミング教室
海外研修に参加するメンバーによる中学生向けプログラミング教室が、三日間に渡り開催されました。
今年の海外研修はプログラミング教育をテーマに研究活動を進めています。
今回は渡航前の事前活動ということで小規模で実施をし、渡航後に学んだことを活かしてより大きな規模でプログラミング教室を実施をする予定です。
1日目:フローチャートなどプログラミングの基礎
プログラミングの基礎となるフローチャートやコードの書き方について学習してもらいました。
2日目:繰り返しや配列
少し応用的な内容に取り組んでもらいました。短い時間の中で配列について理解することは、教える側にとっても、教わる側にとっても難しかったようです。
3日目:演習「信号機の製作」
ハードウェア(マイコン) との連携を行い、3色のLEDの点灯制御を行い信号機を再現しました。この小さな基板がコンピュータであることを聞いたときに非常に驚いている様子で、思い通りにLEDを制御できたときには喜びの声があがっていました。
授業計画や授業で使うプリント等、全てを一から生徒達が準備したこともあり、予定していた内容を全て消化することはできませんでしたが、それも含めて良い経験になりました。
天候が優れない中での開催にも関わらずご参加頂きました天竜中の皆さん、ありがとうございました。
この後海外研修に参加するメンバーは、夏休み後半から英会話の指導を受けながら、11月に参加する研究発表会への準備を進めていきます。
学校の代表として参加する自覚をもち、テストや行事を言い訳にすることなく、少しずつ積み重ねていきます。
【SSH】海外研修参加メンバーが静岡大学の野口先生よりご指導頂きました
SSH(スーパー・サイエンス・ハイスクール)の取組の一環として海外研修に参加する情報技術科2年のメンバーが、静岡大学・情報学部の野口准教授より研究内容についてのご指導を頂きました。
研究テーマはプログラミング教育で、世界最高峰のIT先進国に渡航する予定で計画を立てています。
現在、8月に実施する中学生向けのプログラミング教室で使用する教材の開発を進めており、現状の成果と課題を野口先生に発表しました。
野口先生には、海外研修への参加グループを決める選考会の時にもご指導頂いており、生徒達が大学の先生の指摘の鋭さや発想の豊かさに直接触れることができ非常に良い経験となっていると感じます。
お忙しい中のご指導、誠にありがとうございました。
自分たちの海外研修のために多くの方々が尽力して頂いていることに感謝し、それに報いることができるよう、より一層研究活動に勤しんでいきます。
基本情報技術者試験(FE) 2名合格!
IPA主催の国家資格・基本情報技術者試験にEi科から2名の合格者が出ました。
(公式ページ:https://www.ipa.go.jp/shiken/kubun/fe.html)
内田 侑希(情報技術科2年・情報処理部)
佐々木晴都(情報技術科2年・知的制御研究部)
基本情報技術者試験は「ITエンジニアの登竜門」とも呼ばれる試験で、情報に関する分野から幅広く出題がされます。
受験者比率はおよそ学生3割・社会人7割、合格率は全体で平均して25%前後。
今回は受験形式が変更された初月ということで合格率が高かったようですが、それを差し引いても高校生にとっては生易しいものではありません。
授業や部活動の合間を縫って、1年次の春休み前から着々と準備を進めた努力が実を結ぶ形となりました。
更に上のランクの試験である応用情報技術者試験(AP)も十分射程圏内なので、是非今後も頑張って欲しいと思います。
情報技術科3年生 会社見学・大学見学
6月6日(火)情報技術科の3年生が会社見学と大学見学へ行ってきました。
見学したのは「株式会社アイシン」と「豊橋技術科学大学」です。
アイシンでは、会社概要の説明を受けた後、主に「アイシン学園」を見学しました。アイシン学園はものづくりの現場で活躍するリーダーを養成する企業内訓練校です。
見学終了後、学園修了後の配属先や取得しておくと良い資格、寮生活、女性のの割合や仕事内容などの質問が出ました。
株式会社アイシンにて |
豊橋技術科学大学では、大学概要の説明を受けた後、「電気・電子情報工学」と「情報・知能工学」課程の研究室を見学させていただきました。
高度な研究内容に「難しそう」という感想が多く聞かれましたが、社会に役立つ研究の一端に触れ、興味を惹かれたようです。
情報技術科では四割ぐらいの生徒が進学しますが、是非自分の進路選択の参考にしてもらいたいと思います。
豊橋技術科学大学にて |
【授業紹介】LANケーブルの製作 ネットワーク技術(3年・選択)
今年もネットワーク技術の実習が始まりました。
今回は初回ということで、今後自分たちが実習で用いるLANケーブルを自作しました。
LANケーブルは確実な通信を行うために、磁束を打ち消すよう内部の配線をねじってあったり、心線やプラグに様々な種類があったり、多くの工夫がなされています。そういった座学で学んだ知識を実物を見て確かめながら、製作を進めていきました。
内部のやや硬めの信号線を真っすぐに手で伸ばし、切りそろえてからプラグに差し込み圧着します。
口で言うのは簡単ですが、丁度いい長さに切りそろえ、心線とプラグの内部がしっかりと圧着できなければならないので、慣れるまではなかなかうまく作れません。
完成したら、最後にテスターを用いて導通のチェックをします。今回は両端の結線が同じ配列になるストレートケーブルを製作したので、「ストレートケーブル OK」と画面に表示されれば、通信ができるケーブルが完成した証拠です。
一発でOKが出て喜ぶ生徒もいれば、エラーが出てしまい泣く泣く作り直す生徒も…
早々とOKが出た生徒達には、授業で使うLANケーブルの修理をお願いしました。
次の実習はリピータハブとスイッチングハブの特性の違いについて、実際にネットワークを構築しながら学んでいきます。
今後も知識だけに偏ることなく、技術に直接触れながら理解を深めていきます。
【授業紹介】1年生の工業基礎が始まりました
情報技術科で1年生の工業基礎が始まりました。1年生にとって初めての実習の授業です。
今日は、情報技術科のコンピュータ設備の基本的な使い方の説明を受けた後、これから毎日のように触ることになるキーボードに慣れるため、タイピングの基礎練習を始めました。
このタッチタイピング(キーを見ずに打つ技術)の修得が、情報技術科での最初の山場になります。これをおよそ三週間で身に着けます。
タッチタイピングにセンスは必要ありません。
手元を見ない・指を毎回ホームポジションに戻す・スピードよりもまずは正確性を求める、などなど…
さまざまなことを意識しながら、練習をコツコツと積み重ねていくことが上達の近道です。
まずは、キーボードを見ずに1分間100文字打てることを目指して練習します。この目標に到達できているかどうか、3週間後にテストが行われます。