計算機ソフトウェア

科目基礎情報

学校 群馬工業高等専門学校 開講年度 令和02年度 (2020年度)
授業科目 計算機ソフトウェア
科目番号 4J014 科目区分 専門 / 必修
授業形態 授業 単位の種別と単位数 履修単位: 2
開設学科 電子情報工学科 対象学年 4
開設期 通年 週時間数 2
教科書/教材 (前期)作って覚えるVisual C# 2017 デスクトップアプリ入門:荻原裕之・宮崎昭世:秀和システム,(後期)アルゴリズムとデータ構造 第2版:藤原 暁宏:森北出版 / その他必要に応じて適宜参考書を指定・参照する
担当教員 川本 真一

到達目標

□GUIプログラミングの基本的な手法について説明できる
□木構造の基本的な事項について説明できる
□グラフの基本的な事項について説明できる

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1GUIプログラミングの基本的な手法について具体的に説明できるGUIプログラミングの基本的な手法について説明できるGUIプログラミングの基本的な手法について説明できない
評価項目2木構造の基本的な事項について具体的に説明できる木構造の基本的な事項について説明できる木構造の基本的な事項について説明できない
評価項目3グラフの基本的な事項について具体的に説明できるグラフの基本的な事項について説明できるグラフの基本的な事項について説明できない

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

教育方法等

概要:
コンピュータを操作するインタフェースの基本として、GUIプログラミングを取りあげ、いくつかの簡単な例を題材として学習する。
また、基本的なデータ構造である木構造、グラフについても、その特徴やコンピュータ上での扱い方について、学習する。
授業の進め方・方法:
座学による講義とプログラミングの演習を併用して進めます。
注意点:
2年次までに学んだC言語の基礎知識、および3年次までに学んだアルゴリズムとデータ構造に関する知識については理解していることを前提としています。

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 前期ガイダンス 前期に扱う話題、授業の進め方、前提知識を確認する
2週 プログラミング言語概論 GUIプログラミングに使用するプログラミング言語の概要、およびGUIプログラミングの基本構造を理解する
3週 プログラミング環境概論 GUIプログラミングを行う環境について理解し、簡単なサンプルプログラムをコンパイルし実行できる
4週 コントロール ツールボックスのコントロールを配置できる
5週 入力データの扱い コントロールを通じて入力されたデータをプログラム上で取り出すことができる
6週 イベント処理 ボタンなどの操作にともなうイベント処理の流れを説明できる
7週 タイマー タイマーを利用した際の処理の流れを説明できる
8週 マウス・キーボード マウス入力・キーボード入力のイベント受け取りについて理解できる
2ndQ
9週 木構造 木構造の基本事項を確認する
10週 木構造 2分探索木の基本事項を理解する
11週 木構造 2分探索木への要素の挿入と削除の操作を理解する
12週 木構造 AVL木の基本事項を理解する
13週 木構造 ヒープ木の基本事項を確認する
14週 木構造 ヒープ木の操作を理解する
15週 前期期末試験
16週 前半のまとめと振り返り
後期
3rdQ
1週 後期ガイダンス 後期に扱う話題を理解し、前提知識を確認する
2週 ビットマップ画像 GUIプログラム上でビットマップ画像を表示できる
3週 フォント GUIプログラム上のフォントの設定・変更ができる
4週 図形描画 GUIプログラム上で円などの基本図形を描画できる
5週 アニメーション タイマーと基本図形描画を利用して、画面上の描画が時々刻々変化する記述ができる
6週 メニュー・ダイアログボックス メニューおよびダイアログに関する処理の違いについて説明できる
7週 GUIプログラミング演習 ここまでに学んだGUIプログラミングに関する知識を復習し、プログラムに利用できる
8週 後期中間試験
4thQ
9週 グラフの基礎 グラフの基本事項を確認する
10週 グラフの基礎 プログラム上でのグラフの扱いを理解する
11週 グラフの基礎 グラフの探索(幅優先)の基本事項を理解する
12週 グラフの基礎 グラフの探索(深さ優先)の基本事項を理解する
13週 グラフの基礎 重み付きグラフのアルゴリズム事例(ダイクストラ法)を理解する
14週 グラフの基礎 有向グラフのアルゴリズム事例(トポロジカルソート)を理解する
15週 後期期末試験
16週 後半のまとめと振り返り

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

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学情報系分野プログラミング変数とデータ型の概念を説明できる。3
制御構造の概念を理解し、条件分岐や反復処理を記述できる。3
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。4前2,前3,前4,前5,前6,前7,前8,後1,後2,後3,後4,後5,後6,後7
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。4
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。4前2,前3,前4,前5,前6,前7,前8,後1,後2,後3,後4,後5,後6,後7
主要な言語処理プロセッサの種類と特徴を説明できる。4前2,前3
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。4前2,前3
ソフトウェアアルゴリズムの概念を説明できる。4
与えられたアルゴリズムが問題を解決していく過程を説明できる。4
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。4前10,前11,前12,前13,前14,前15,後9,後10,後11,後12,後15
時間計算量によってアルゴリズムを比較・評価できることを説明できる。4
領域計算量などによってアルゴリズムを比較・評価できることを説明できる。4
整列、探索など、基本的なアルゴリズムについて説明できる。4
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。4前9,前10,前11,前12,前13,前14,前15,後9,後10,後11,後12,後13,後14,後15
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを説明できる。4
リスト構造、スタック、キュー、木構造などの基本的なデータ構造の概念と操作を説明できる。4前9,前10,前11,前12,前13,前14,前15,後9,後10,後11,後12,後13,後14,後15
リスト構造、スタック、キュー、木構造などの基本的なデータ構造を実装することができる。4
ソフトウェアを中心としたシステム開発のプロセスを説明できる。4
ソースプログラムを解析することにより、計算量等のさまざまな観点から評価できる。4
同じ問題を解決する複数のプログラムを計算量等の観点から比較できる。4前9,前10,前11,前12,前13,前14,前15,後10,後11,後12,後15
分野別の工学実験・実習能力情報系分野【実験・実習能力】情報系【実験・実習】与えられた問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。4前2,前3,前4,前5,前6,前7,前8,後2,後3,後4,後5,後6,後7
フローチャートなどを用いて、作成するプログラムの設計図を作成することができる。4
ソフトウェア生成に利用される標準的なツールや環境を使い、ソースプログラムをロードモジュールに変換して実行できる。4前2,前3,前4,前5,前6,前7,前8,後2,後3,後4,後5,後6,後7
問題を解決するために、与えられたアルゴリズムを用いてソースプログラムを記述し、得られた実行結果を確認できる。4
ソフトウェア開発の現場において標準的とされるツールを使い、生成したロードモジュールの動作を確認できる。4前2,前3,前4,前5,前6,前7,前8,後2,後3,後4,後5,後6,後7

評価割合

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