検索したい科目/教員名/キーワードを入力し「検索開始」ボタンをクリックしてください。
※教員名では姓と名の間に1文字スペースを入れずに、検索してください。
令和元年度以前入学者 | 情報科学研究2 | ||||
---|---|---|---|---|---|
教員名 | 戸田誠之助 | ||||
単位数 | 4 | 学年 | 4 | 開講区分 | 文理学部 |
科目群 | 情報科学科 | ||||
学期 | 後期 | 履修区分 | 必修 |
授業の形態 | 課題研究(15回)。 Blackboardや電子メイルを利用して次のように授業を実施する。 ・情報科学講究1・2(3年次)および情報科学研究1(4年次前学期)に引き続いて, 各自の教科書に関する説明資料(プレゼン資料)を作成して提出する。 ・当該教員からプログラミングに関する課題を提示するので,授業時間内にそれらの解答(プログラム)を提出する。 授業時間内に解決できなかった課題については,その授業から5日以内に解決して提出する. ・当該教員から複数の研究テーマを提示し,それらの一つを調査・研究する. ・電子メイルまたはBlackboard上の掲示板などを利用して,授業時間内に質問を受け付けたり,訂正事項や補足事項を説明する。 ・Blackboard ID: 月曜3限→20203331 , 月曜4限→20203332 |
---|---|
授業概要 | プログラムとプログラミングについて理解を深める。前学期に続けて,選択したプログラミング言語に関して調査・研究を行うとともに,各自の研究テーマに取り組む。また,プレゼンテーションの方法についても合わせて学習していく。 |
授業のねらい・到達目標 | プログラミング言語処理系の内部構造や関数型プログラミングによるアプリケーション開発やプログラムの基礎理論が理解できる. 代数的アルゴリズムや記号処理システムについて,基礎理論と実装方法が理解できる. この科目は文理学部(学士(理学))のディプロマポリシーDP6及びカリキュラムポリシーCP9に対応している。 |
授業の方法 | 前学期と同様に,基礎資料を学習しながら,さらには実際のソフトウェアを開発しながら各自の言語について理解を深めていく。毎回の授業では,学習や開発した内容をまとめて発表する。必要に応じて,専門文献を調査する。以下の授業計画は一つのモデルケース(プログラミング言語処理系を調査・研究する場合)を示していることに注意して欲しい。さらに,調査・研究の成果として中規模のソフトウェアを開発する. |
履修条件 | 学科内規による。 |
授業計画 | |
---|---|
1 |
ごみ集め:マークスイープ回収法
【事前学習】発表用資料を準備する (4時間) 【事後学習】ごみ集めについて理解を深める (4時間) |
2 |
ごみ集め:複写回収法
【事前学習】発表用資料を準備する. (4時間) 【事後学習】ごみ集めについて理解を深める. (4時間) |
3 |
ごみ集め:世代別回収法,漸進的回収法,Bakerのアルゴリズム
【事前学習】発表用資料を準備する. (4時間) 【事後学習】ごみ集めについて理解を深める. (4時間) |
4 |
オブジェクト指向プログラミング言語:クラス,単一継承
【事前学習】発表用資料を準備する. (4時間) 【事後学習】オブジェクト指向について理解を深める. (4時間) |
5 |
オブジェクト指向プログラミング言語:多重継承
【事前学習】発表用資料を準備する. (4時間) 【事後学習】オブジェクト指向について理解を深める. (4時間) |
6 |
オブジェクト指向プログラミング言語:クラスメンバーシップの検査
【事前学習】発表用資料を準備する. (4時間) 【事後学習】オブジェクト指向について理解を深める. (4時間) |
7 |
関数型プログラミング言語:閉包
【事前学習】発表用資料を準備する. (4時間) 【事後学習】関数型プログラミングについて理解を深める. (4時間) |
8 |
関数型プログラミング言語:変更不能変数
【事前学習】発表用資料を準備する. (4時間) 【事後学習】関数型プログラミングについて理解を深める. (4時間) |
9 |
関数型プログラミング言語:インライン展開
【事前学習】発表用資料を準備する. (4時間) 【事後学習】関数型プログラミングについて理解を深める. (4時間) |
10 |
関数型プログラミング言語:閉包変換,末尾再帰
【事前学習】発表用資料を準備する. (4時間) 【事後学習】関数型プログラミングについて理解を深める. (4時間) |
11 |
関数型プログラミング言語:遅延評価
【事前学習】発表用資料を準備する. (4時間) 【事後学習】関数型プログラミングについて理解を深める. (4時間) |
12 |
関数型プログラミング言語:ストリクト解析
【事前学習】発表用資料を準備する. (4時間) 【事後学習】関数型プログラミングについて理解を深める. (4時間) |
13 |
明示的に型付けられた多相言語
【事前学習】発表用資料を準備する. (4時間) 【事後学習】多相性について理解を深める. (4時間) |
14 |
多相型検査
【事前学習】発表用資料を準備する. (4時間) 【事後学習】多相性について理解を深める. (4時間) |
15 |
暗黙的に型付けられた多相言語と型推論アルゴリズム
【事前学習】発表用資料を準備する. (4時間) 【事後学習】型推論について理解を深める. (4時間) |
その他 | |
---|---|
教科書 | Andrew W. Appel著/神林靖,滝本宗宏訳 『最新コンパイラ構成技法』 翔泳社 2009年 第1版 |
参考書 | 使用しない |
成績評価の方法及び基準 | レポート:授業時間内での課題への取り組みの状況と(授業時間外であっても)課題を完結するか否かをもとに評価する。(50%)、授業参画度:毎回の発表用資料(レジメ,プレゼン資料等)をもとに評価する.(50%) ・毎回の発表用資料は必ず提出すること。 ・授業時間内に解決できなかった課題への取り組みとプレゼン資料の作成との時間配分に注意すること。 ・課題については授業時間内に可能な限り解決し,残った部分については今学期中に解決するくらいの気持ちでよい。 |
オフィスアワー | 電子メイル等によって随時対応する。 |
備考 | 前学期に比べてさらに学習内容が高度になるので,すべてのプログラミング課題に取り組む必要がある。単にプログラムを作ればよいというのではなく,プログラムの処理内容を適切に説明することや,処理手順の正当性や効率性について根拠を提示することも目標としながら学習に取り組んで欲しい。 |