ソフトウエア科学概論

科目基礎情報

学校 佐世保工業高等専門学校 開講年度 平成30年度 (2018年度)
授業科目 ソフトウエア科学概論
科目番号 0021 科目区分 専門 / 選択
授業形態 講義 単位の種別と単位数 学修単位: 2
開設学科 複合工学専攻 対象学年 専1
開設期 後期 週時間数 2
教科書/教材 配布資料
担当教員 手島 裕詞

到達目標

1.コンピュータを活用し、プログラミングや演習データの評価を行い、報告書を作成できる(A2)
2.ソフトウェアの開発プロセスをモデルごとに分析し、説明できる。(A3)
3.主要な計算モデルを説明でき、また、プログラムの計算量やメモリ効率を評価し、整列や統計処理をプログラミングすることができる。(A3)
4.コンパイラの仕組みや役割について理解し、コンパイラ開発に必要な技術を説明できる。(A3)
5.情報セキュリティの基礎を理解し、エンコード、フォレンジック、web、ネットワークに関する問題を解決できる(A3)
6.オブジェクト指向の基礎を理解し、複素数やベクトルなどを扱う基本的なクラスを定義することができる。(A3)

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1 (到達目標1)コンピュータを活用した情報収集やプログラミング、および演習データの評価を行い、わかりやすい報告書を作成できる。コンピュータを活用した情報収集やプログラミング、および演習データの評価を行い報告書を作成できる。コンピュータを活用した情報収集やプログラミングができない。また、コンピュータを用いて報告書を作成できない。
評価項目2 (到達目標2、3、4)ソフトウェアの開発プロセスに関するモデル・技術について、それぞれの特徴を分析し、説明できる。また、計算モデル、コンパイラについてそれぞれ特徴や役割を説明できる。さらにプログラミングの計算量を評価できる。ソフトウェアの開発プロセスに関するモデル・技術について、それぞれの特徴を分析し、ある程度説明できる。また、計算モデル、コンパイラについてそれぞれ特徴や役割をある程度説明できる。さらにプログラミングの計算量をある程度評価できる。ソフトウェアの開発プロセスに関するモデル・技術について、それぞれの特徴を説明できない。また、計算モデル、コンパイラについてそれぞれ特徴や役割を説明できない。さらにプログラミングの計算量を評価できない。
評価項目3 (到達目標5)情報セキュリティの基礎技術を理解し、インシデント対応について説明できる。情報セキュリティの基礎技術を理解し、インシデント対応についてある程度説明できる。情報セキュリティの基礎技術を理解できない。インシデント対応について説明できない。
評価項目4 (到達目標6)オブジェクト指向の基礎を理解し、複素数やベクトル等を扱う基本的なクラスを適切に定義し、要求された処理を実現することができる。オブジェクト指向の基礎を理解し、複素数やベクトル等を扱う基本的なクラスを定義し、要求された処理のほとんどを実現することができる。複素数やベクトル等を扱う基本的なクラスをほとんど定義できない。

学科の到達目標項目との関係

教育方法等

概要:
ソフトウェア・システム開発のプロセスについて学習し、また、プログラムの計算量についてC言語を用いた実習を通じて理解を深める。情報セキュリティに関する演習を通じて基礎技術を習得する。さらに、C++言語を用いて複数のクラスを定義し、それを利用することでオブジェクト指向の基本を理解する。
授業の進め方・方法:
予備知識 : コーディングから実行ファイル生成までの流れと、これまで学習した情報通信技術の復習が必要である。特に、C言語の復習は重要である。
講義室 : ICT
授業形式 : 講義・演習 (前半の授業の一部でC言語プログラミングを行い、後半のオブジェクト指向への連結を円滑にする。)
学生が用意するもの : 特になし
注意点:
評価方法 : 中間評価(筆記試験60%、課題40%)と期末評価(筆記試験60%、課題40%)の平均点で評価し、60点以上を合格とする。ただし、課題は60%以上の点数をとることが合格の条件である。
自己学習の指針 : 予習、復習時間は2時間以上が望ましい。また、試験の前までに授業内容の重点を整理しておくこと。
オフィスアワー : 水曜日、金曜日の16:00~17:00
※到達目標の( )内の記号はJABEE学習・教育到達目標

授業計画

授業内容 週ごとの到達目標
後期
3rdQ
1週 ソフトウェア開発プロセス(1) システム開発のプロセスを理解できる。
2週 C++言語、変数、入出力 開発ツールを用いてC++でプログラミングできる。
3週 制御構造 効率の良い制御構造を記述できる。
4週 プログラム解析 ソースプログラムの処理効率を評価し、複数のプログラムの実行効率を計算量から比較できる。
5週 文字列 文字列を操作する関数を活用できる。
6週 関数 参照渡しと値渡しの違いを説明できる。また、C言語とC++言語での参照渡しの記述の違いを理解し、関数を定義できる。
7週 構造体 構造体と配列の違いを理解し、プログラミングできる。
8週 中間試験
4thQ
9週 オブジェクト指向言語の概要 オブジェクト指向の概要を理解し、簡単なクラスを定義できる。
10週 クラスの定義(1) クラスを定義し、要求された処理を実現できる。
11週 クラスの定義(2) データ隠ぺいを考慮してクラスを定義できる。
12週 クラスの定義(3) オペレータの定義とそれを用いたクラスの操作ができる。
13週 クラスの定義(4) 与えられた要求し従いクラスを定義し、活用できる。
14週 情報セキュリティ演習(1) 情報セキュリティに関する技術を説明できる。
15週 情報セキュリティ演習(2) サイバー防御演習を通じてインシデント対応を理解できる。
16週 定期試験

評価割合

試験課題合計
総合評価割合6040100
基礎的能力000
専門的能力6040100
分野横断的能力000