検索したい科目/教員名/キーワードを入力し「検索開始」ボタンをクリックしてください。
※教員名では姓と名の間に1文字スペースを入れずに、検索してください。
令和2年度以降入学者 | 情報科学実習4 | ||||
---|---|---|---|---|---|
令和元年度以前入学者 | 情報科学実習4 | ||||
教員名 | 尾崎知伸 | ||||
単位数 | 1 | 学年 | 2 | 開講区分 | 文理学部 |
科目群 | 情報科学科 | ||||
学期 | 後期 | 履修区分 | 選択必修 |
授業の形態 | 対面授業 Blackboard ID:火曜3限→20224394 |
---|---|
授業概要 | C言語のポインタとデータ構造入門 |
授業のねらい・到達目標 | 効率の良いプログラムを作るには,問題に適したデータ構造を用いることが不可欠である.また,C言語を用いた実装では,代表的なデータ構造はポインタを使って実現されることもある.本講義では,C言語でポインタを使いこなせるようになることを目指す.C言語の復習を行ったのち,C言語でポインタを学び,連結リスト・二分探索木などの基本的なデータ構造をポインタを用いて実現し,それらの活用法を学ぶ.本講義を通して高度なデータ構造をC言語で運用できるようになる。 この科目は文理学部(学士(理学))のディプロマポリシーDP6及びカリキュラムポリシーCP9に対応している。 なお,新カリキュラム(令和2年度以降入学者対象)では,この科目は文理学部(学士(理学))のディプロマポリシー DP3-5及びカリキュラムポリシー CP3-5 に対応している。 ・既存の知識にとらわれることなく,物事を論理的・批判的に説明することができる。(A-3-2) ・日常生活における現象に潜む科学的問題を発見し,専門的知識に基づいて説明することができる。(A-4-2) ・新しい問題に取り組む意識を持ち,そのために必要な情報科学の知識・情報を収集することができる。(A-5-2) |
授業の方法 | 授業の形式:【実習】 実習(プログラム作成)を中心に進める. 対面授業に参加できない場合、以下の要件を満たす学生はZoomでの参加を認める。 (1)Zoom での参加を認める要件: 学部の方針に従う (2)対面授業に参加できない場合: Zoomで参加し、Blackboard に配信する課題を提出する。 |
履修条件 | 「実践プログラミング1」の内容を理解していることが望ましい. また並行して,「実践プログラミング2」を履修することが望ましい. |
授業計画 | |
---|---|
1 |
ガイダンス(授業のテーマや到達目標及び授業の方法について説明する) 実践プログラミング1の復習(配列・ポインタ)に関する実習(A-3-2, A-4-2) 【事後学習】配列・ポインタに関する実習内容を復習し,その内容を説明できるようになる (1時間) |
2 |
実践プログラミング1の復習(構造体)に関する実習(A-3-2, A-4-2)
【事後学習】構造体に関する実習内容を復習し,その内容を説明できるようになる (1時間) |
3 |
動的メモリ割り当てに関する実習
【事後学習】動的メモリ割り当てに関する実習内容を復習し,その内容を説明できるようになる (1時間) |
4 |
ポインタ・構造体・動的メモリ割り当てに関する総合実習(A-3-2, A-4-2)
【事後学習】ポインタ・構造体・動的メモリ割り当てに関する総合実習の内容を復習し,その内容を説明できるようになる (1時間) |
5 |
ポインタ・構造体・動的メモリ割り当てに関する復習・解説を行い,理解を深める(A-3-2, A-4-2, A-5-2)
【事後学習】ポインタ・構造体・動的メモリ割り当てに関する復習内容をまとめ,その内容を説明できるようになる (1時間) |
6 |
関数の再帰呼び出しに関する実習(A-3-2, A-4-2)
【事後学習】関数の再帰呼び出しに関する実習内容を復習し,その内容を説明できるようになる (1時間) |
7 |
リスト構造に関する実習(A-3-2, A-4-2)
【事後学習】リスト構造に関する実習内容を復習し,その内容を説明できるようになる (1時間) |
8 |
双方向リスト・循環リストに関する実習(A-3-2, A-4-2)
【事後学習】双方向リスト・循環リストに関する実習内容を復習し,その内容を説明できるようになる (1時間) |
9 |
リスト構造に関する総合実習(A-3-2, A-4-2, A-5-2)
【事後学習】リスト構造に関する総合実習の内容を復習し,その内容を説明できるようになる (1時間) |
10 |
リスト構造に関する復習・解説を行い,理解を深める(A-3-2, A-4-2, A-5-2)
【事後学習】リスト構造に関する復習内容をまとめ,その内容を説明できるようになる (1時間) |
11 |
木構造に関する実習(A-3-2, A-4-2)
【事後学習】木構造に関する実習内容を復習し,その内容を説明できるようになる (1時間) |
12 |
二分探索木:生成・挿入に関する実習(A-3-2, A-4-2)
【事後学習】二分探索木の生成・挿入に関する実習内容を復習し,その内容を説明できるようになる (1時間) |
13 |
二分探索木:ノード巡回・削除に関する実習(A-3-2, A-4-2)
【事後学習】二分探索木のノード巡回・削除に関する実習内容を復習し,その内容を説明できるようになる (1時間) |
14 |
木構造に関する総合実習(A-3-2, A-4-2)
【事後学習】木構造に関する総合実習の内容を復習し,その内容を説明できるようになる (1時間) |
15 |
これまでの復習・解説を行い,理解を深める(A-3-2, A-4-2, A-5-2)
【事後学習】木構造に関する復習内容をまとめ,その内容を説明できるようになる (1時間) |
その他 | |
---|---|
教科書 | 使用しない |
参考書 | 内田智史監修・システム計画研究所編 『C言語によるプログラミング基礎編』 オーム社 2020年 第3版 柴田望洋 『新・明解C言語で学ぶアルゴリズムとデータ構造』 SBクリエイティブ 2021年 第2版 |
成績評価の方法及び基準 | 授業参画度:毎回の実習・演習の成果(100%) Zoom参加の場合でも,対面参加と同じ基準で評価を行う. |
オフィスアワー | 随時を受け付ける.原則,事前にSlackやメール等でアポイントをとること. |
備考 | ・毎回,前回講義内容を復習しておくこと.また,積極的に課題に取り組むこと. ・理解が十分でないと思われる内容に関しては,早めに担当教員に質問・相談をすること. ・この科目の内容は「実践プログラミング2」と深く連携しているため,「実践プログラミング2」の内容も復習しておくこと. ・「実践プログラミング2」との連携を考慮し,授業進度やスケジュールの調整を行うことがある. |