授業の目的 【日本語】 Goals of the Course(JPN) | | 数理アルゴリズムとデータ構造について学ぶ.
アルゴリズムを理解し, アルゴリズムの標準的な実装(プログラミング)を行えるようになること. プログラミング言語そのものの習得は目的ではない.
また必要に応じて自ら簡単なアルゴリズムの考案ができるようになること.
プログラミング言語として OCaml を使う予定である.(https://ocaml.org/) |
|
|
授業の目的 【英語】 Goals of the Course | | This course introduces some mathematical algorithms and data structures.
It will be taught using OCaml. (https://ocaml.org/) |
|
|
到達目標 【日本語】 Objectives of the Course(JPN)) | | 学んだ数理アルゴリズムを理解し, 実際に指定のプログラミング言語を用いてプログラミングできるようになること. |
|
|
到達目標 【英語】 Objectives of the Course | | At the end of the course, participants are expected to understand algorithms, and to be able to code them. |
|
|
授業の内容や構成 Course Content / Plan | | 毎週, 授業の前半を講義形式, 後半を実習形式で行う.
実習では授業中に提示した課題についてプログラミングを行う.
内容はプログラミング言語, プログラミングリテラシ, アルゴリズムで, プログラミング言語の解説は最初の7~8回程度にわけて少しづつ行う.
プログラミングリテラシは, コメントの書き方, 字下げの仕方, デバッグの仕方などで, こちらも毎回少しづつ紹介する.
アルゴリズムの解説は4~5回目あたりから行い, 主に取り扱うアルゴリズムは概ね以下の通り
・データ構造 (リスト/配列/木構造など)
・代数アルゴリズム (Euclidの互除法/Eratostenesの篩/行列計算など)
・探索アルゴリズム (8クイーン/一筆書き/Hamilton閉路問題など)
・ソーティング (バブルソート/クイックソート/マージソート)
基本的には整数アルゴリズムを主として学び, 数値計算など浮動小数点演算を多用するアルゴリズムについては取り扱わない. (数値計算等については4年生の授業で扱う.)
This course will be taught in Japanese. |
|
|
履修条件 Course Prerequisites | | 主に高等学校で履修する数学と, 数理学科3年前期までの数学の知識があればよい.
コンピュータ, プログラミングの細かな知識は不要だが, 実習時間を効率よく使うためにもタイピングがそこそこ速いとよい. |
|
|
関連する科目 Related Courses | | |
|
成績評価の方法と基準 Course Evaluation Method and Criteria | | 毎週課すレポートの合計点を元に総合的に評価を行う. |
|
|
不可(F)と欠席(W)の基準 Criteria for "Fail (F)" & "Absent (W)" grades | | 提出されたレポート問題が全体の2/3に満たない場合は欠席とする. |
|
|
参考書 Reference Book | | 浅井健一「プログラミングの基礎」サイエンス社,2007
大堀淳・ガリグ・西村進「コンピュータサイエンス入門1・アルゴリズムとプログラミング言語」岩波書店,1999 |
|
|
教科書・テキスト Textbook | | |
|
課外学習等(授業時間外学習の指示) Study Load(Self-directed Learning Outside Course Hours) | | プログラミングは手を動かして書かないと身につかないので, それなりの時間をとって訓練することが必要. |
|
|
注意事項 Notice for Students | | レポート提出はTACT経由で行うので, 各自ログインできることを確認しておくこと.
(https://tact.ac.thers.ac.jp/portal/)
履修手続き前にはTACTの講義サイトにアクセスできないので、個人ページ https://www.math.nagoya-u.ac.jp/~garrigue/lecture/ を参照のこと。(8/23現在準備中) |
|
|
他学科聴講の可否 Propriety of Other department student's attendance | | |
|
他学科聴講の条件 Conditions for Other department student's attendance | | |
|
レベル Level | | |
|
キーワード Keyword | | |
|
履修の際のアドバイス Advice | | 実習の時間は限られているので, 各自自分のPCなどにプログラミング環境をインストールしておくと学習が捗る.
これについての情報は近々個人ページにアップロードする. |
|
|
授業開講形態等 Lecture format, etc. | | 授業は講義(A-207セミナー室)、後半は実習を行う。
実習は理学部サテライトラボ(A-250)で行う。ただし受講生の人数が多すぎて座席が不足する場合は、サテライトラボのMacで実習を行う学生と、持参したノートPCで実習を行う学生(A-207セミナー室)に分かれて実習を行う。 |
|
|
遠隔授業(オンデマンド型)で行う場合の追加措置 Additional measures for remote class (on-demand class) | | |
|