応用プログラミングA

科目基礎情報

学校 函館工業高等専門学校 開講年度 令和03年度 (2021年度)
授業科目 応用プログラミングA
科目番号 0071 科目区分 専門 / 必修
授業形態 授業 単位の種別と単位数 履修単位: 2
開設学科 生産システム工学科 対象学年 3
開設期 通年 週時間数 2
教科書/教材 内田智史監修 C言語によるプログラミング応用編第2版 (オーム社)
担当教員 佐藤 恵一,東海林 智也

到達目標

1. 与えられた問題に対して、それを解決するための応用プログラムを作成することができる。
2. 組み込み系のプログラム開発に必要な知識を理解し、組込み系の応用プログラムを作成することができる。
3. コンピュータ上で数値計算を行う際に発生する誤差の影響を理解し、適切な数値表現ができる。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1より実践的な応用プログラムを作成することができる。単純な応用プログラムを作成することができる。単純な応用プログラムを作成することができない。
評価項目2より実践的な組込み系の応用プログラムを作成することができる。単純な組み込み系の応用プログラムを作成することができる。単純な組み込み系の応用プログラムを作成することができない
評価項目3誤差の影響を理解し、適切な数値表現ができる。誤差の影響を理解できる。誤差の影響を理解できない。

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

函館高専教育目標 B 説明 閉じる
函館高専教育目標 C 説明 閉じる

教育方法等

概要:
2年までのプログラミング入門、プログラミング基礎で学習したことをさらに発展させ、より実践的なプログラムを作成する。開発環境もPC上、組込み系、各種OSにおける開発手法を学ぶ。
本授業の1週から15週は、銀行系オンラインシステムの開発に従事した教員が、その経験を活かして行う。
授業の進め方・方法:
プログラミング入門、プログラミング基礎は文法中心の学習であったが、それを実際のアプリケーションで活用する知識を学ぶ。プログラミング言語に関する文法や浮動小数点数に関する知識もさらに詳細に学習する。ネットワークなど実際に社会で使用されているテーマで演習を行う。
注意点:
前期はC言語、後期はJava言語をプログラミング言語として用いる。

評価方法:
試験 50 % (前期期末試験 x 0.25 + 達成度評価試験 x 0.25)
課題 50 % (前期レポート課題x 0.25 + 後期レポート課題x 0.25)
ただし、前期最終課題(自由作品)が非常に優れている場合は、前期最終評価に対して前期評価50%範囲内で加点することがある。

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

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

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 ガイダンス、static通用範囲と生存期間 static通用範囲と生存期間を理解できる。
2週 可変引数、コマンドライン引数の取得 可変引数、コマンドライン引数の取得を理解できる。
3週 疑似乱数 疑似乱数発生の仕組みを理解できる。
4週 ポインタ変数のポインタ表記とデータ表記。ポインタによる構造体メンバの参照 ポインタ変数のポインタ表記とデータ表記。ポインタによる構造体メンバの参照を理解できる。
5週 ポインタ配列、ポインタのポインタ ポインタ配列、ポインタのポインタを理解できる
6週 動的メモリ確保 動的メモリ確保を理解できる
7週 ビットごとの演算 ビットごとの演算を理解できる
8週 レポート作成日
2ndQ
9週 レポート作成日
10週 基本入出力関数、グリニッジ標準時の取得 基本入出力関数、グリニッジ標準時の取得を理解できる。
11週 サーバクライアント1対1通信 サーバクライアント1対1通信を理解できる。
12週 1対1通信の簡単なアプリケーションの作成 1対1通信の簡単なアプリケーションの作成できる。
13週 サーバクライアント1対多通信 サーバクライアント1対多通信を理解できる。
14週 1対多通信の簡単なアプリケーションの作成 1対多通信の簡単なアプリケーションの作成できる。
15週 前期期末試験
16週 試験答案返却・解答解説 間違った問題の正答を求めることができる
後期
3rdQ
1週 浮動小数点数(1) 浮動小数点数と誤差の関係を理解できる。
2週 浮動小数点数(2) 浮動小数点数と誤差の関係を理解できる。
3週 浮動小数点数(3) 浮動小数点数と誤差の関係を理解できる。
4週 浮動小数点数(4) 浮動小数点数と誤差の関係を理解できる。
5週 浮動小数点数の達成度評価試験 オンライン試験により浮動小数点数について学んできた項目の達成度を評価し、振り返ることができる。
6週 JavaのHello World Java言語を用いてHello Worldを作成できる。
7週 Javaのデータ型と画面表示と入力 Java言語のデータ型の概念を説明できる。また画面表示とキーボード入力が出来る。
8週 Javaの演算処理と分岐処理 Java言語を用いて演算処理と分岐処理ができる。
4thQ
9週 Javaの配列と乱数 Java言語の配列と乱数を利用できる。
10週 Javaの例外処理 Java言語を用いて例外処理ができる。
11週 Javaのファイル入出力 Java言語を用いてファイルの入出力操作ができる。
12週 Javaのリスト型とマップ型と拡張for文 Java言語のリスト型とマップ型の概念を説明できる。また拡張for文を利用できる。
13週 Javaの関数オブジェクトとラムダ式(1) Java言語を用いて関数オブジェクトを作成できる。またラムダ式を使うことが出来る。
14週 Javaの関数オブジェクトとラムダ式(2) Java言語を用いて関数オブジェクトを作成できる。またラムダ式を使うことが出来る。
15週 Javaのforeach処理 Java言語を用いてforeach処理ができる。
16週 ※ 学年末試験は実施しません

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

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学情報系分野プログラミング代入や演算子の概念を理解し、式を記述できる。4前1,後3
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。4前1,前2
変数の概念を説明できる。4前1,前2,前4,前5
データ型の概念を説明できる。4前1,前2,前4,前5,前6,後2
制御構造の概念を理解し、条件分岐を記述できる。4前1,前2,後3
制御構造の概念を理解し、反復処理を記述できる。4前1,前2,後14
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。4前2,後10,後11,後12,後13,後14,後15
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。4前1,後10,後11,後12,後13,後14,後15
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。4前3,前11,後10,後11,後12,後13,後14,後15
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。4後1
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。4前3,前11
要求仕様に従って、いずれかの手法により動作するプログラムを設計することができる。4前12
要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。4前12
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを実装できる。4前12
ソフトウェア与えられたアルゴリズムが問題を解決していく過程を説明できる。4前11,後4,後5,後6,後7
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。4前3,前10
計算機工学小数を2進数、10進数、16進数で表現できる。4前7,後4,後5,後6,後7
情報通信ネットワークプロトコルの概念を説明できる。3前12,前13,前14
インターネットの概念を説明できる。3前12,前13,前14
主要なサーバの構築方法を説明できる。4前12,前13,前14
情報通信ネットワークを利用したアプリケーションの作成方法を説明できる。4前12,前13,前14
情報数学・情報理論コンピュータ上での数値の表現方法が誤差に関係することを説明できる。3後4,後5,後6,後7
コンピュータ上で数値計算を行う際に発生する誤差の影響を説明できる。3後4,後5,後6,後7

評価割合

試験発表相互評価態度ポートフォリオ課題合計
総合評価割合50000050100
基礎的能力2500002550
専門的能力2500002550
分野横断的能力0000000