授業の目的 【日本語】 Goals of the Course(JPN) | | 本講義は、連携大学院制度のもとで、主に本学理学部数理学科、多元数理科学研究科の卒業生で数学や数学的手法・思考を活かして社会や企業の第一線で活躍をする専門家の方々を客員教員として招聘して行うものである。
社会や企業における数学や数学的手法・思考の具体的な活用内容を学ぶことにより、学生が数学の社会における有用性を知り、また自身の将来の進路の選択肢を広げることが可能になる。 |
|
|
授業の目的 【英語】 Goals of the Course | | | This course is given mainly by specialists actively working in the society and companies applying mathematics and mathematical method/thinking. Students learn the usability of mathematics in the society, and widen their choices of future career. |
|
|
到達目標 【日本語】 Objectives of the Course(JPN)) | | 企業の現場でおこなわれている、業務、研究活動などの概観を理解し、数学がどのように使われているかを体得する。またそれらについて簡明に説明ができるようにする。
今井:
ソフトウェアエンジニアの現場における数学の重要性を知り、プログラミング言語OCamlを通じて関数型プログラミングを学びます。
鈴木:
ゲームエンジンで利用される数学を通じて、ソフトウェアエンジニアの職位における数学の重要性を理解できる。
伊藤:
・公開鍵基盤(PKI: Public Key Infrastructure)とその応用技術について理解する
①電子署名の検証の仕組みを理解する
②SSL/TLSのサーバー認証の仕組みを理解する |
|
|
到達目標 【英語】 Objectives of the Course | | The students aim to understand the overview of research and other related works at companies. They are encouraged to look for places where mathematics are employed. Also, it will be good that if they can explain these points to others.
IMAI:
Understand the importance of mathematics in the field of software engineering and learn functional programming through the OCaml programming language.
SUZUKI:
This course enables students to recognize the significance of mathematics in software engineering by examining the mathematics underlying game engines.
ITO:
・Understand Public Key Infrastructure (PKI) and its application technologies
①Understand the mechanism for verifying digital signatures
②Understand the mechanism for server authentication in SSL/TLS |
|
|
授業の内容や構成 Course Content / Plan | | 今井:
ソフトウェアエンジニアの現場において、数学的に厳密な議論ができることはとても重要です。OCamlを使った関数型プログラミングを学ぶことで、ソフトウェア開発現場で役に立つ数学について学びましょう。
鈴木:
ゲームエンジンの中でもグラフィックスの話が中心となります。
授業の過程で変更する場合もあります。
1. ゲームエンジンと数学利用例
2. GPUとリアルタイムグラフィックス
3. 光学モデル事例 - シェーディング
4. 光学モデル事例 - 影
5. 光学モデル事例 - 大域照明 / 反射
伊藤:
①公開鍵暗号技術の概略
②PGP: Pretty Good Privacy
③公開鍵基盤(PKI: Public Key Infrastructure)
(1)電子署名の検証
(2)SSL/TLSのサーバー認証
④公開鍵暗号のアルゴリズム
(1)RSA暗号
(2)ElGamal暗号
(3)Diffie-Hellmannの鍵交換
(4)楕円曲線暗号(概略) |
|
|
履修条件 Course Prerequisites | | 特になし
This course will be taught in Japanese. |
|
|
関連する科目 Related Courses | | |
|
「履修取り下げ届」提出の要・不要 Necessity / Unnecessity to submit "Course Withdrawal Request Form" | | |
|
履修取り下げの条件等 Conditions for Course Withdrawal | | |
|
成績評価の方法と基準 Course Evaluation Method and Criteria | | | レポートなどによる学習成果点で評価を行う。詳細については、初回講義配布資料で説明をする。 |
|
|
不可(F)と欠席(W)の基準 Criteria for "Fail (F)" & "Absent (W)" grades | | | 履修取り下げ(「欠席(W)」評価)を希望する場合は、所定の履修取り下げ届を多元数理科学研究科教育研究支援室に提出するか、TACTのメッセージ機能により教育研究支援室の西脇(NISHIWAKI Yumiko)あてに取り下げを申し出る。履修取り下げの期限は講義最終日とする。 |
|
|
参考書 Reference Book | | 今井:
入門OCaml ~プログラミング基礎と実践理解~, 毎日コミュニケーションズ
プログラミング in OCaml ~関数型プログラミングの基礎からGUI構築まで~, 技術評論社
鈴木:
CGは数学でできている, 安生 健一, 2023, 日本評論社
ゲームエンジンアーキテクチャ 第3版, ジェイソン・グレゴリー, 2020, ボーンデジタル
GPUを支える技術 [増補改訂], Hisa Ando, 2021, 技術評論社
伊藤:なし |
|
|
教科書・テキスト Textbook | | 今井:講義資料は、講義担当者が用意します。
鈴木:なし
伊藤:なし |
|
|
課外学習等(授業時間外学習の指示) Study Load(Self-directed Learning Outside Course Hours) | | | 講義の復習を行うとともに、可能なら自主的に関連項目について調べる。 |
|
|
注意事項 Notice for Students | | 講義実施の詳細については、初回講義配布資料で説明する。
講義担当は以下の3名です。
今井宜洋(株式会社proof ninja)、
鈴木 晃(株式会社ディンプス)、
伊藤昭浩(おなかをすかせた)
この講義は金曜日(3時限、4時限)または水曜日(3時限、4時限)に開講します。
学期中の日程および場所の変更はTACTと多元数理科学研究棟1F掲示板でお知らせします。 |
|
|
他学科聴講の可否 Propriety of Other department student's attendance | | |
|
他学科聴講の条件 Conditions for Other department student's attendance | | |
|
レベル Level | | |
|
キーワード Keyword | | 今井:OCaml, 数学, プログラミング, 関数型プログラミング, Coq, 証明, ソフトウェアエンジニア
鈴木:ゲームエンジン, グラフィックス
伊藤:公開鍵暗号、RSA暗号、公開鍵基盤(PKI)、電子署名 |
|
|
履修の際のアドバイス Advice | | 鈴木:わからない箇所は質問して下さい。
授業や課題に対する難易度(難しすぎる/易しすぎる等)などについてもあればコメントして下さい。
伊藤:公開鍵基盤(PKI)は、見えない相手を認証するための技術であり、電子署名の検証やSSL/TSLにおけるサーバー認証などに利用されています。公開鍵基盤は、その名の示すとおり、まさに現在の社会インフラです。皆さんが社会人になるにあたって、文理を問わず、マスターしていただきたい技術です。 |
|
|
授業開講形態等 Lecture format, etc. | | | 対面で実施する、もしくは、TACTによる遠隔講義で実施する。 |
|
|
遠隔授業(オンデマンド型)で行う場合の追加措置 Additional measures for remote class (on-demand class) | | |
|