シラバス参照

講義概要/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
西10-629
公開E-Mail
/e-mail
y-kuno@uec.ac.jp
授業関連Webページ
/Course website
http://www.edu.cc.uec.ac.jp/~ka002689/prog20/
更新日
/Last updated
2020/02/21 10:20:13 更新状況
/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 回 探索 線型探索,2分探索
第 15 回 進んだ話題
第 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)
ブロック構造, 引数機構, 再帰呼出し, スタック, キュー, デク, ポインタ, リスト, 整列, マージ, 探索