検索したい科目/教員名/キーワードを入力し「検索開始」ボタンをクリックしてください。
※教員名では姓と名の間に1文字スペースを入れずに、検索してください。
令和2年度以降入学者 | 実践プログラミング2 | ||||
---|---|---|---|---|---|
令和元年度以前入学者 | 実践プログラミング2 | ||||
教員名 | 韓東力・藤ノ木健介 | ||||
単位数 | 2 | 学年 | 2 | 開講区分 | 文理学部 |
科目群 | 情報科学科 | ||||
学期 | 後期 | 履修区分 | 選択必修 |
授業の形態 | 主として同時双方向型授業(zoomによるライブ中継) Blackboard ID:金曜1限→20212990 |
---|---|
授業概要 | C言語のポインタとデータ構造入門 |
授業のねらい・到達目標 | 本講義では実践プログラミング1で習得した知識を復習しながら、C言語でポインタを使いこなせるようになる。 さらに、連結リストや2分探索木などの基本的なデータ構造をポインタを用いて実現できることを目標とする。 ・この科目は文理学部(学士(理学))のディプロマポリシーDP6及びカリキュラムポリシーCP9に対応している。 なお、新カリキュラム(令和2年度以降の入学者)では、この科目は文理学部(学士(理学))のディプロマポリシーDP3-5及びカリキュラムポリシーCP3-5に対応している。 ・既存の知識にとらわれることなく,物事を論理的・批判的に説明することができる。(A-3-2) ・日常生活における現象に潜む科学的問題を発見し,専門的知識に基づいて説明することができる。(A-4-2) ・新しい問題に取り組む意識を持ち,そのために必要な情報科学の知識・情報を収集することができる。(A-5-2) |
授業の方法 | 授業の形式:【講義,実習】 ・クラス別開講科目(履修登録の際はクラス別に登録すること) ・教員による説明と学生によるプログラミング実習を中心とする。 ・教員による説明と実習時間中の質疑応答はZoomやGoogleMeet等を利用して行い、資料と課題の配信はBlackboardで行う。 また、授業内テストを数回行う。 ・提出された課題は次の授業内で解答を示した上で解説を行う。 ・授業内テストは採点して結果を開示するとともに問題箇所について解説を行う。 |
履修条件 | 「実践プログラミング1」の内容を理解していること。 |
授業計画 | |
---|---|
1 |
ガイダンス(授業のテーマや到達目標及び授業の方法について説明する) 実践プログラミング1の復習(ポインタ・構造体) 【事前学習】実践プログラミング1の内容を復習しておくこと。 (2時間) 【事後学習】学習した内容を整理し、課題を期限内に提出すること。 (2時間) |
2 |
関数の再帰呼び出し(A-3,A-4)
【事前学習】第2回の資料を読んでおくこと。 (2時間) 【事後学習】学習した内容を整理し、課題を期限内に提出すること。 (2時間) |
3 |
動的メモリ割当て(A-3,A-4)
【事前学習】第3回の資料を読んでおくこと。 (2時間) 【事後学習】学習した内容を整理し、課題を期限内に提出すること。 (2時間) |
4 |
再帰と動的メモリ割当てに関する演習(A-5)
【事前学習】第4回の資料を読んでおくこと。 (2時間) 【事後学習】学習した内容を整理し、課題を期限内に提出すること。 (2時間) |
5 |
授業内試験(1)と解説(関数の再帰呼び出し・動的メモリ割当て)
【事前学習】第1回~第4回までの内容を復習しておくこと。 (2時間) 【事後学習】解けなかった試験問題を解き直すこと。 (2時間) |
6 |
リスト構造(A-3,A-4)
【事前学習】第6回の資料を読んでおくこと。 (2時間) 【事後学習】学習した内容を整理し、課題を期限内に提出すること。 (2時間) |
7 |
双方向リスト(A-3,A-4)
【事前学習】第7回の資料を読んでおくこと。 (2時間) 【事後学習】学習した内容を整理し、課題を期限内に提出すること。 (2時間) |
8 |
循環リスト(A-3,A-4)
【事前学習】第8回の資料を読んでおくこと。 (2時間) 【事後学習】学習した内容を整理し、課題を期限内に提出すること。 (2時間) |
9 |
リスト構造演習(A-5)
【事前学習】第9回の資料を読んでおくこと。 (2時間) 【事後学習】学習した内容を整理し、課題を期限内に提出すること。 (2時間) |
10 |
授業内試験(2)と解説(リスト構造)
【事前学習】第6回~9回までの内容を復習しておくこと。 (2時間) 【事後学習】解けなかった試験問題を解き直すこと。 (2時間) |
11 |
木構造(A-3,A-4)
【事前学習】第11回の資料を読んでおくこと。 (2時間) 【事後学習】学習した内容を整理し、課題を期限内に提出すること。 (2時間) |
12 |
2分探索木(A-3,A-4)
【事前学習】第12回の資料を読んでおくこと。 (2時間) 【事後学習】学習した内容を整理し、課題を期限内に提出すること。 (2時間) |
13 |
木の巡回(A-3,A-4)
【事前学習】第13回の資料を読んでおくこと。 (2時間) 【事後学習】学習した内容を整理し、課題を期限内に提出すること。 (2時間) |
14 |
総合演習(A-5)
【事前学習】第14回の資料を読んでおくこと。 (2時間) 【事後学習】学習した内容を整理し、課題を期限内に提出すること。 (2時間) |
15 |
授業内試験(3)と解説(再帰、動的メモリ割当て、リスト構造、木構造)
【事前学習】これまでの内容を復習しておくこと。 (2時間) 【事後学習】解けなかった試験問題を解き直すこと。 (2時間) |
その他 | |
---|---|
教科書 | 森元 逞 『Cをさらに理解しながら学ぶデータ構造とアルゴリズム』 共立出版 2007年 |
参考書 | 内田智史監修・システム計画研究所編 『C言語によるプログラミング基礎編』 オーム社 2001年 第2版 MMGames 『苦しんで覚えるC言語』 秀和システム 2011年 柴田望洋 『新・明解C言語 入門編』 SBクリエイティブ 2014年 |
成績評価の方法及び基準 | レポート:各回の課題の完成度(30%)、授業内テスト:合計3回の授業内試験の結果(60%)、授業参画度:毎回の実習・演習の成果(10%) |
オフィスアワー | メールによる質問を受け付ける(メールアドレスは授業内に示す) |
備考 | ・履修登録の際は、クラス別に登録をすること ・授業内に与えられた宿題を期限(通常は翌週)内に提出すること。 ・授業内容をもとに数回の小テストを実施するため、前回までの内容を必ず復習しておくこと。 |