検索したい科目/教員名/キーワードを入力し「検索開始」ボタンをクリックしてください。
※教員名では姓と名の間に1文字スペースを入れずに、検索してください。
令和2年度以降入学者 | 実践プログラミング2(41組) | ||||
---|---|---|---|---|---|
令和元年度以前入学者 | 実践プログラミング2 | ||||
教員名 | 福地庸介 | ||||
単位数 | 2 | 学年 | 2 | 開講区分 | 文理学部 |
科目群 | 情報科学科 | ||||
学期 | 後期 | 履修区分 | 選択必修 |
授業の形態 | 対面授業 Blackboard ID:金曜1限→20224395 |
---|---|
授業概要 | C言語のポインタとデータ構造入門 |
授業のねらい・到達目標 | 本講義では実践プログラミング1で習得した知識を復習しながら、C言語でポインタを使いこなせるようになる。 さらに、連結リストや2分探索木などの基本的なデータ構造をポインタを用いて実現できることを目標とする。 ・この科目は文理学部(学士(理学))のディプロマポリシーDP6及びカリキュラムポリシーCP9に対応している。 なお、新カリキュラム(令和2年度以降の入学者)では、この科目は文理学部(学士(理学))のディプロマポリシーDP3-5及びカリキュラムポリシーCP3-5に対応している。 ・既存の知識にとらわれることなく,物事を論理的・批判的に説明することができる。(A-3-2) ・日常生活における現象に潜む科学的問題を発見し,専門的知識に基づいて説明することができる。(A-4-2) ・新しい問題に取り組む意識を持ち,そのために必要な情報科学の知識・情報を収集することができる。(A-5-2) |
授業の方法 | 授業の形式:【講義,実習】 ・クラス別開講科目(履修登録の際はクラス別に登録すること) ・教員による説明と学生によるプログラミング実習を中心とする。 ・教員による説明と実習時間中の質疑応答は授業内で行い、資料と課題の配信はGoogle DriveやSlackなどを用いて行う。 また、授業内テストを数回行う。 ・授業ごとの課題は次の授業内で、必要に応じて解説を行う。 ・授業内テストは、Blackboardなどを用いて点数を開示する。 対面授業に参加できない場合の措置: (1)オンライン受講を認める要件:学部の方針に従う (2)オンライン受講の方法:YouTube LiveまたはZoomで授業内容を聴講し、対面受講者と同じプログラミング演習に取り組む。授業内のプログラミング演習の結果はSlackに提出する。質問はSlackにて受け付ける。 |
履修条件 | 「実践プログラミング1」の内容を理解していること。 |
授業計画 | |
---|---|
1 |
ガイダンス(授業のテーマや到達目標及び授業の方法について説明する) 実践プログラミング1の復習:ポインタ 【事前学習】実践プログラミング1の内容を復習しておくこと。 (2時間) 【事後学習】学習した内容を整理し、課題を期限内に提出すること。 (2時間) |
2 |
実践プログラミング1の復習:構造体(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 |
二分探索木(1):生成・挿入・探索(A-3,A-4)
【事前学習】第12回の資料を読んでおくこと。 (2時間) 【事後学習】学習した内容を整理し、課題を期限内に提出すること。 (2時間) |
13 |
二分探索木(2):削除・巡回(A-3,A-4)
【事前学習】第13回の資料を読んでおくこと。 (2時間) 【事後学習】学習した内容を整理し、課題を期限内に提出すること。 (2時間) |
14 |
総合演習:木構造(A-5)
【事前学習】第14回の資料を読んでおくこと。 (2時間) 【事後学習】学習した内容を整理し、課題を期限内に提出すること。 (2時間) |
15 |
授業内試験(3)と解説(木構造、リスト構造)
【事前学習】これまでの内容を復習しておくこと。 (2時間) 【事後学習】解けなかった試験問題を解き直すこと。 (2時間) |
その他 | |
---|---|
教科書 | なし |
参考書 | 森元 逞 『Cをさらに理解しながら学ぶデータ構造とアルゴリズム』 共立出版 2007年 内田智史監修・システム計画研究所編 『C言語によるプログラミング基礎編』 オーム社 2020年 第3版 MMGames 『苦しんで覚えるC言語』 秀和システム 2011年 柴田望洋 『新・明解C言語 入門編』 SBクリエイティブ 2014年 |
成績評価の方法及び基準 | 授業内テスト:合計3回の授業内試験の結果(75%)、授業参画度:授業内実習や事前学習・事後学習(ミニ課題など)の提出状況から判断する。(25%) Zoomでの参加が予め許可された人は対面参加の場合の評価基準に準ずる |
オフィスアワー | ①金曜日2限 ②メールやSlackにより質問を受け付ける(詳細は第一回の授業で説明する) |
備考 | ・履修登録の際は、クラス別に登録をすること ・授業内に与えられた宿題を期限(通常は翌週)内に提出すること。 ・授業内容をもとに数回の小テストを実施するため、前回までの内容を必ず復習しておくこと。 |