教育

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

生徒の主な業績

  • 未踏ジュニア 採択 ”リレーマスター” (文部科学省・経済産業省後援 50万円の資金援助)
  • 情報処理安全確保支援士 合格 (旧セキュリティスペシャリスト, 経済産業大臣より証書発行)
  • 基本情報技術者x2人 応用情報技術者 合格
  • AtCoder 緑x1人 茶x2人

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

概要

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

目的

  • プログラミングの考え方に重点を置いた授業を展開する(使い方の説明は最小限にとどめる)。
  • アルゴリズムを考えるうえで用いられる数学的なパズルを用いた演習を行い、
    数学(または物理)領域との接続を行う。
  • 情報系に興味を持つ高校生が各種情報系イベント(JOI、AtCoder等の競技プログラミング
    ・Security Camp・未踏事業など)での活動を楽しめるようサポートを行う。

言語

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

授業では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

備考

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

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

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

担当科目

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

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

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

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

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

関連サイト

 

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

 

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

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

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