シラバス
科目名 ソフトウェア工学Ⅱ
英語科目 ナンバリング Isft302
開講期 春学期 開講学部等 コンピュータ理工学部 配当年次 3年次 単位数 2単位
教員名 青木 淳
 ※履修条件,配当年次等の詳細は履修要項をご確認ください。
授業方法/Course type  
講義
授業概要/Course outline  
【実務経験のある教員による授業科目】
 この授業は、実務経験が豊富な教員が担当する。国内および国外でのコンピュータ・ネットワーク・システム開
発の実務経験があり、特にプログラミングやソフトウェアデザインそしてプロジェクトマネジメントの経験が著し
く、スーパープログラマ(伝説のプログラマ)という異名を持つ。日本のオブジェクト指向プログラミングおよび
オブジェクト指向分析設計の創成期を作った。その経験をふんだんに活かしながら行う実践的なソフトウェア工学
の授業である。
 ソフトウェアの開発・運用・保守に対して、理工学(科学と工学)的な手法や技法の応用を促す。科学(サイエ
ンス)で得られている知見をベースにして、実用的な手法や技法を発見し、工業的な生産活動や製品開発に応用す
る工学(エンジニアリング)の持ち味を、ソフトウェアに当てはめて解題してゆく。
 この授業では、スマートフォンのようなICT(情報通信技術)を活用しながら行い、授業に援用するスライドな
どの資料もすべて事前に電子的に配付される。それらの資料へのメモ書きなども電子的に(ペーパーレスで)行う
ことを強く推奨する。また、講義を視聴する(座学)だけでなく、触れる・試すなど、五感を使って参加・体験を
促進する実習(ハンズオン方式のアクティブラーニング)を含む。
 常にソフトウェアの品質を測定する(メトリクスを施す)ことを意識しながら、要求を分析し、要求仕様を作り、
開発すべきシステムの基本設計と詳細設計のやり方、プログラミングとテストの仕方の手解きを行う。そして、開
発・運用・保守に介在している現状の問題点を明らかにする。また、プログラミング言語に関する考現学としての
側面も有する。
 本科目を受講することで、実社会におけるソフトウェアの開発・運用・保守の活動に必要な事柄を一通りバラン
ス良く習得することが講義の目的である。また、将来の職務(技術職・企画職・営業職・事務職などの職種を問わ
ず)において、コンピュータを活用しながら業務の効率化や改善の役割を担う人になるための知識と技術そして技
能を授けることも目的である。
 同時にソフトウェア開発の厳しさや険しさの自覚を働きかける。人命にかかわるような、社会基盤にかかわるよ
うな、ミッションクリティカルと呼ばれる極めて重要なソフトウェアが多く存在する。けっして不具合を出して(
バグって)はならないソフトウェアである。そのようなソフトウェア開発に長く(25年間以上も)携わってきた講
師自らの実務経験を基にして、その勘どころ(知識・技術・技能の一端)を伝えて(垣間見せて)ゆく。
<CSE>
  ■前もってどのような科目の履修が望ましいか:
   ・応用プログラミング(Java/Python/C)
   ・ソフトウェア工学I
   ・プロジェクト演習
   ・アルゴリズムとデータ構造
   ・グラフィックスI
   ・ヒューマン・インタフェースI・II
  ■今後どのような科目を履修するのに役立つか:
   ・プログラミング言語
   ・言語オートマトン
   ・分散処理システム
   ・グラフィックスII
   ・オペレーティングシステム
   ・特別研究におけるプログラミングやデザインなど
<ISE>
  ■前もってどのような科目の履修が望ましいか:
   ・応用プログラミング(Java/Python/C)
   ・ソフトウェア工学I
   ・プロジェクト演習
   ・アルゴリズムとデータ構造
   ・ヒューマンインタフェース
  ■今後どのような科目を履修するのに役立つか:
   ・プログラミング言語
   ・言語オートマトン
   ・分散処理システム
   ・コンピュータグラフィックス
   ・オペレーティングシステム
   ・特別研究におけるプログラミングやデザインなど
授業内容・授業計画/Course description・plan  
 この授業では「まず、やってみる、それから、学ぶ」をライトモチーフにしながら、以下のようなテーマに沿っ
て進めてゆく。ただし授業の進行状況に応じて変更することがある。
[第01回]
テーマ:開講にあたって(授業目的・授業内容・評価方法・教材など)
テーマ:14本の柱(コンピュータ科学のための教科課程)
 授業を始めるにあたって、授業目的・授業内容・評価方法・教材などを説明した後、コンピュータ科学のための
教科課程「cc2005」を援用し、受講生たちの前に学域の地図(マップ)を広げ、ソフトウェア工学やプログラミン
グ言語の学域における位置を示して、授業の動機づけを行う。
[第02回]
テーマ:ひとりじゃないって(分割コンパイルとバージョン管理)
テーマ:情報処理技術者(IT人材の卵として:コンピュータ理工学部の出身者として)
 現代のソフトウェアが独りで作成できるものではなく、複数人が協行して開発されていること、また、一つのプ
ログラミング言語だけで構成されているのではなく、複数のプログラミング言語で記述されたプログラムが融合し
て、大規模なアプリケーションになっていることを説明する。キーワードである「ひとりじゃないって」を臓腑に
落とすために、ソフトウェアのビルドツールと構成管理ツールを解題し、分割コンパイルとバージョン管理の方法
を学習する。加えて、IT人材の卵であるコンピュータ理工学部の出身者が備えなければならない技術を国家資格試
験と絡めて明らかにする。
[第03回]
テーマ:プロジェクトマネジメント
テーマ:学期を通して行うソフトウェア開発
 プロジェクトとは何であるのか、マネジメントとは何であるのか、それらをきちんとした後、プロジェクトをマ
ネジメントする手法を解題する。おもにスコープ・タイム・コスト・品質における管理手法を詳しく取り上げる。
また、学期を通して行うソフトウェア開発の試験を開示し説明し、学んだばかりのプロジェクトマネジメントを実
践させる。
[第04回]
テーマ:コードリーディング(プログラムを読む:どれくらいJavaプログラムを読めるのか)
テーマ:プログラムを読む力(読解力)
 ソフトウェアを開発(作成)する力の源であるプログラミング能力は、プログラムを書くことよりも、プログラ
ムを読むことによって養われることを説く。名作と称される良いプログラムを読み砕くためのコードリーディング
を解題する。Javaプログラミングの際の雛形を示し、面白いプログラムとデザインパターンを用いたプログラムを
開示する。
[第05回]
テーマ:スクリプト
 脚本や台本としてのプログラミングスタイル、ソフトウェアをプロトタイピングする方法を、デモンストレーショ
ンを実際に一緒に行うことによって体験する。1年次と2年次に学んだプログラミング言語との相違、ライトウエイ
トとヘビーウエイトの相異を会得する。また、今まで使用してきたターミナル(シェル)がスクリプト言語処理系
であることを明らかにする。
[第06回〜第07回]
テーマ:オブジェクト指向
 現代のソフトウェア開発の指導原理(パラダイム)となっているオブジェクト指向を、プログラミング言語を抜
きにして解説する。2年次に学んだJavaプログラミングにおけるオブジェクト指向を確固たるものにし、クラス・
インスタンス、インヘリタンス、ポリモーフィズム、メッセージパッシングなど、プログラミング言語から理解し
行解することに加えて、デザイン(設計)やアナリシス(要求分析)の過程でも使えるように、受講生の技量を引
き上げる。
[第08回]
テーマ:構造化と抽象化
テーマ:様々なアプリケーション
テーマ:データの安全性
 プログラミングにおけるソフトウェア工学的な視点として構造化と抽象化に焦点を当てる。並行して行われてい
るプロジェクト演習で開発するものたちを紹介しながら、ソフトウェアを開発する際に必要となる構造化と抽象化
を解説する。また、データの安全性についても解題する。
[第09回]
テーマ:ソフトウェアの構造
テーマ:クラス図を用いた分析
 UMLのクラス図(Class Diagram)による分析と設計を解説する。汎化と特化の関係、集約と分解の関係など、ソ
フトウェアの構造、特に静的な構造の側面から分析したり設計したりするときの勘所を学ぶ。これらの構造はオブ
ジェクト指向にとって極めて大切である。
[第10回]
テーマ:ソフトウェアの事態
テーマ:状態遷移図を用いた分析
 UMLの状態遷移図(State Transition Diagram)による分析と設計を解説する。システムに関する事象と状態に着
目して段階的な詳細化を行うときの勘所を学ぶ。オブジェクト間のメッセージのやり取りを時系列で表すシーケン
ス図についても説明する。
[第11回]
テーマ:ソフトウェアの機能
テーマ:データフロー図を用いた分析
 UMLのユースケース図(Use Case Diagram)などによる分析と設計を解説する。システムから見て、システムがそ
のように機能するのかを表すユースケース図の勘所を学ぶ。同時にデータの入出力に着目して機能を割り出す際に
用いるデータフロー図についても説明する。
[第12回]
テーマ:モデリング図法の出現
テーマ:オブジェクト指向分析設計
テーマ:デザインパターン
 ソフトウェアの構造・事態・機能の授業で登場した各種ダイアグラムを、UML誕生の歴史と絡めて解説する。そ
して、それらすべてをオブジェクト指向分析設計というソフトウェア開発手法としてまとめる。また、言語学や建
築学からの提言してのデザインパターンを、言語学者フェルディナン・ド・ソシュール、建築家クリストファー・
アレクザンダー、という二人からの発生という視点で解題する。
[第13回]
テーマ:テスティング(V&V:Verification and Validation)
テーマ:プロファイル(メトリクスへの足掛かり)
 まず、ソフトウェアシステムのテストの概要を説明し、テスト技法と評価、信頼度成長曲線などを解題してゆく。
さらに、システムの性能を測るプロファイラの存在を示し、メモリ消費の面、メッセージ送受信の面、これら二面
のプロファイルの見方を解説する。
[第14回]
テーマ:メトリクス
テーマ:ソフトウェアの発生
 品質を測定するための物差しや尺度としてのメトリクスに焦点を当てる。計測できなければ評価できないゆえに、
オブジェクト指向らしい作りになっているかを計測し評価する手法を紹介する。また、メトリクスを時を流して行
うことにより、ソフトウェアの開発過程や進化過程を見えるようになることへ誘う。
[第15回]
テーマ:メタモデリング
テーマ:閉講にあたって
 オブジェクト指向をオブジェクト指向で分析する。これを行うことによって、メタ開発過程の視点を得る。ちょ
うど、様々なソフトウェアシステムを開発する際の俯瞰や鳥瞰が手中に納まる。最後に、このセメスタを振り返っ
て、学んできたことをまとめる。
準備学習等(事前・事後学習)/Preparation and assignments  
 授業内容が実際のソフトウェアの開発・運用・保守の現場(ソフトウェアの企業)を想定している。そのため、
学問的なことばかりではなく、人・物・金の絡みなども範疇に入り、たいへん多くのことに気を配らなければなら
ない。事前に関係するところを調べて授業に臨み、その後、講義で学んだ知識を整理し、さらに理解を深めるため
に宿題レポートを真剣に行い、理解(りげ)から行解(ぎょうげ)に変えてほしい。また、数々の宿題には複数の
配付資料が関連する。したがって、配付資料の整頓も大切である。予習と復習を合わせて4時間ほどの学修をしな
ければ、授業に追随することが難しくなる。
[第01回]
テーマ:開講にあたって(授業目的・授業内容・評価方法・教材など)
テーマ:14本の柱(コンピュータ科学のための教科課程)
[事前学習]必ずシラバスを読んで初回の授業に臨むこと。配付資料を教員ページ(リポジトリ)またはmoodleペー
ジからダウンロード(チェックアウト)し、それを良く読み、事前に関係するところを調べて、疑問点を明らかに
して授業に臨むこと。約1時間ほどの学修(予習)を必要とする。
[事後学習]授業で学んだ知識内容と配布資料にメモした事柄を整理し復習すること。さらに理解を深めるため、
宿題レポートに果敢に取り組み、〆切までにmoodleを介して提出すること。講義で紹介された「14本の柱(CC2001,
 CC2005)」と本学部のカリキュラム構成の対応を取ること。履修登録は単位の取りやすさではなくて、自分の将
来を見越して、履修計画を立てる。それを前提にして、自分自身のためのカリキュラムマップを絵図として描くこ
と。およそ3時間ほどの学修(復習)を必要とする。
[第02回]
テーマ:ひとりじゃないって(分割コンパイルとバージョン管理)
テーマ:情報処理技術者(IT人材の卵として:コンピュータ理工学部の出身者として)
[事前学習]基礎プログラミング演習や発展プログラミング演習で行ってきたビルド(a.outなどの実行可能モジュ
ールや*.appなどのアプリケーションの作成)方法を振り返っておくこと。できれば、makeコマンドとMakefileの
ファイル形式を調査して授業に臨むことが好ましい。また、前回の内容を問う授業冒頭の短時間の小テストに備え
ること。約1時間ほどの学修(予習)を必要とする。
[事後学習]講義で分割コンパイルとバージョン管理システムが解題されたので、その効用や素人と玄人の差など
について考察すること。また、講義のタイトルが、なぜ「ひとりじゃないって」なのかを考えて慮って、これらを
問う宿題レポートに果敢に取り組み、〆切までにmoodleを介して提出すること。およそ3時間ほどの学修(復習)
を必要とする。
[第03回]
テーマ:プロジェクトマネジメント
テーマ:学期を通して行うソフトウェア開発
[事前学習]プロジェクトマネジメントの知識体系(PMBOK)を調べて、スコープ・タイム・コスト・品質・人的
資源・伝達・リスク・調達など概要を把握した上で授業に臨むこと。さらに、前回の内容を問う授業冒頭の短時間
の小テストに備えること。約1時間ほどの学修(予習)を必要とする。
[事後学習]学期を通して行うソフトウェア開発として長期的な課題が開示された。その課題をプロジェクトとし
て遂行するための計画を立てる(PERT図、またはプレシデンス図、またはガントチャートを描く)こと。さらに、
クリティカルパスが明示されたPERT図を作成して、プロジェクトの最短作業日数を求める問題群も出題される。そ
れらの宿題レポートに果敢に取り組み、〆切までにmoodleを介して提出すること。およそ3時間ほどの学修(復習
)を必要とする。
[第04回]
テーマ:コードリーディング(プログラムを読む:どれくらいJavaプログラムを読めるのか)
テーマ:プログラムを読む力(読解力)
[事前学習]いままでに作成したCプログラムそしてJavaプログラムなどを振り返って把握しておくこと。そして、
前回の内容を問う授業冒頭の短時間の小テストに備えること。約1時間ほどの学修(予習)を必要とする。
[事後学習]たくさんのJavaプログラムが提供され、これからそれらをどのようにするのか、手段・目標・目的の
観点からまとめること。そして、プログラマは「書く」より「読む」という千字ほどの文章を読んで、感じたこと、
考えたことを宿題レポートに記して、〆切までにmoodleを介して提出すること。およそ3時間ほどの学修(復習)
を必要とする。
[第05回]
テーマ:スクリプト
[事前学習]アプリケーションの多くが、一つ(一種類)のプログラミング言語だけで構築されていない、という
事実を調べ上げて授業に臨むこと。前回の内容を問う授業冒頭の短時間の小テストに備えること。約1時間ほどの
学修(予習)を必要とする。
[事後学習]アプリケーションデザインの最重要な要素の一つであるワークフロー(Automatorなど)について復
習すること。そして、今まで学んだプログラミング言語(CやJavaなど)と比較して、スクリプト(ShellScriptや
AppleScriptなど)のプログラミング言語は、何が異なるのか、何が同じなのか、を問う宿題レポートに果敢に取
り組み、〆切までにmoodleを介して提出すること。およそ3時間ほどの学修(復習)を必要とする。
[第06回〜第07回]
テーマ:オブジェクト指向
[事前学習]いままで学んだオブジェクト指向に関する知識を総動員し再確認して、ここが山場である授業に臨む
こと。また、前回の内容を問う授業冒頭の短時間の小テストに備えること。約1時間ほどの学修(予習)を必要と
する。
[事後学習]歴史的にオブジェクト指向を振り返り、オブジェクト指向に関わってきた人たちが紹介された。なぜ
オブジェクト指向が誕生したのか。そして、現在、プログラミングの原理原則(パラダイム)として、オブジェク
ト指向プログラミングが支配的となっている理由を考察すること。また、オブジェクト指向プログラミングを学ぶ
こととJavaを学ぶことの相異点を明確にすること。さらに、エドガー・ダイクストラさんがプログラムの手続きの
中に持ち込んだ構造化(if・while・for...:いわゆるgoto禁止)は、アラン・ケイさんのオブジェクト指向にお
いて、どのような変貌を遂げたのかを、配付資料「3_Enumeration_発生と構造.key.pdf」と「4_ConditionalBranc
h.java.pdf」と「4_Example.java.pdf」をコードリーディングして論考すること。これらを問う宿題レポートに果
敢に取り組み、〆切までにmoodleを介して提出すること。およそ3時間ほどの学修(復習)を必要とする。
[第08回]
テーマ:構造化と抽象化
テーマ:様々なアプリケーション
テーマ:データの安全性
[事前学習]メッセージングの並行性と分散性を前提にした構造化と抽象化について調査して授業に臨むこと。さ
らに、前回の内容を問う授業冒頭の短時間の小テストに備えること。約1時間ほどの学修(予習)を必要とする。
[事後学習]長期的課題の開発プロジェクトの実績報告を、PMBOK(プロジェクト管理知識体系)に則って(スコー
プやスケジュールそしてコストなどの分野別の状況報告、進捗測定結果、今後の予測などパフォーマンス情報を収
集し、ステークホルダーに配布するプロセスを実施して)報告すること。加えて、宿題レポートとして、SWEBOK(
ソフトウエア工学知識体系)の全容を表す絵図を描き、自らが理解した内容を記載することが課される。果敢に取
り組み、〆切までにmoodleを介して提出すること。およそ3時間ほどの学修(復習)を必要とする。
[第09回]
テーマ:ソフトウェアの構造
テーマ:クラス図を用いた分析
[事前学習]ソフトウェアの構造的な事項を調べて授業に臨むこと。そして、前回の内容を問う授業冒頭の短時間
の小テストに備えること。約1時間ほどの学修(予習)を必要とする。
[事後学習]クラス図(およびオブジェクト図)を用いて分析することを課した宿題レポートに果敢に取り組み、
〆切までにmoodleを介して提出すること。およそ3時間ほどの学修(復習)を必要とする。
[第10回]
テーマ:ソフトウェアの事態
テーマ:状態遷移図を用いた分析
[事前学習]ソフトウェアの中に存在する状態と事象を調べて授業に臨むこと。加えて、前回の内容を問う授業冒
頭の短時間の小テストに備えること。約1時間ほどの学修(予習)を必要とする。
[事後学習]状態遷移図(およびシーケンス図)を用いて分析することを課した宿題レポートに果敢に取り組み、
〆切までにmoodleを介して提出すること。およそ3時間ほどの学修(復習)を必要とする。
[第11回]
テーマ:ソフトウェアの機能
テーマ:データフロー図を用いた分析
[事前学習]入出力に着目してソフトウェアの機能を見定めることについて調べておくこと。また、前回の内容を
問う授業冒頭の短時間の小テストに備えること。約1時間ほどの学修(予習)を必要とする。
[事後学習]データフロー図(およびユースケース図)を用いて分析することを課した宿題レポートに果敢に取り
組み、〆切までにmoodleを介して提出すること。およそ3時間ほどの学修(復習)を必要とする。
[第12回]
テーマ:モデリング図法の出現
テーマ:オブジェクト指向分析設計
テーマ:デザインパターン
[事前学習]できるかぎり、UML(Unified Modeling Language)やデザインパターンについて調べて授業に臨むこ
と。さらに、前回の内容を問う授業冒頭の短時間の小テストに備えること。約1時間ほどの学修(予習)を必要と
する。
[事後学習]デザインパターンを含むオブジェクト指向分析設計におけるモデリング図法を概観するための宿題レ
ポートに果敢に取り組み、〆切までにmoodleを介して提出すること。およそ3時間ほどの学修(復習)を必要とす
る。
[第13回]
テーマ:テスティング(V&V:Verification and Validation)
テーマ:プロファイル(メトリクスへの足掛かり)
[事前学習]ウォーターフォールモデル、V字モデル、スパイラルモデルなど、ソフトウェアプロセスにおけるテ
スティング(検証と妥当性確認)について調査しておくこと。そして、前回の内容を問う授業冒頭の短時間の小テ
ストに備えること。約1時間ほどの学修(予習)を必要とする。
[事後学習]テストとデバッグの相異、テストとデバッグを行う人が同じ人であっていいのかなどについて問う。
加えて、いままで作ったプログラムに対して、どんなテスティングを行ってきたのかも問う。それらの問いを含む
宿題レポートに果敢に取り組み、〆切までにmoodleを介して提出すること。およそ3時間ほどの学修(復習)を必
要とする。
[第14回]
テーマ:メトリクス
テーマ:ソフトウェアの発生
[事前学習]品質を測定するための物差しや尺度であるメトリクスについて調査(予習)を行うこと。前回の内容
を問う授業冒頭の短時間の小テストに備えること。約1時間ほどの学修(予習)を必要とする。
[事後学習]なぜソフトウェア(製品)をメトリクス(測定)しなければならないのかを考察すること。いままで
作ったプログラムにメトリクスを施したことがあったかを省みること。それらを問う宿題レポートに果敢に取り組
み、〆切までにmoodleを介して提出すること。およそ3時間ほどの学修(復習)を必要とする。
[第15回]
テーマ:メタモデリング
テーマ:閉講にあたって
[事前学習]最終回にあたり、いままで学んだ事柄の総復習をして授業に臨み、全回の内容を問う最終テストに備
えること。また、前回の内容を問う授業冒頭の短時間の小テストに備えること。約1時間ほどの学修(予習)を必
要とする。
[事後学習]学んだ事柄の中から、大切だと思う事柄を列挙し、それらの関係性を鑑みて、この授業の総まとめを
すること。ソフトウェア工学IIを受講する前、そして、ソフトウェア工学IIを受講した今、自分にどんな変化があっ
たか、今後に起こるであろう変化など、過去・現在・未来の「時の三分」を用いて記載することを課す宿題レポー
トに果敢に取り組み、〆切までにmoodleを介して提出すること。およそ3時間ほどの学修(復習)を必要とする。
授業の到達目標/Expected outcome  
 産業界で行われているソフトウェアの開発がプログラミングの工程だけで成立していないこと、その前後に分析
・設計・テスト・運用・保守などの工程が存在し、プログラミングの工程よりも長く、さらに重要であることを知っ
て、それらに対処できる知識と技能の獲得を到達目標とする。動くプログラム(ソフトウェア)と正しいプログラ
ム(ソフトウェア)の相異を知ることも重要である。
 少なくとも、オブジェクト指向分析設計法を科学と工学の両面から会得し、UML(Unified Modeling Language)
やデザインパターンを実際に駆使できるところをめざす。特別研究(卒業研究)やプロジェクト演習などで、ソフ
トウェア(プログラム)を実際に作成しなければならないときに役立つであろう。
 すなわち、学位授与の方針(ディプロマ・ポリシー)の一環である「当該専門科目を充分に理解し、プログラム
作成などの技術力を身につけて、情報化社会に寄与できる応用力を養うこと」が到達目標である。
身に付く力/Special abilities to be attained  
 論理的思考力(課題発見力、計画力、論理的分析力、総合的判断力)、実践力(働きかけ力、実行力、主体性)、
そして、実社会の開発現場で役立つコンピュータ理工学「ソフトウェアの科学と工学の双方」の知識と技術を身に
つけることができる。
履修上の注意/Special notes, cautions  
 システムエンジニア(SE)などの情報系の職種を希望している者の履修を強く勧める。2年次の秋学期の「ソフ
トウェア工学I」を引き継ぐ授業であるが、その取得(未取得)に関わらず、良いソフトウェアをめざしたい、効
率的にコストをかけずに高品質のソフトウェアを開発したい・運用したい・保守したいと望む者の履修を勧める。
 毎回、各自のコンピュータを持参し、必ずネットワークに接続して、授業が始まる前までに稼働状態にしておく
こと。講義中に援用するプログラムはネットワークを介して取得する。リポジトリ(SCM: Software 
Configuration Management、たとえばSubversionやGitなどのソフトウェア構成管理)もアクセスするので、その
作法(マナー)に慣れること。
評価方法/Evaluation  
 毎回の授業の初めに課す小テストを30%、毎回の授業の終わりに課す宿題レポートを40%、長期的な課題を30%、
合計100%として、それらの出来具合を総合的に評価する。法令に「1単位45時間(2単位90時間)の学修」が宣わ
れている。授業の終わりに課される宿題レポートは、当該時間(1回すなわち1限分の授業を受けたら約4時間の学
修)を確保するものであるから、その時間に見合うレポート内容(質と量:A4版で数ページ以上)を必要とする。
また、授業の初めに課される短時間の小テストは、当該学修時間の成果を見極めるために実施し、授業への取り組
みや姿勢を(出欠および遅刻などを含めて)つまびらかにするものでもある。小テストの実施と宿題レポート(長
期的な課題を含む)の提出およびフィードバックは、都度moodleを介して行うので、必ず目を通して振り返りをす
ること。
教 材/Text and materials  
 教科書:配付資料
 参考書:玉井哲雄『ソフトウェア工学の基礎』(岩波書店,2004)
 参考書:青木淳,浅岡浩子,澤本依里『Smalltalkで学ぶオブジェクト指向プログラミングの本質』(日経BP社
,2008)
 参照URL:http://www.cc.kyoto-su.ac.jp/~atsushi/
その他/Others  
【実務経験のある教員による授業科目】
 研究室:第2実験室棟3階65実験室
 オフィスアワー:木曜日3限(13:15-14:45)
 連絡先:配付資料の表紙に記載されているメールアドレス
 授業に関する質問やホウレンソウ(報告・連絡・相談)がある場合には、オフィスアワーの時間に研究室へ訪問
するか、メールで問い合わせること。メールアドレスは配付資料の表紙に記載されている。
Copyright (C) 2019 Kyoto Sangyo University. All rights reserved.