![]() ![]() |
講義概要/Course Information |
科目基礎情報/General Information |
授業科目名 /Course title (Japanese) |
プログラミング通論 | ||
---|---|---|---|
英文授業科目名 /Course title (English) |
Programming | ||
科目番号 /Code |
COM303a COM303b COM303c COM303d COM303e | ||
開講年度 /Academic year |
2025年度 | 開講年次 /Year offered |
2 |
開講学期 /Semester(s) offered |
前学期 | 開講コース・課程 /Faculty offering the course |
情報理工学域 |
授業の方法 /Teaching method |
講義 | 単位数 /Credits |
2 |
科目区分 /Category |
専門科目 | ||
開講類・専攻 /Cluster/Department |
Ⅰ類 | ||
担当教員名 /Lecturer(s) |
橋本 直己 | ||
居室 /Office |
西9-811 | ||
公開E-mail |
hashimoto@uec.ac.jp | ||
授業関連Webページ /Course website |
WebClass & google classroom (講義情報を参照) | ||
更新日 /Last update |
2025/03/20 08:56:43 | 更新状況 /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演習) (必修)にておこなう. ----------------------------------------------------------------------- ■小テストの実施:WebClassを使用 (「遠隔授業に関する情報」を参照) ■講義動画/小テスト解説動画等の公開:Google Classroomを使用 (「遠隔授業に関する情報」を参照) |
実務経験を活かした 授業内容 (実務経験内容も含む) /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) 評価方法: 中間試験,期末試験,課題,レポートの結果から,次のように総合評価する. 成績評価=( 期末試験の評価点 ×60%)+ ((中間試験,複数回の課題・レポート等の評価点)×40%) また,未提出の課題やレポートがある場合は大幅な減点対象となるので注意すること. (b) 評価基準: 以下の到達レベルをもって合格の最低基準とする. (1) 再帰呼出しを用いたプログラムを説明することができ,それらを用いた簡単なプログラムを書くことができる. (2) スタック,キュー,リスト構造について説明ができ,それらを用いたプログラムを説明することができる.また,それらを用いて基本的なプログラムを書くことができる. (3) 整列,探索のアルゴリズムを説明することができ,それらを用いたプログラムを説明することができる.また,それらを用いて基本的なプログラムを書くことができる. |
オフィスアワー: 授業相談(1,000文字以内) /Office hours(up to 1,000 letters) |
事前にメール等でアポイントをとること. |
学生へのメッセージ(1,000文字以内) /Message for students(up to 1,000 letters) |
特にポインタを使ったデータ構造や,各種ソートアルゴリズムが要点となるので,充分な予習及び復習をすること.期日を守って課題を提出し,遅刻せずに出席することが基本である. |
その他 /Others |
再履修者のクラスは、原則として昨年度と同一クラスとします. ただし,他の講義と重複する等の理由で水曜開講の1クラスに移動したい再履修者は, 移動希望先クラスの担当教員にメールで理由の説明し,許可を得てください. その上で、クラスを変更することを橋本にも連絡してください. |
キーワード /Keywords |
ブロック構造, 引数機構, 再帰呼出し, スタック, キュー, デク, ポインタ, リスト, 整列, マージ, 探索 |