検索したい科目/教員名/キーワードを入力し「検索開始」ボタンをクリックしてください。
※教員名では姓と名の間に1文字スペースを入れずに、検索してください。
令和元年度以前入学者 | 情報科学実習4 | ||||
---|---|---|---|---|---|
教員名 | 韓東力,大澤正彦 | ||||
単位数 | 1 | 学年 | 2 | 開講区分 | 文理学部 |
科目群 | 情報科学科 | ||||
学期 | 後期 | 履修区分 | 必修 |
授業の形態 | 主として同時双⽅向型授業(Zoomによるライブ中継) Blackboard ID:20203213 |
---|---|
授業概要 | C言語のポインタとデータ構造入門 |
授業のねらい・到達目標 | 効率の良いプログラムを作るには,問題に適したデータ構造を用いることが不可欠である.また,C言語を用いた実装では,代表的なデータ構造はポインタを使って実現されることもある.本講義では,C言語でポインタを使いこなせるようになることを目指す.C言語の復習を行ったのち,C言語でポインタを学び,連結リスト・2分探索木などの基本的なデータ構造をポインタを用いて実現し,それらの活用法を学ぶ.本講義を通して高度なデータ構造をC言語で運用できるようになる。 この科目は文理学部(学士(理学))のディプロマポリシーDP6及びカリキュラムポリシーCP9に対応している。 |
授業の方法 | 実習(プログラム作成)を中心に進める. |
履修条件 | 「実践プログラミング1」の内容を理解していることが望ましい. また、並行して,「実践プログラミング2」を履修することが望ましい. |
授業計画 | |
---|---|
1 |
ガイダンス(授業のテーマや到達目標及び授業の方法について説明する) 実践プログラミング1の復習(関数・配列)に関する実習 【事前学習】実践プログラミング1の内容を復習しておくこと。 (1時間) |
2 |
実践プログラミング1の復習(ポインタ・構造体)に関する実習
【事前学習】第2回の資料を読んでおくこと。 (1時間) |
3 |
関数の再帰呼び出しに関する実習
【事前学習】第3回の資料を読んでおくこと。 (1時間) |
4 |
動的メモリ割り当てに関する実習
【事前学習】第4回の資料を読んでおくこと。 (1時間) |
5 |
再帰と動的メモリ割当てに関する演習に関する総合演習
【事前学習】第5回の資料を読んでおくこと。 (1時間) |
6 |
動的メモリ割り当てと自己参照構造体に関する演習
【事前学習】第6回の資料を読んでおくこと。 (1時間) |
7 |
リスト構造に関する実習(1)追加・探索
【事前学習】第7回の資料を読んでおくこと。 (1時間) |
8 |
リスト構造に関する実習(2)追加・探索の応用
【事前学習】第8回の資料を読んでおくこと。 (1時間) |
9 |
リスト構造に関する実習(3)削除
【事前学習】第9回の資料を読んでおくこと。 (1時間) |
10 |
リスト構造に関する総合実習
【事前学習】第10回の資料を読んでおくこと。 (1時間) |
11 |
リストに関する発展的実習
【事前学習】第11回の資料を読んでおくこと。 (1時間) |
12 |
木構造と2分探索木に関する実習
【事前学習】第12回の資料を読んでおくこと。 (1時間) |
13 |
木の探索に関する実習
【事前学習】第13回の資料を読んでおくこと。 (1時間) |
14 |
木の探索の応用に関する実習 事前に示した木の探索の応用に関する課題について、質疑応答及びフィードバックを行う 【事前学習】第14回の資料を読んでおくこと。 (1時間) |
15 |
これまでの復習・解説を行い授業の理解を深める
【事前学習】これまでの学習内容を復習しておくこと。 (1時間) |
その他 | |
---|---|
教科書 | 森元 逞 『Cをさらに理解しながら学ぶデータ構造とアルゴリズム』 共立出版 2007年 |
参考書 | 内田智史監修・システム計画研究所編 『C言語によるプログラミング基礎編』 オーム社 2001年 第2版 |
成績評価の方法及び基準 | 授業参画度:毎回の実習・演習の成果(100%) |
オフィスアワー | 韓(40組):質問等は随時を受け付ける.原則,アポイントをとること(メールアドレスは授業時に開示) 大澤(41組):随時受け付ける。授業時に伝えるメールアドレスにてアポイントを取ること。 |
備考 | ・履修登録の際は、クラス別に登録をすること ・毎回,前回講義内容を復習しておくこと.また,積極的に課題に取り組むこと. ・理解が十分でないと思われる内容に関しては,早めに担当教員に質問・相談をすること. ・この科目の内容は「実践プログラミング2」と深く連携しているため,「実践プログラミング2」の内容も復習しておくこと. |