情報処理

科目基礎情報

学校 熊本高等専門学校 開講年度 令和04年度 (2022年度)
授業科目 情報処理
科目番号 0024 科目区分 専門 / 必修
授業形態 授業 単位の種別と単位数 履修単位: 1
開設学科 生物化学システム工学科 対象学年 2
開設期 後期 週時間数 2
教科書/教材 配布資料,LMS
担当教員 村田 美友紀,藤本 洋一,小島 俊輔

到達目標

1.複数の制御構造や関数からなるプログラムを記述できる
2.探索や整列に複数のアルゴリズムがあり,基本的なアルゴリズムのプログラムを記述できる
3.スタックやキューといった基本的なデータ構造を理解しクラスライブラリを活用できる
4.ファイル入出力を用いた他のアプリケーションとの連携ができる

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
複数の制御構造や関数からなるプログラムを記述できる2重ループや条件分岐を組み合わせた関数や,関数から関数を呼び出す構造のプログラムを記述できるループや条件分岐を組み合わせ関数を含むプログラムを記述できるループ,条件分岐,関数を組み合わせたプログラムを記述できない
探索や整列に複数のアルゴリズムがあり、基本的なアルゴリズムのプログラムを記述できる基本的な探索と整列のアルゴリズムのプログラムを複数記述できる基本的な探索と整列のアルゴリズムのプログラムを少なくとも1つ以上記述できる探索や整列のアルゴリズムを記述することができない
スタックやキューといった基本的なデータ構造を理解しクラスライブラリを活用できるスタックやキューなどの動作を説明でき,それらを実装したクラスライブラリを自らのプログラムに活用することができるスタックやキューなどのクラスライブラリで実装されたプログラムの動作を理解できるスタックやキューなどのクラスライブラリの動作を理解できない
ファイル入出力を用いた他のアプリケーションとの連携ができるCSV,PNG,テキストなど複数のファイル形式のデータ処理プログラムを記述し,他のアプリケーションと連携することができるCSV,PNG,テキストのうち1つ以上のファイルのデータ処理プログラムを記述し,他のアプリケーションと連携することができるファイルを扱うプログラムを記述できない

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

教育方法等

概要:
多くの例題を通してプログラムの作成方法に慣れ,プログラムの考え方の基礎を固めるとともに基本的な問題の解決手法や基礎的なアルゴリズムを学ぶ。探索や整列といった具体的な動作が,代入・演算・制御などプログラムの基本動作の組み合わせで記述できることを理解する。
授業の進め方・方法:
毎回,配布した資料に従って授業を進める。各授業の前半では基礎的な動作をするプログラムを解説し,後半に出題された課題に取り組んでもらう。基本課題を理解した後,応用問題や発展問題に挑戦してもらう。
注意点:
プログラムを表面的に眺めるのではなく,動作を深く考えること。そのため,課題プログラムを作成する前に,資料のサンプルプログラムの動作や計算過程を理解し,何も見ずにもう一度書いてみることを推奨する。プログラムを理解する上で,次の3点は肝要である。
 1) 少し変えてみる。プログラムにおいてほんの少しの文字の違いは,大きな動作の違いとなる
 2) 木でなく森を見る。代入,演算,制御(forやif),それぞれ単体でなく塊で何かをしている
 3) 動作を図にする。プログラムの動作が図示できるのは理解できた証拠
質問や相談は,直接,あるいはメールで随時受け付けます。また教員室前に所在を示し,在室時間等も掲示しておくので活用してください。

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

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

授業計画

授業内容 週ごとの到達目標
後期
3rdQ
1週 ガイダンス
整数と実数の演算
・プログラムにおける整数と実数の特徴や性質を理解する
2週 複数のif文の組み合わせ ・複数のif文を組み合わせた複雑な条件のプログラムを記述できる
3週 for, whileによる多重ループ ・2重ループ以上のプログラムが記述できる
4週 関数分割 ・動作のまとまりでプログラムを複数の関数に分割して記述する方法を理解できる
5週 数値計算(1) ・浮動小数点の誤差を踏まえたプログラムを記述できる
6週 数値計算(2) ・数値積分,ニュートン法のプログラムの概念を理解できる
7週 クラス ・簡単なクラスの作り方を理解できる
8週 [前期中間試験]
4thQ
9週 整列 ・挿入ソートやシェルソートのプログラムを記述できる
10週 探索 ・線形探索や二分探索のプログラムを記述できる
・ハッシュの概念を理解できる
11週 基本的なデータ構造 ・スタックやリスト,キューの基本的なデータ構造を利用できる
・基本的なクラスライブラリを利用できる
12週 ファイル入出力 ・連続データを複数のファイルに分割して保存したり,複数のファイルから必要な情報を取り出すことができる
13週 乱数 ・疑似乱数や乱数の種を理解し,疑似乱数を活用したプログラムを記述できる
・疑似乱数を用いてサンプリングやシャッフルが記述できる
14週 応用問題(1) ・変数,クラス,クラスライブラリなどこれまでに学習した事柄を使って応用プログラムを作成できる
15週 応用問題(2)
16週 前期末試験の返却と解説

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

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

評価割合

試験課題小テスト合計
総合評価割合702010100
基礎的能力50101070
専門的能力2010030
分野横断的能力0000