|
授業概要/Course outline
|
|
この特別研究IIAおよびIIBでは、特別研究Iで習得したオブジェクト指向技術を母体にしてソフトウェアを迅速 に開発し運用し保守する手法(エクストリームプログラミングを基にするアジャイルなソフトウェア開発)を実践 して、アプリケーションを研究開発し、その成果を卒業論文としてまとめる。 この授業では、パーソナルコンピュータ(パソコン)やスマートフォン(スマホ)などを活用しながら行い、授 業に援用するスライドなどの資料もすべて事前に電子的に配付される。それらの資料へのメモ書きなども電子的に (ペーパーレスで)行うことを強く推奨する。また、講義を視聴するだけでなく、触れる・試すなど、五感を使っ て参加・体験を促進する実践的な学び(ハンズオン方式のアクティブラーニング)を含む。 同時にソフトウェア開発・運用・保守の厳しさや険しさの自覚を働きかける。人命にかかわるような、社会基盤 にかかわるような、ミッションクリティカルと呼ばれる極めて重要なソフトウェア開発・運用・保守が多く存在す る。けっして不具合を出して(バグって)はならない。そのようなソフトウェア開発・運用・保守に長く(25年間 以上も)携わってきた講師自らの実務経験を基にして、その勘どころ(知識・技術・技能の一端)を伝えて(垣間 見せて)ゆく。 ■前もってどのような科目の履修が望ましいか: ・応用プログラミング(Java/Python/C) ・ソフトウェア工学I・II ・アルゴリズムとデータ構造 ・ヒューマン・インタフェースI・II ・プロジェクト演習 ・プログラミング言語 ・言語オートマトン ・分散処理システム ・グラフィックスI・II ・オペレーティングシステム ・特別研究I ■今後どのような科目を履修するのに役立つか: ・就職および進学してからのプログラミングやデザインなど
|
|
授業形態,授業方法等/Course form・type
|
|
【授業形態】
対面授業
【授業方法】
実験
・アクティブ・ラーニング授業
(
形態:
ディスカッション,ディベート
/
プレゼンテーション
)
特別研究の計画や内容や進捗なとについて、発表(プレゼンテーション)や討論(ディスカッション・ディベー ト)をふんだんに行う。
・実務経験のある教員による授業
この授業は、実務経験が豊富な教員が担当する。国内および国外でのコンピュータ・ネットワーク・システム開 発の実務経験があり、特にプログラミングやソフトウェアデザインそしてプロジェクトマネジメントの経験が著し く、スーパープログラマ(伝説のプログラマ)という異名を持つ。日本のオブジェクト指向プログラミングおよび オブジェクト指向分析設計の創成期を作った。その経験をふんだんに活かしながら行う実践的で実験的な研究開発 のための授業である。
・その他
講義を視聴するだけでなく、触れる・試すなど、五感を使って参加・体験を促進する実践的な学び(ハンズオン方式のアクティブラーニング)を含む。
|
|
授業内容・授業計画/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回〜第05回] 〔事前学習〕参考書の中の関係するところを調べて臨むこと、そして、プログラム断片をイディオムにしてくるこ と。日々研究室へ出てきて特別研究(卒業研究)に励むこと。励んだ事柄を特別研究活動の報告として、スライド を作成し、発表(プレゼンテーション)に備えること。 〔事後学習〕ペアプログラミングで習い覚えたことの反復練習、そして、頭にあるものを可能な限り外在化してリ ポジトリに格納し、開示できるものは積極的に公開すること。日々研究室へ出てきて特別研究(卒業研究)に勤し むこと。ホウ・レン・ソウ(報・連・相:報告・連絡・相談)を欠かさぬこと。 [第06回〜第10回] 〔事前学習〕当初計画に基づいて、卒業論文のためのアプリケーションソフトウェアの研究開発を進めておくこと。 日々研究室へ出てきて特別研究(卒業研究)に勤しむこと。勤しんだ事柄を特別研究活動の報告として、スライド を作成し、発表(プレゼンテーション)に備えること。 〔事後学習〕プレゼンテーションおよびデモンストレーションの際に指摘された事柄に鑑みて研究開発の修正を行 うこと。日々研究室へ出てきて特別研究(卒業研究)に勤しむこと。ホウ・レン・ソウ(報・連・相:報告・連絡 ・相談)を欠かさぬこと。 [第11回〜第15回] 〔事前学習〕春学期の終了にあたり、その成果・課題を明らかにしておくこと。日々研究室へ出てきて特別研究( 卒業研究)に励むこと。励んだ事柄を特別研究活動の報告として、スライドを作成し、発表(プレゼンテーション )に備えること。 〔事後学習〕春学期の成果・課題をもとにして、さらなる半年間(秋学期)の研究計画を立てること。日々研究室 へ出てきて特別研究(卒業研究)に励むこと。ホウ・レン・ソウ(報・連・相:報告・連絡・相談)を欠かさぬこ と。 [第16回〜第20回] 〔事前学習〕春学期の成果・課題をもとに立てた秋学期の研究計画を開示する準備をすること。日々研究室へ出て きて特別研究(卒業研究)に勤しむこと。勤しんだ事柄を特別研究活動の報告として、スライドを作成し、発表( プレゼンテーション)に備えること。 〔事後学習〕第20回ごろを目処に、最終成果のイメージを明確にすること。日々研究室へ出てきて特別研究(卒業 研究)に勤しむこと。ホウ・レン・ソウ(報・連・相:報告・連絡・相談)を欠かさぬこと。 [第21回〜第25回] 〔事前学習〕修正した計画に基づいて、研究・開発を進めておくこと。日々研究室へ出てきて特別研究(卒業研究 )に励むこと。励んだ事柄を特別研究活動の報告として、スライドを作成し、発表(プレゼンテーション)に備え ること。 〔事後学習〕最終目標を達成するための研究開発の修正を行うこと。日々研究室へ出てきて特別研究(卒業研究) に励むこと。ホウ・レン・ソウ(報・連・相:報告・連絡・相談)を欠かさぬこと。 [第26回〜第30回] 〔事前学習〕卒業論文を執筆を開始すること。日々研究室へ出てきて特別研究(卒業研究)に勤しむこと。勤しん だ事柄を特別研究活動の報告として、スライドを作成し、発表(プレゼンテーション)に備えること。 〔事後学習〕卒業論文を執筆を終了すること。卒論発表会の準備として発表内容と発表形式そしてスライドの作成 を進めること。日々研究室へ出てきて特別研究(卒業研究)に勤しむこと。ホウ・レン・ソウ(報・連・相:報告 ・連絡・相談)を欠かさぬこと。
|
|
授業の到達目標/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/
|
|
質問や相談の方法/Instructor contact
|
|
研究室:第2実験室棟3階65実験室 オフィスアワー:木曜日3限(13:15-14:45) 連絡先:配付資料の表紙に記載されているメールアドレス 授業に関する質問やホウレンソウ(報告・連絡・相談)がある場合には、オフィスアワーの時間に研究室へ訪問 するか、メールで問い合わせること。
|
|
|
|