情報工学演習Ⅲ

科目基礎情報

学校 有明工業高等専門学校 開講年度 平成30年度 (2018年度)
授業科目 情報工学演習Ⅲ
科目番号 0039 科目区分 専門 / 必修
授業形態 授業 単位の種別と単位数 学修単位: 2
開設学科 電子情報工学科 対象学年 4
開設期 通年 週時間数 前期:1 後期:1
教科書/教材 なし(プリントによる資料を配付)
担当教員 森山 英明

到達目標

1.演習を通じて,オペレーティングシステム,計算機アーキテクチャ,プログラミング,アルゴリズムなどの授業の関連性を認識することができる
2.オブジェクト指向プログラミング言語の概念を理解できる
3.ソフトウェアの企画,仕様検討,開発,ドキュメント作成といった一連の工程を通じて,ソフトウェア開発の理解を深めることができる

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1標準的な到達レベルに加え,効率の良いアルゴリズムの選択やデータ管理ができる.これまでに学習した 情報工学の知識を用いて,ソフトウェア開発ができる.ソフトウェアの開発を行うことができない.
評価項目2標準的な到達レベルに加え,適切な開発環境とプログラミング言語を選択し開発できる.オブジェクト指向プログラミングの概念を理解し,特徴を活かした開発ができる.オブジェクト指向プログラミングによる開発を行うことができない.
評価項目3標準的な到達レベルに加え,進捗に応じた計画の修正ができる.各開発工程に応じた成果物を作成できる.各開発工程に応じた成果物を提出できない.

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

学習・教育到達度目標 B-3 説明 閉じる
学習・教育到達度目標 C-1 説明 閉じる

教育方法等

概要:
コンピュータシステムに関して学んだ様々な理論や技術を再認識し,実際のコンピュータ上で動作するプログラムを実現することを目的とする.特に,オブジェクト指向プログラミング言語と統合開発環境を用いた手法に関して演習を通じて理解を深め,ソフトウェアの企画,仕様検討,開発,ドキュメント作成といった工程を通じてソフトウェア開発の理解を深めることを目的とする.
授業の進め方・方法:
授業の最初に講義を行い,演習課題を出題する.課題によっては,資料収集やレポート作成が授業時間外にも及ぶ可能性がある.また,ソフトウェア開発では,各自の企画や進捗により,授業時間外に開発する必要がある.
注意点:
プログラミングやアルゴリズムを始めとするプログラミング技術が必須となる. また,システムプログラムや計算機工学などのコンピュータシステム自身の概念的な理解も必要である.
参考書:
・オペレーティングシステム入門[新版];古市栄治/日本理工出版会
・C言語によるプログラミング[基礎編]、[応用編];内田智史/オーム社
・はじめてのC;椋田/技術評論社

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 知的所有権 プログラムやインターネット上の情報に関する著作権を整理し,考察できる.
2週 サイバー犯罪とネットワークマナー サイバー犯罪に関する統計とネットワークマナーに関する情報を整理し,考察できる.
3週 不正アクセスとコンピュータウィルス 不正アクセス行為とコンピュータウィルスの動作を把握し,防御手段を考察できる.
4週 入門的オブジェクト指向1 オブジェクト指向の概念を理解し,身の回りにどのようなオブジェクトがあるか考察できる.
5週 入門的オブジェクト指向2 オブジェクト指向を利用することの利点と特徴的なキーワードを整理し説明できる.
6週 オブジェクト指向スクリプト言語1 演習を通じて,スクリプト言語の概念を理解できる.
7週 オブジェクト指向スクリプト言語2 JavaScriptを用いた演習を通じて,スクリプト言語を理解できる.
8週 オブジェクト指向プログラミング言語1 オブジェクト指向プログラミング言語を用いて,基本的なプログラムを作成できる.
2ndQ
9週 オブジェクト指向プログラミング言語2 クラスや継承などの特徴的な概念を理解し,これらを用いたプログラムを作成できる.
10週 オブジェクト指向プログラミング言語3 他のオブジェクト指向プログラミング言語や統合開発環境の情報を整理し説明できる.
11週 統合開発環境を用いたプログラム開発1 統合開発環境を用いて,簡単なGUIのプログラムを作成できる.
12週 統合開発環境を用いたプログラム開発2 統合開発環境で用意されている様々な部品の使い方を理解できる.
13週 統合開発環境を用いたプログラム開発3 プログラムの作成を通じて,イベントプロシージャの扱いを理解できる.
14週 統合開発環境を用いたプログラム開発4 これまでの演習の応用として,指示された簡単なソフトウェアを自分で設計し,開発できる.
15週 ソフトウェア開発の手順 ソフトウェア開発で必要となる一連の開発工程を理解できる.
16週
後期
3rdQ
1週 基本計画1 どのような機能を持つシステムを作成するか,自身で企画することができる.
2週 基本計画2 システムの目的や機能の概要を整理し,基本計画書として文書化できる.
3週 基本設計1 システムで実装する機能を列挙し,各機能の処理を詳細に示すことができる.
4週 基本設計2 各機能の入出力データを把握し,基本設計書として文書化できる.
5週 機能設計、詳細設計1 システムで実装する画面の構成とレイアウトを考察できる.
6週 機能設計、詳細設計2 画面が遷移する条件を考察し,画面遷移図として示すことができる.
7週 機能設計、詳細設計3 各画面のレイアウトと画面遷移図から,機能設計書として文書化できる.
8週 コーディング1 これまでに作成した仕様書に応じて,システムの各画面を設計できる.
4thQ
9週 コーディング2 システムのイベントプロシージャを定義し,仕様書に応じた機能を実装できる.
10週 コーディング3 システムの動作を確認し,必要に応じて機能の修正を行うことができる.
11週 コーディング4 現在の進捗に応じて,計画の修正を行うことができる.
12週 デバッグ、試験1 システムで必要となる試験項目と検証項目を抽出することができる.
13週 デバッグ、試験2 抽出した項目に対して試験と検証を行い,テスト結果を文書化できる.
14週 リリース1 システムを実行可能な形式に変換し,実行環境に関する考察ができる.
15週 リリース2 システムを説明として,マニュアルを作成することができる.
16週

モデルコアカリキュラムの学習内容と到達目標

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学情報系分野プログラミング変数の概念を説明できる。4
データ型の概念を説明できる。4
代入や演算子の概念を理解し、式を記述できる。4
制御構造の概念を理解し、条件分岐を記述できる。4
制御構造の概念を理解し、反復処理を記述できる。4
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。4
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。4
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。4
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。4
主要な言語処理プロセッサの種類と特徴を説明できる。4
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。4
プログラミング言語は計算モデルによって分類されることを説明できる。4
主要な計算モデルを説明できる。4
要求仕様に従って、いずれかの手法により動作するプログラムを設計することができる。4
要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。4
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。4
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを実装できる。4
ソフトウェアアルゴリズムの概念を説明できる。4
与えられたアルゴリズムが問題を解決していく過程を説明できる。4
整列、探索など、基本的なアルゴリズムについて説明できる。4
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。4
ソフトウェアを中心としたシステム開発のプロセスを説明できる。4
計算機工学整数を2進数、10進数、16進数で表現できる。4
基数が異なる数の間で相互に変換できる。4
コンピュータシステムシステム設計には、要求される機能をハードウェアとソフトウェアでどのように実現するかなどの要求の振り分けやシステム構成の決定が含まれることを説明できる。4
ユーザの要求に従ってシステム設計を行うプロセスを説明することができる。4
プロジェクト管理の必要性について説明できる。4
その他の学習内容少なくとも一つの具体的なコンピュータシステムについて、起動・終了やファイル操作など、基本的操作が行える。4
少なくとも一つの具体的なオフィススイート等を使って、文書作成や図表作成ができ、報告書やプレゼンテーション資料を作成できる。4
少なくとも一つのメールツールとWebブラウザを使って、メールの送受信とWebブラウジングを行うことができる。4
コンピュータウィルスやフィッシングなど、コンピュータを扱っている際に遭遇しうる代表的な脅威について説明できる。4
コンピュータを扱っている際に遭遇しうる脅威に対する対策例について説明できる。4
マルウェアやフィッシングなど、コンピュータを扱っている際に遭遇しうる代表的な脅威について説明できる。4
分野別の工学実験・実習能力情報系分野【実験・実習能力】情報系【実験・実習】与えられた問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。4
ソフトウェア生成に利用される標準的なツールや環境を使い、ソースプログラムをロードモジュールに変換して実行できる。4
問題を解決するために、与えられたアルゴリズムを用いてソースプログラムを記述し、得られた実行結果を確認できる。4
ソフトウェア開発の現場において標準的とされるツールを使い、生成したロードモジュールの動作を確認できる。4
標準的な開発ツールを用いてプログラミングするための開発環境構築ができる。4
要求仕様にあったソフトウェア(アプリケーション)を構築するために必要なツールや開発環境を構築することができる。4
要求仕様に従って標準的な手法によりプログラムを設計し、適切な実行結果を得ることができる。4
分野横断的能力汎用的技能汎用的技能汎用的技能特性要因図、樹形図、ロジックツリーなど課題発見・現状分析のために効果的な図や表を用いることができる。3
どのような過程で結論を導いたか思考の過程を他者に説明できる。3
総合的な学習経験と創造的思考力総合的な学習経験と創造的思考力総合的な学習経験と創造的思考力工学的な課題を論理的・合理的な方法で明確化できる。3
要求に適合したシステム、構成要素、工程等の設計に取り組むことができる。3
課題や要求に対する設計解を提示するための一連のプロセス(課題認識・構想・設計・製作・評価など)を実践できる。3
提案する設計解が要求を満たすものであるか評価しなければならないことを把握している。3

評価割合

試験発表相互評価態度ポートフォリオその他合計
総合評価割合00001000100
基礎的能力000030030
専門的能力000060060
分野横断的能力000010010