シラバス参照

講義概要/Course Information
2024/05/01 現在

科目基礎情報/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
/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
ブロック構造, 引数機構, 再帰呼出し, スタック, キュー, デク, ポインタ, リスト, 整列, マージ, 探索