活動の記録

タグ:授業紹介

【授業紹介】研究発表会 課題研究(3年・必修)

自分でテーマを設定し、今まで学んできた知識や技術を総動員して探究活動を行っていく課題研究。

その総まとめの発表会を、3日間に渡って行いました。

 

情報技術科の課題研究は2年次からテーマ設定を行い、3年次から活動を開始。基本的に1人1テーマです。

スライドを用いて発表し、その後に生徒・教員からの質疑応答という流れで行いました。

 

 

また、2日目は2年生が見学をしました。2年生向けの発表会を務めた生徒のテーマを簡単に紹介します。

鈴木大地「複雑な図形の単純化」

  

 

読み込ませた図形の概形を認識して、それを簡略化したものを自動で生成するアルゴリズムを考え、プログラムを作成しました。

作成したプログラムを実際に動作させると様々な問題点が浮かび上がってきましたが、一つ一つ対策を考えてプログラムを修正することができました。

 

平川心菜「MASを用いた感染症拡大シミュレーションの実装」

  

 

Google Colaboratoryというサービス をローカル環境で正しく動作するように移植しました。

それを用いて感染症拡大のシミュレーションを行い、得られた結果から考察を行いました。

 

堀内 陽「画像生成AIを用いた画像修正」

  

 

Stable Diffusionという画像生成AIを用いて実際に画像を生成し、そこで出た課題点を修正できないか試行錯誤しました。

 

鈴木莉名「自立制御ロボットの製作」

  

 

複数人で協働して自立制御ロボットを制作し、高校生のロボット大会に出場しました。

残念ながら大会では負けてしまいましたが、失敗の要因を推測し、修正案を考えることができました。

 

松下竜之「食堂の空席表示」

  

 

どうしても給食の時に混雑してしまう食堂。

空席が一目で分かれば便利ではないかと考え、Raspberrypiという小型コンピュータとカメラを用いて人体の自動検出を試みました。

実用化には至りませんでしたが、光の強さなどの外的要因の影響を受けないシステムを構築することがいかに難しいか、体感することができました。

 

2年生に発表する緊張から解放された生徒達。立派な発表でした。

是非2年生も自分なりのテーマを見つけ、1年間向き合って欲しいと思います。

 

 

【授業紹介】C言語 プログラミング技術(1年・必修)

 

1年生のC言語の学習が12月よりスタートしました。

C言語はプログラミング言語の中でも最もポピュラーな言語の一つです。

 

しかし、コンピュータの仕組みを正しく理解していないと、真に効率の良いプログラムを書くことはできません

そこで、本校では1年次においていきなりC言語を学習するのではなく、まずはアセンブリ言語とPAD図を学び、その上でC言語の学習に入ります。

これにより、メモリがどのように使われるか、データがどのように格納されているか等をイメージを持ちながらプログラムを作ることができます。

 

初回の授業では、C言語をコーディングするためのツールとしてVS Codeのセッティングを行い、簡単なプログラムの作成と実行を行いました。

 

 

【授業紹介】グループプログラミング実習 放課後の様子 実習(2年・必修)

 

放課後に残ってグループプログラミング実習に取り組んでいる生徒達の様子です。

(詳しい授業内容についてはこちら → ①グルプロ授業 ②グルプロ発表会

 

もちろん、各々部活動に所属をしているので、うまく折り合いをつけながらうまくスケジュール管理をしていく必要があります。

ちなみに写真に、写っているグループは3名が運動部に所属しています。

 

 

取り組んでいる生徒の画面を共有してもらいました↓

 

誰がどのように編集したか等はGit(画面左側)でバージョン管理をします。

(画面をよく見てみると、希望が見えてきたlineED.hという表示名が… 努力の跡が垣間見えます)

右側にはコーディングの画面です。巨大なプログラムになるので、仕様をしっかりとコメントに残して共通認識を持ちながら作業を進めていきます。

 

生徒と話をしていると、冬休みはグループプログラミングや基本情報技術者試験の対策をしたいという声がちらほらと。

休みはしっかりと取りつつも、是非冬休みを有意義に使って欲しいと思います。

【授業紹介】グループプログラミング 発表会 実習(2年・必修)

 

先日、1・2年生の集大成となるグループプログラミング実習について紹介しました(前回の記事は→こちら)。

完成を目指すのは対話型のテキストエディタ(入力されたコマンドに応じてテキストの削除や追加を行うプログラム)。

生徒達は実社会での開発現場に近い形複数人でチームを組んで開発を行う・数千行にも及ぶプログラムを制作する・納期が決まっている・制作を依頼された時点では仕様が決まっていない)で開発を1か月進めてきました。

 

今日はその発表会が行われました。

 

 

 

どのようなスケジュールを組んだか、どのようなデータ構造にしたか、どのように仕様書を解釈したか、どんな機能を追加したか、各グループでスライドを制作して説明をします。

 

そして、発表の後はいよいよ自分たちが実装したテキストエディタのお披露目です。

今回開発を行ったテキストエディタはコマンドで動作するもので、例えば下に10行カーソル(ポインタ)を動かす場合は「10j」と入力し、文字を追加する場合は「a」と入力します。

教員の指示に従いながらコマンドを入力していき、使いやすさやバグの有無を確認していきます。

   

しっかりと実装できている部分もあれば、開発したテキストエディタで空のファイルを読み込むと謎の文字があったり、特定のシチュエーションになるとテキストが全て消えてしまったり…

想定外のバグが起こると笑いが起きつつも(実際の開発現場では笑いでは済みませんが…)、すぐに生徒同士で「~が原因じゃない?」と話し合いが始まります。

 

最後に、発覚したバグや不具合などを1週間以内に修正し、プログラムを提出(納品)することで本実習は終了となります。

生徒達からは

「計画を余裕をもって組んで開発を進めることで、多少遅れが出てしまったメンバーがいてもチーム全体でカバーすることができた」 

「開発を進めている途中で外部仕様を変更してしまうと他の部分にも影響が出てしまうので、開発前によく話し合って慎重に決定することが重要だと感じた」

「完成して達成感を味わうことができた」

「開発を進めていくためにはコーディング能力だけでなく、コミュニケーション能力も重要だと感じた」

「不具合に気づいても、自分が担当ではない部分のプログラムが原因だったりして、複数人で開発することの難しさを感じた」

等の感想があり、日々授業で学んでいることの大切さを再認識できたようです。

 

残りのグループの発表は年明けです。

冬休みの中でどれだけ自分たちで開発を進めるか、チームワークとリーダーのスケジュール管理能力が求められます。

【授業紹介】国家資格にチャレンジ 工業情報数理(1年・必修)

 

本日は工業情報数理の授業で基本情報技術者試験の問題にチャレンジしました。

 

工業情報数理は、情報分野に関する基礎知識を学ぶ教科です。

1年生はこれまでに、コンピュータの基本的な構成から始まり、2進数や16進数の計算・論理回路等について学習をしてきました。

その中で、単元ごとの振り返りも兼ねて、「ITエンジニアの登竜門」と呼ばれる基本情報技術者試験→公式サイト)の問題にもチャレンジをしています。

 

最近試験の制度が変わり、年2回(4月・10月)しか受験のチャンスがなかったのが年間通して随時受験できるようになりました。

よって、1年生でも冬季以降の努力次第で十分に合格できるチャンスができたと言えます。

 

合格率30%以下の国家資格と聞くと高校生には難しいように思えますが、過去の先輩方は1学年につき何人も合格者を出しています。

時間を有効活用し、地道な努力ができる人間を目指して努力を重ねていきます。