シラバス
科目名 コンピュータ理工学特別研究ⅡA・ⅡB
英語科目 ナンバリング Ilab401
開講期 通年 開講学部等 コンピュータ理工学部 配当年次 4年次 単位数 6単位
教員名 新實 治男,青木 淳
 ※履修条件,配当年次等の詳細は履修要項をご確認ください。
授業概要/Course outline  
 この特別研究IIAおよびIIBでは、特別研究Iで習得したオブジェクト指向技術を母体にしてソフトウェアを迅速に開発し運用し保守する手法(エクストリームプログラミングを基にするアジャイルなソフトウェア開発)を実践して、アプリケーションを研究開発し、その成果を卒業論文としてまとめる。
授業内容・授業計画/Course description・plan  
 可視化(みてわかる)・可聴化(きいてわかる)・可触化(ふれてわかる)を研究のライトモチーフとして、3次元グラフィックス・マルチメディア・ネットワークなどを利用したアプリケーションソフトウェア(応用プログラム)の開発に取り組む。
 オブジェクト指向分析を行って要求仕様を固め、オブジェクト指向デザインを施して基本設計書と詳細設計書を作成する。同時にテスト仕様書も作る。その際に可能なかぎりデザインパターンを援用する。
 プログラミング言語としてオブジェクト指向分析設計の成果を反映させやすいSmalltalkやPythonやJavaなどのオブジェクト指向プログラミング言語(その総合化開発環境を含む)を採用して実装を行う。テスト仕様書にしたがって単体テストおよび結合テストをきちんと施し、正しく動作する高品質なプログラムの完成を導く。
 そして、上述の仕様書・設計書・取り扱い説明書(マニュアル)などのドキュメントの整備を図り、産業界でも通用するような成果物(納品物)の体裁を整えた上で、その成果を卒業論文としてまとめる。
 特別研究であるがゆえに、個々人で内容や計画や指導は異なるが、以下の事柄については共通に解題してゆく。
  [A]保存ということ
  [B]変形ということ
  [C]視座ということ
  [D]多重ということ
  [E]名前ということ
  [F]位相ということ
 青木特研のモットーは「まず、やってみる、それから、学ぶ」である。以下に大まかな特別研究(卒業研究)のマイルストーンを示す。
[第01回〜第05回]
 従来技術や関連研究を調査する。また、研究開発に必要なツール、開発環境を修得する。これらの予備調査にもとづいて年間の研究計画を立てた後、卒業論文のためのアプリケーションソフトウェアの研究開発に着手する。
[第06回〜第10回]
 当初計画に基づいて、卒業論文のためのアプリケーションソフトウェアの研究開発を進める。その内容を指導教員・研究室のメンバーに報告・議論する中で、研究開発の修正を行う。
[第11回〜第15回]
 春学期の終了を目処に中間結果をまとめる。成果・課題を明らかにし、それを報告し発表する。
[第16回〜第20回]
 春学期の成果をもとに、半年間の研究計画を立てる。最終目標を達成するための研究開発を進め、第20回ごろを目処に、最終成果のイメージを明確にする。
[第21回〜第25回]
 修正した計画に基づいて、研究・開発を進める。その内容を指導教員・研究室のメンバーに報告・議論する中で、最終目標を達成するための研究開発の修正を行う。
[第26回〜第30回]
 卒業論文を執筆する。また、卒論発表会の準備を進める。卒業論文の提出時期は1月下旬、発表会は2月中旬である。1月末に提出した卒業論文に、発表会で指摘された事項などを反映させ、2月末ごろまでに、卒業論文を完成させる。
準備学習等(事前・事後学習)/Preparation and assignments  
 オブジェクト指向プログラミングを充分に復習して臨んでほしい。有用なプログラムの書き取りをする前には、優秀なプログラムの読み取りと聞き取りが先行する。プログラムが上手に書けないのは、読んだプログラムの量に不足がある。書く練習よりも読む練習を大切にしながら、プログラミングをこつこつ行い、関連する書籍や論文を読破して咀嚼すること。
[第01回〜第15回]毎回に共通する事前学習と事後学習について
[事前学習]教科書の中の関係するところを調べて臨むこと、そして、プログラム断片をイディオムにしてくること。日々研究室へ出てきて特別研究(卒業研究)に励むこと。
[事後学習]ペアプログラミングで習い覚えたことの反復練習、そして、頭にあるものを可能な限り外在化してリポジトリに格納し、開示できるものは積極的に公開すること。日々研究室へ出てきて特別研究(卒業研究)に励むこと。
授業の到達目標/Expected outcome  
 特別研究Iで得られた基礎の上に建築を行う。Will to Construction(建設への意志)を持つこと。指導にあたる教員は企業で長年(25年以上)にわたってソフトウェア開発を行ってきた経験を有する。それらを上手に受け継いで吸収し、就職(進学)してからの将来へとつなげること。
身に付く力/Special abilities to be attained  
 オブジェクト指向ソフトウェア開発を中核とするコンピュータ理工学の知識と技能、変化を受け入れ対応する力、論理的思考力(課題発見力,計画力,論理的分析力,総合的判断力)、実践力(働きかけ力,実行力,主体性)、コミュニケーションスキル(協調力,傾聴力)など。
履修上の注意/Special notes, cautions  
 毎日のように研究室(実験室)に来て、積極的に研究開発活動に取り組むように。研究室をホームポジションにして活動するスタイル(習慣)を確立すること。必要となるプログラミング技術やデザイン能力を向上させるために、コードリーディング(美しいプログラムの読み)を日課にすることを強く勧める。そして、書籍や論文を読み、研究室の他のメンバと盛んにディスカッションを行い、お互いにデモンストレーションやプレゼンテーションをし合うことが大切である。
評価方法/Evaluation  
 出席は大変に重要である。授業時間割当以外に執り行う研究室イベント(ミーティングやブリーフィングそしてパワーランチやペアプログラミングなど)への参加も不可欠である。常にホウ・レン・ソウ(報告・連絡・相談)を心がけて確と行うこと。それらを平常点(50%)とし、取り組んだ成果物(アプリケーションソフトウェア一式)の出来具合と卒業論文とその発表を合わせて成果点(50%)とし、それらをもって総合的に評価する。
教 材/Text and materials  
 教科書:青木淳,浅岡浩子,澤本依里『Smalltalkで学ぶオブジェクト指向プログラミングの本質』(日経BP社,2008)
 参考書:Kent Beck『XPエクストリーム・プログラミング入門』(ピアソンエデュケーション,2000)
 参考書:Kent Beck,Martin Fowler『XPエクストリーム・プログラミング実行計画』(ピアソンエデュケーション,2001)
 参照URL:http://www.cc.kyoto-su.ac.jp/~atsushi/
 参照URL:http://aokilab.kyoto-su.ac.jp/
その他/Others  
 研究室:第2実験室棟3階65研究室
 オフィスアワー:木曜日3限(13:15-14:45)
 連絡先:配付資料の表紙に記載されているメールアドレス
 授業に関する質問やホウレンソウ(報告・連絡・相談)がある場合には、オフィスアワーの時間に研究室へ訪問するか、メールで問い合わせること。
Copyright (C) 2015 Kyoto Sangyo University. All rights reserved.