計算機序論II【演習】(2006年度)

授業科目, www.kameda-lab.org 2006/10/26

本授業について

本講義は2006年度2学期に、 筑波大学第三学群工学システム学類 (知的工学システム・機能工学システム主専攻)の2年生を 想定して開講されました。 受講にあたっては、 2年生1学期配当の「情報処理講義」・ 2年生1学期配当の「情報処理実習」・ 2年生1学期配当の「計算機序論」 の知識が必要になります。 (その単位が本講義単位取得の前提になっているわけでは ありません。) また、本講義の内容は 2年生3学期配当の「プログラミング序論」 や 3年生1学期配当の「データ構造とアルゴリズム」 の履修に役立ちます。

担当:亀田能成・北原格
TA:石井 規弘・大津 寛之 (3M310/3L302)
教室:3L201(座学)、3L504(実習)

授業内容・シラバスについてはこちらを参照下さい。

なお、本ページは、 「計算機序論II」のうち亀田能成が担当する【演習】部分について 情報提供しています。 【講義】部分には本ページではフォローしていません。


更新情報


日程

全日程のうち、講義と演習が5週ずつ行われる予定です。
 1. 2006/09/04(Mon) 講義1 プログラミングの流れ
 2. 2006/09/11(Mon) 演習1 OpenGLを用いたプログラミングの習熟 ← レポート課題がでます
 3. 2006/09/20(Wed) 講義2 ポインタ
 4. 2006/09/25(Mon) 演習2 構造体とポインタ・線形リスト ← レポート課題がでます
 5. 2006/10/02(Mon) 講義3 構造体
 6. 2006/10/16(Mon) 講義4 演算子・再帰関数
 7. 2006/10/23(Mon) 演習3 グラフィックスにおける幾何操作 ← レポート課題がでます
 8. 2006/10/30(Mon) 演習4 ファイルからのコマンド入力 + モーフィング ← レポート課題がでます
 9. 2006/11/06(Mon) 講義5 制御構造
10. 2006/11/13(Mon) 演習5 作品発表会
--. 2006/11/20(Mon) 筆記試験(予定)

演習テキスト


Week 0. (準備)
        プログラミング基礎[html]
        フローチャート[slide]
        レポートの書き方[html]

Week 1. OpenGLを用いたプログラミングの習熟
        [2006/09/11]
        資料: 計算機序論2で行うComputer Graphics[slide]
        資料: OpenGLによるグラフィックス描画とMesaの利用法[html]
        資料: 学生実験室での OpenGL 利用[html]
        課題: OpenGLを用いたプログラミングの習熟 {〆切 2006/09/25,15:15 JST}[html]

Week 2. 構造体とポインタ・線形リスト
        [2006/09/25]
        資料: 構造体とポインタ・線形リスト(概念説明用)[slide]
        資料: 構造体とポインタ・線形リスト(演習のプログラムに沿った説明)[html]
        課題: 構造体とポインタを用いたプログラミング {〆切 2006/10/23,15:15 JST}[html]

Week 3. グラフィックスにおける幾何操作
        [2006/10/23]
        資料: グラフィックスにおける幾何操作[slide]
        資料: 演習の流れ[html]
        課題: グラフィックス幾何操作の完成と表示 {〆切 2006/10/30,15:15 JST}[html]

Week 4. ファイルからのコマンド入力 + モーフィング 
        [2006/10/30]
        資料: ファイルからのコマンド入力 + モーフィング[slide]
        資料: 演習の流れ[html]
        課題: コマンド入力部の完成とモーフィングの実行 {〆切 2006/11/13,15:15 JST}[html]

Week 5. 作品発表会
        [2006/11/13]
        アナウンス: 発表会前の注意点[html]

なお、北原先生担当回の講義資料はこちらです。


課題提出方法について


成績

最終成績は課題提出内容と筆記試験と合わせて決定します。 課題提出が1回でも欠けている場合、それだけで不合格になるので十分注意すること。

追試1回も行った結果、2005年度は下記のような評価(講義・演習を総合)になりました。絶対評価なので人数分布に意味はありませんが、今後の参考にして下さい。

成績 人数
A 57
B 13
C 17
D 8
X 1


授業内容

下記の情報は2006/09/01に主に基づくものです。
科目番号/知的工学  S501024
科目番号/機能工学  S601024
英名               Introduction to Computing II
担当教官           亀田能成/北原格
研究室             3M304,3M307
電話               5256,7818
Office Hour        随時。可能であればe-mailで予約をして下さい。
e-mail             kameda[at]iit.tsukuba.ac.jp, kitahara[at]iit.tsukuba.ac.jp
授業HPへのlink     http://www.kameda-lab.org/lecture/2006-tsukuba-ic2/index-j.html

●授業概要

講義と演習を通じてC言語によるプログラミングの基礎を学ぶ。

●学類教育目標との関連

目標:1.3 コンピュータを利用し情報を取得・処理する能力 [100]

●授業の狙い

計算機序論Iに引き続く授業です。
C言語を用いてコンピュータグラフィクスの基礎的な課題の演習を行います。
これにより、コンピュータを駆使して情報を処理・提示する能力を養います。

教育目標との対応:(1)
工学システムを設計し構築する際の汎用手段としてのプログラミング技術を身につける。

●受講学生に望むこと:

積極的に授業と演習に参加すること。

●受講生の到達度レベル:

配列、構造体、ポインタなどを使いこなしたプログラムをC言語で書くことができるようになること。

●各週授業計画:

講義と演習を半分ずつ行います。
講義1. イントロダクション、C言語プログラミング序論(コンパイルの仕組み、ライブラリのリンク、グローバル変数とローカル変数)
講義2. ポインタ(ポインタの仕組み、配列とポインタ、ポインタと文字列、関数の引数とポインタ)
講義3. 構造体(C言語のデータ型、構造体の宣言(型の宣言・変数の宣言)、構造体変数、構造体ポインタ、自己参照構造体、共用体)
講義4. 演習プログラムの概説、制御構造:(順序、選択(if, if/else, switch)、繰り返し(while, do/while, for))
講義5. 演算子(論理演算子、ビット演算子、シフト演算子、型変換(キャスト)、条件演算子)、再帰関数
演習1. コンピュータグラフィックスとは: グラフィックスライブラリ(OpenGL)の使い方、簡単な図形の描画
演習2. 構造体・ポインタによる線形リスト操作
演習3. グラフィックス: 三次元幾何変換、アニメーション、透視変換、三次元幾何変換
演習4. スクリプト描画: スクリプトで回転・移動・モーフィングを実現
演習5. 作品発表会: 全員の作品披露、表彰、その他

●教科書:

計算機序論Iに同じ。

●参考書:

グラフィクス関係の参考書: 三浦憲二郎著「OpenGL 3Dグラフィック入門」朝倉書店、河合慧著「基礎グラフィクス」昭晃堂。
その他、OpenGLに関しては、WWWページで多くの解説が公開されています。

●成績評価:

演習は設定された全てのレポートを提出すること。レポートを全て提出し、かつ、期末の筆記試験で60点以上とることが履修の条件です。

●関連情報:

情報処理講義、情報処理実習、計算機序論Iを履修していること。グラフィックスを題材にするので、線形代数の知識も必要です。
なお、演習時にはTAがつきます。

●関連科目:

計算機序論I
情報処理講義
情報処理実習

発表会優秀者

無作為抽出の受講者10名の10段階評価による結果で決定する予定です。
成績考課とは関連しません(が、2005年度は結果的に相関はそれなりにありました)。


kameda[at]iit.tsukuba.ac.jp