シラバス参照

講義概要/Course Information
2020/04/28 現在

科目基礎情報/General Information
授業科目名
/Course title (Japanese)
プログラミング通論
英文授業科目名
/Course title (English)
Programming
科目番号
/Code
COM303a COM303b COM303c COM303d
開講年度
/Academic year
2020年度 開講年次
/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
naoki@cs.uec.ac.jp
授業関連Webページ
/Course website
Webclassにて公開予定(パスワードは初回講義にて通知予定)
更新日
/Last updated
2020/02/20 23:46:46 更新状況
/Update status
公開中
/now open to public
講義情報/Course Description
主題および
達成目標
/Topic and goals
(a) 主題: プログラミングの初歩は学習したという前提で,再帰的手続き,データ構造の初歩,および,基本的アルゴリズムについて学習する.

(b) 達成目標: 再帰的手続き,基本的なデータ構造,基本的なアルゴリズムを理解し,それらを用いた C 言語のプログラムを読むこと,書くことができる.
前もって履修
しておくべき科目
/Prerequisites
コンピュータリテラシー,基礎プログラミングおよび演習
前もって履修しておくこ
とが望ましい科目
/Recommended prerequisites and preparation
なし
教科書等
/Course textbooks and materials
参考書は以下の通り.
   R. セジウィック著, 野下ら訳: アルゴリズムC 第1巻=基礎・整列, 近代科学社 1996.
授業内容と
その進め方
/Course outline and weekly schedule
授業内容は大体以下の通りである.

第  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 回 進んだ話題(ハッシュ法,木構造探索,デバッガ)
第 15 回 整列(4) 高速手法(マージソート),探索
第 16 回 期末試験

講義に対する演習は情報領域演習第二 (Q演習) (必修)にておこなう.
実務経験を活かした
授業内容
(実務経験内容も含む)
/Course content utilizing practical experience
授業時間外の学習
(予習・復習等)
/Preparation and review outside class
講義前に、講義資料を必ず公開するので,熟読して予習に努めること.

講義資料と共にサンプルプログラムを公開するので,必ずコンパイルして実行し,動作を確認すること.
また、サンプルプログラムを活用して、理解を深めるための簡単な改良を施したり,疑問に感じる部分の動作確認を行ったりすること.

講義後に課す小テストに,期日までに回答すること.

成績評価方法
および評価基準
(最低達成基準を含む)
/Evaluation and grading
(a) 評価方法: 中間試験,期末試験,課題,レポートの結果から,次のように総合評価する.

  成績評価=(期末試験の評価点×67%)+
              (中間試験,複数回の課題・レポート等の評価点×33%)

  また,未提出の課題やレポートがある場合は大幅な減点対象となるので注意すること.

(b) 評価基準: 以下の到達レベルをもって合格の最低基準とする.

  (1) 再帰呼出しを用いたプログラムを説明することができ,それらを用いた簡単なプログラムを書くことができる.

  (2) スタック,キュー,リスト構造について説明ができ,それらを用いたプログラムを説明することができる.また,それらを用いて基本的なプログラムを書くことができる.

  (3) 整列,探索のアルゴリズムを説明することができ,それらを用いたプログラムを説明することができる.また,それらを用いて基本的なプログラムを書くことができる.
オフィスアワー:
授業相談
/Office hours
事前にメール等でアポイントをとること.
学生へのメッセージ
/Message for students
特にポインタを使ったデータ構造,アルゴリズムが要点であるので,充分予習,復習をすること.遅刻せず出席することが基本である.
その他
/Others
再履修者は、昨年度と同じクラスの講義を履修してください。他の再履修講義と時間帯が重複する場合には、担当教員に相談してください。
キーワード
/Keyword(s)
ブロック構造, 引数機構, 再帰呼出し, スタック, キュー, デク, ポインタ, リスト, 整列, マージ, 探索