ソフトウエア科学概論

科目基礎情報

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

到達目標

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

ルーブリック

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

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

学習・教育到達度目標 A-2 説明 閉じる
学習・教育到達度目標 A-3 説明 閉じる
JABEE b 説明 閉じる
JABEE d-2 説明 閉じる
JABEE e 説明 閉じる

教育方法等

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

授業の属性・履修上の区分

アクティブラーニング
ICT 利用
遠隔授業対応
実務経験のある教員による授業

授業計画

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

評価割合

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