教育

早大本庄 プログラミングプロジェクト

生徒の主な業績

  • 未踏ジュニア スーパークリエイター認定 ”リレーマスター” (文部科学省・経済産業省後援 50万円の資金援助)
  • 情報処理安全確保支援士 合格 (旧セキュリティスペシャリスト, 経済産業大臣より証書発行)
  • 基本情報技術者x2人 応用情報技術者 合格
  • パソコン甲子園予選成績優秀賞x4人
  • AtCoder 緑x3人
  • 数理の翼 選出(応募内容: トポロジーとタンパク質)
  • 日本情報オリンピック(JOI) 敢闘賞x4人

選択科目「プログラミング」 (担当: 飯島 涼)

概要

早稲田大学本庄高等学院にて「プログラミング」の 授業を担当しています。
高校3年生の希望者が履修可能な選択科目となります。
本科目は、早稲田大学にて情報工学の学士、修士号を取得し、情報・数学の教育免許を所持する講師
によって設計されています。
(普通科の)高等学校において、初の試みとなります。

目的

  • アルゴリズムを理解しながら、実際のプログラムに落とし込むことによって論理的思考力を身につける。
  • 数学・物理で習った内容をプログラム上で再現し、プログラミングの中に潜む理系的な要素を明らかにする。
  • プログラミングが楽しい・面白いと思える興味のきっかけを提供し、(私も)一緒に勉強を楽しむ。

言語

自然言語は日本語を使用する。(留学生・日本語が苦手な学生が含まれる場合は英語により別途対応)

授業ではPython, Pseudocodeを用いて説明を行うが、提出課題のプログラミング言語は C, C++, Java, Pythonの中から選択することができる。

 

参考資料

  • 渡辺有隆[著], Ozy・秋葉拓哉[協力], プログラミングコンテスト攻略のためのアルゴリズムとデータ構造, マイナビ, 2015
  • Bill Lubanovic[著], 斉藤康毅[監訳], 長尾高広[訳], 入門 Python3, O’REILLY Japan, 2015
  • 大重美幸[著], 詳細! Python3 入門ノート, ソーテック社, 2017
  • ロベール[著], ロベールのC++入門講座, マイナビ, 2007
  • Anany Levitin, Maria Levitin[著], Algorithmic Problem Solving with Puzzles and Games, O’REILLY, 2014
  • 北村 愛実, Unityの教科書 Unity2019完全対応版 2D&3Dスマートフォンゲーム入門講座, SBクリエイティブ, 2019

備考

授業中、理解度確認のために生徒にアルゴリズムの考え方を説明してもらうことがある。

雑談として、講師が趣味で作成するソフトウェア・ハードウェアの共有を行う。

その他、情報領域やそれにかかわる科目に隠された斬新でシュールな考え方・アイディアを共有する。

担当科目

  • プログラミング(高3)
  • 情報の科学(高1・高2)

ゲームプログラミングで学ぶ高校数学・物理 (合宿)

ゲームエンジン “Unity” を使って,高校数学・物理の内容をおさらいしながらゲームを作って遊びました.物理で習った法則をゲームエンジンの中で変更する・ベクトルや三角関数を使ってキャラクターを動かすなど,習った内容をゲームに適用しながら実際に遊べるところまで落とし込みました.

バグが生じた場合には,数学的・物理的にバグの原因を考察し,バグを取り除くためにはどうすれば良いかについて考えました.役に立つかどうかはさておき,知的に遊んで楽しむための勉強をはじめてみませんか?

関連キーワード: ゲームエンジン (Unity),ベクトル,三角関数,重力,斜方投射,行列,当たり判定

 

これがサイエンスだ!合宿 2018 情報部門

早大本庄の高校生を対象に、プログラミングを活用した理系向けの合宿を行いました。RSA暗号をPythonにより実装し、 実際の通信を行った後、暗号の解読に使われる攻撃を体験してもらいました。

また、仮想のwebサービスに対してデータの改ざんを行う実験をしました。 上記の体験を通して、安全に情報技術を使うためにはどうするべきかについて考えてもらいました。

関連キーワード: 公開鍵暗号(RSA), 素因数分解, 剰余, Linuxサーバ, Python, 拡張ユークリッドの互除法

関連サイト

 

上記の活動は、情報倫理にかかわる適切な説明を伴って行われています。

 

対応可能な質問のジャンル

  • 言語(C, C++, Java, Pythonなど, オブジェクト指向, (基本的な)デザインパターンなど)
  • マイコン(Raspberry Pi, Arduino, 各種センサなど)
  • 機械学習(証明、ライブラリを用いない実装、Tensorflow-Keras)
  • 音声(音声認識、超音波周り)
  • マルチエージェントシステム(強化学習)
  • セキュリティ(ハニーポット, パスワード, IoT, センサ)
  • 自然言語処理
  • 物理エンジン(Unity)
  • (基本的な)通信方式
  • 情報教育

その他新しい技術や私が知らない内容でも、一緒に学習して対応します。