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