![]() ![]() |
講義概要/Course Information |
科目基礎情報/General Information |
授業科目名 /Course title (Japanese) |
プログラミング通論 | ||
---|---|---|---|
英文授業科目名 /Course title (English) |
Programming | ||
科目番号 /Code |
COM303a COM303b COM303c COM303d | ||
開講年度 /Academic year |
2021年度 | 開講年次 /Year offered |
2 |
開講学期 /Semester(s) offered |
前学期 | 開講コース・課程 /Faculty offering the course |
情報理工学域 |
授業の方法 /Teaching method |
講義 | 単位数 /Credits |
2 |
科目区分 /Category |
専門科目 | ||
開講類・専攻 /Cluster/Department |
Ⅰ類 | ||
担当教員名 /Lecturer(s) |
橋本 直己 | ||
居室 /Office |
西9-603 | ||
公開E-mail |
hashimoto@uec.ac.jp | ||
授業関連Webページ /Course website |
WebClassとgoogle classroomを利用(詳しくは「遠隔授業に関する情報」を参照) | ||
更新日 /Last update |
2021/04/02 16:20:38 | 更新状況 /Update status |
公開中 /now open to public |
講義情報/Course Description |
主題および 達成目標(2,000文字以内) /Themes and goals(up to 2,000 letters) |
(a) 主題: プログラミングの初歩は学習したという前提で,再帰的手続き,データ構造の初歩,および,基本的アルゴリズムについて学習する. (b) 達成目標: 再帰的手続き,基本的なデータ構造,基本的なアルゴリズムを理解し,それらを用いた C 言語のプログラムを読むこと,書くことができる. 【重要】初回講義までに提出する課題があります(本シラバスを熟読すること!!) |
---|---|
前もって履修 しておくべき科目(1,000文字以内) /Prerequisites(up to 1,000 letters) |
コンピュータリテラシー,基礎プログラミングおよび演習 |
前もって履修しておくこ とが望ましい科目(1,000文字以内) /Recommended prerequisites and preparation(up to 1,000 letters) |
なし |
教科書等(1,000文字以内) /Course textbooks and materials(up to 1,000 letters) |
参考書は以下の通り. R. セジウィック著, 野下ら訳: アルゴリズムC 第1巻=基礎・整列, 近代科学社 1996. この本は少し古く,また内容は最新の書籍でもあまり変わっていないので,自分が理解しやすい専門書を選択してもよいでしょう.講義内容を扱っているかどうかで書籍を選んでください. |
授業内容と その進め方(2,000文字以内) /Course outline and weekly schedule(up to 2,000 letters) |
事前にオンライン講義を受け,小テストに解答してから, リアルタイム講義に臨むスタイルを採用する. 授業内容は大体以下の通りである. 第 1 回 C言語の基本機能の復習 第 2 回 基本的データ型 (1) ポインタ 第 3 回 基本的データ型 (2) スタック,キュー,デク 第 4 回 再帰呼出し (1) 関数と引数渡しの復習,再帰の概念 第 5 回 再帰呼出し (2) 分割統治法,実行の仕方(スタック・配列表現) 第 6 回 再帰呼出し (3) 再帰呼出しの除去 第 7 回 復習および中間試験 第 8 回 リスト構造 (1) リストの定義,基本操作 第 9 回 リスト構造 (2) リストの応用 第 10 回 リスト構造 (3) 抽象データ型としてのリスト 第 11 回 整列 (1) 基本整列法(選択ソート,挿入ソート,バブルソート) 第 12 回 整列 (2) 高速手法(シェルソート,クイックソート) 第 13 回 整列 (3) 高速手法(ヒープソート,分布数え上げソート) 第 14 回 整列(4) 高速手法(マージソート),探索 第 15 回 進んだ話題(ハッシュ法,木構造探索,デバッガ) 講義に対する演習は情報領域演習第二 (Q演習) (必修)にておこなう. |
実務経験を活かした 授業内容 (実務経験内容も含む) /Course content utilizing practical experience |
|
授業時間外の学習 (予習・復習等)(1,000文字以内) /Preparation and review outside class(up to 1,000 letters) |
講義日までに,対応するオンライン講義を受講し,期日までに小テストに解答すること. 講義資料と共にサンプルプログラムを公開するので,必ずコンパイルして実行し,動作を確認すること. また、サンプルプログラムを活用して、理解を深めるための簡単な改良を施したり,疑問に感じる部分の動作確認を行ったりすること. |
成績評価方法 および評価基準 (最低達成基準を含む) (1,000文字以内) /Evaluation and grading (up to 1,000 letters) |
※ 中間テスト及び期末テストは,対面での実施を予定しています. (a) 評価方法: 中間試験,期末試験,課題,レポートの結果から,次のように総合評価する. 成績評価=(期末試験の評価点×50%)+ (中間試験,複数回の課題・レポート等の評価点×50%) また,未提出の課題やレポートがある場合は大幅な減点対象となるので注意すること. (b) 評価基準: 以下の到達レベルをもって合格の最低基準とする. (1) 再帰呼出しを用いたプログラムを説明することができ,それらを用いた簡単なプログラムを書くことができる. (2) スタック,キュー,リスト構造について説明ができ,それらを用いたプログラムを説明することができる.また,それらを用いて基本的なプログラムを書くことができる. (3) 整列,探索のアルゴリズムを説明することができ,それらを用いたプログラムを説明することができる.また,それらを用いて基本的なプログラムを書くことができる. |
オフィスアワー: 授業相談(1,000文字以内) /Office hours(up to 1,000 letters) |
事前にメール等でアポイントをとること. |
学生へのメッセージ(1,000文字以内) /Message for students(up to 1,000 letters) |
特にポインタを使ったデータ構造や,各種ソートアルゴリズムが要点となるので,充分な予習及び復習をすること.期日を守って課題を提出し,遅刻せずに出席することが基本である. |
その他 /Others |
再履修者は,以下のルールに従って受講クラスを定めるものとします. 2020年度1クラスだった学生:3クラス(担当:丸山)を受講してください 2020年度2・3クラスだった学生:2クラス(担当:橋本)を受講してください ただし,他の講義と重複する等の理由で水曜開講の1クラスに移動したい再履修者は, 移動希望先クラスの担当教員にメールで理由の説明し,許可を得てください. |
キーワード /Keywords |
ブロック構造, 引数機構, 再帰呼出し, スタック, キュー, デク, ポインタ, リスト, 整列, マージ, 探索 |