情報技術実習Ⅱ

科目基礎情報

学校 鹿児島工業高等専門学校 開講年度 2017
授業科目 情報技術実習Ⅱ
科目番号 0034 科目区分 専門 / 選択
授業形態 実験・実習 単位の種別と単位数 履修単位: 1
開設学科 情報工学科 対象学年 4
開設期 前期 週時間数 2
教科書/教材 [補助教材]Graham Hutton『プログラミング Haskell』(オーム社)
担当教員 磯川 幸直

到達目標

1.型とクラスを理解できる
2.関数定義を正しく行うことができる
3.リスト内包表記を正しく用いることができる
4.再帰関数を正しく定義できる
5.高階関数を正しく用いることができる
6.対話プログラムを書くことができる

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
型とクラスを理解できる型だけでなく、クラスの概念も理解できるリスト型と関数型を理解できる整数と文字列だけしか理解できない
関数定義を正しく行うことができるセクションおよびラムダ式を正しく用いることができるパターンマッチを正しく行うことができるパターンマッチを正しく行うことができない
リスト内包表記を正しく用いることができるリスト内包表記を正しく用いることができるリスト内包表記を正しく用いることができない
再帰関数を正しく定義できる多重再帰および相互再帰も正しく定義できる単純再帰を正しく定義できる単純再帰すら定義できない
高階関数を正しく用いることができる畳み込み関数 foldr および foldl を正しく用いることができる高階関数 map および filter を正しく用いることができる高階関数 map および filter すら用いることができない
対話プログラムを書くことができるIO モナドを用いて、ある程度複雑な対話プログラム(たとえば電卓プログラム)を書くことができるIO モナドを用いることができるIO モナドを用いることができない

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

教育プログラムの科目分類 (2)② 説明 閉じる
JABEE(2012)基準 1(2)(c) 説明 閉じる
教育プログラムの学習・教育到達目標 3-2 説明 閉じる
本科(準学士課程)の学習・教育到達目標 3-c 説明 閉じる

教育方法等

概要:
Haskell によるプログラミング入門
授業の進め方・方法:
(1) 資料に沿ってプログラム例を解説する。そのあと授業時間内では、(2) 例と類似の簡単な問題を各自が解く。
(3) 数回の授業の後、少々高度な問題をレポートに課す。(4) 学期末には、かなり高度な問題を試験問題の例として提示する。
注意点:
「習うより慣れよ」という勉強法が推奨されることが多いが、この勉強法は誤りで、本当に大事な事は自力で問題を解きながら、基本的な考え方を徹底的に理解することである。

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 導入 以下の項目を理解する
□型とクラス
□ 関数定義
□ リスト内包表記
2週 導入 以下の項目を理解する
□型とクラス
□ 関数定義
□ リスト内包表記
3週 導入 以下の項目を理解する
□型とクラス
□ 関数定義
□ リスト内包表記
4週 導入 以下の項目を理解する
□型とクラス
□ 関数定義
□ リスト内包表記
5週 導入 以下の項目を理解する
□型とクラス
□ 関数定義
□ リスト内包表記
6週 関数型プログラミング 以下の項目を理解する
□ 再帰関数
□ 高階関数
7週 関数型プログラミング 以下の項目を理解する
□ 再帰関数
□ 高階関数
8週 関数型プログラミング 以下の項目を理解する
□ 再帰関数
□ 高階関数
2ndQ
9週 関数型プログラミング 以下の項目を理解する
□ 再帰関数
□ 高階関数
10週 関数型プログラミング 以下の項目を理解する
□ 再帰関数
□ 高階関数
11週 以下の項目を理解する
□ 関数型パーサー
□ 対話プログラム
□ 型とクラスの定義
12週 以下の項目を理解する
□ 関数型パーサー
□ 対話プログラム
□ 型とクラスの定義
13週 以下の項目を理解する
□ 関数型パーサー
□ 対話プログラム
□ 型とクラスの定義
14週 以下の項目を理解する
□ 関数型パーサー
□ 対話プログラム
□ 型とクラスの定義
15週 試験答案の返却・解説 試験において間違えた部分を自分の課題として把握する
16週

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

分類分野学習内容学習内容の到達目標到達レベル授業週
基礎的能力工学基礎情報リテラシー情報リテラシー同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。3
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。3
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。3
専門的能力分野別の専門工学情報系分野プログラミング変数とデータ型の概念を説明できる。4
制御構造の概念を理解し、条件分岐や反復処理を記述できる。4
変数の概念を説明できる。3
データ型の概念を説明できる。3
代入や演算子の概念を理解し、式を記述できる。3
制御構造の概念を理解し、条件分岐を記述できる。3
制御構造の概念を理解し、反復処理を記述できる。3
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。3
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。3
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。3
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。3
分野別の工学実験・実習能力情報系分野【実験・実習能力】情報系【実験・実習】与えられた問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。3
フローチャートなどを用いて、作成するプログラムの設計図を作成することができる。3
ソフトウェア生成に利用される標準的なツールや環境を使い、ソースプログラムをロードモジュールに変換して実行できる。3
問題を解決するために、与えられたアルゴリズムを用いてソースプログラムを記述し、得られた実行結果を確認できる。3
ソフトウェア開発の現場において標準的とされるツールを使い、生成したロードモジュールの動作を確認できる。3
標準的な開発ツールを用いてプログラミングするための開発環境構築ができる。3
要求仕様にあったソフトウェア(アプリケーション)を構築するために必要なツールや開発環境を構築することができる。3
要求仕様に従って標準的な手法によりプログラムを設計し、適切な実行結果を得ることができる。3

評価割合

試験実習レポート合計
総合評価割合6040100
専門的能力6040100