シラバス
科目名 コンピュータ理工学特別研究Ⅰ
英語科目 ナンバリング Ilab302
開講期 秋学期 開講学部等 コンピュータ理工学部 配当年次 3年次 単位数 2単位
教員名 青木 淳
 ※履修条件,配当年次等の詳細は履修要項をご確認ください。
授業概要/Course outline  
 この特別研究Iでは、オブジェクト指向技術を母体にしてソフトウェアを迅速に開発し運用し保守する手法(エクストリームプログラミングを基にするアジャイルなソフトウェア開発)に焦点を当てる。
 産業界において、知識(知っていること)と方法(適切に操れること)のつりあいが大切であり、双方を素早く応用することが切望されている。従来の手法と趣を異にする「機敏(アジャイル:agile)にソフトウェアを開発する手法」を試行錯誤しながらも実践できるようになり、その長短に言及してゆくのが特別研究Iの目的である。
授業内容・授業計画/Course description・plan  
 可視化(みてわかる)・可聴化(きいてわかる)・可触化(ふれてわかる)を研究のライトモチーフとして、3次元グラフィックス・マルチメディア・ネットワークなどを利用したアプリケーションソフトウェア(応用プログラム)の開発に取り組む。何を開発するのかを策定する(学生と教員が相談して決めてゆく)プロセス自体も重要な研究開発活動の一環である。
 常に、学生と教員(もしくは学生と学生)の間にペアプログラミング状態を作り出し、実際の開発プロセスを進めてゆく。オブジェクト指向分析を行って要求仕様を固め、オブジェクト指向デザインを施して基本設計書と詳細設計書を作成する。同時にテスト仕様書も作る。その際に可能なかぎりデザインパターンを援用する。
 プログラミング言語としてオブジェクト指向分析設計の成果を反映させやすいSmalltalkやPythonやJavaなどのオブジェクト指向プログラミング言語(その総合化開発環境を含む)を採用して実装を行う。テスト仕様書にしたがって単体テストおよび結合テストをきちんと施し、正しく動作する高品質なプログラムの完成を導く。
 そして、上述の仕様書・設計書・取り扱い説明書(マニュアル)などのドキュメントの整備を図り、産業界でも通用するような成果物(納品物)の体裁を整える。ソフトウェア開発プロセスをアジャイルに一通り体験し、そこに横たわっているソフトウェア工学的な研究課題に目星をつける。
 特別研究であるがゆえに、個々人で内容や計画や指導が異なるが、以下の事柄については共通に解題してゆく。
  [A]セキュアということ
  [B]サーバのたてかた
  [C]ジェネラリティとは
  [D]アフォーダンスとは
  [E]レトリックとは
  [F]オープンソースとは
  [G]エクストリームプログラミングとは
  [H]じゅんとは
 青木特研のモットーは「まず、やってみる、それから、学ぶ」である。以下に大まかな特別研究(卒業研究)のマイルストーンを示す。
[第1回〜第5回]
 アジャイルなオブジェクト指向ソフトウェア開発の解題と実践(ペアプログラミングによるオブジェクト指向プログラム開発の解題と実践)に関する従来技術や関連研究を調査する。また、研究開発に必要なツール、開発環境を修得する。
 [第6回〜第10回]
 アジャイルなオブジェクト指向ソフトウェア開発の解題と実践(ペアプログラミングによるオブジェクト指向プログラム開発の解題と実践)する。
[第11回〜第15回]
 アジャイルなオブジェクト指向ソフトウェア開発の解題と実践した成果物をリポジトリにコミットしながらまとめ、課題などを洗い出し、報告し発表する。

準備学習等(事前・事後学習)/Preparation and assignments  
 オブジェクト指向プログラミングを充分に復習して臨んでほしい。有用なプログラムの書き取りをする前には、優秀なプログラムの読み取りと聞き取りが先行する。プログラムが上手に書けないのは、読んだプログラムの量に不足がある。書く練習よりも読む練習を大切にしながら、事前学習と事後学習をこつこつ行うこと。
[第01回〜第15回]毎回に共通する事前学習と事後学習について
[事前学習]教科書の中の関係するところを調べて臨むこと、そして、プログラム断片をイディオムにしてくること。日々研究室へ出てきて特別研究(卒業研究)に励むこと。
[事後学習]ペアプログラミングで習い覚えたことの反復練習、そして、頭にあるものを可能な限り外在化してリポジトリに格納し、開示できるものは積極的に公開すること。日々研究室へ出てきて特別研究(卒業研究)に励むこと。
授業の到達目標/Expected outcome  
 特別研究IIAおよびIIBへと歩を進めるための足固めをするのが本年度の到達すべき目標である。特別研究Iは次年度のための予行という位置づけである。指導にあたる教員は企業で長年(25年以上)にわたってソフトウェア開発を行ってきた経験を有する。それらを上手に受け継いで吸収し、次年度の特別研究IIAおよびIIBへの糧とし、そして、就職(進学)してからの将来へとつなげること。
身に付く力/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) 2016 Kyoto Sangyo University. All rights reserved.