プログラミングⅡB

科目基礎情報

学校 豊田工業高等専門学校 開講年度 平成31年度 (2019年度)
授業科目 プログラミングⅡB
科目番号 32211 科目区分 専門 / 必履修,選択
授業形態 講義 単位の種別と単位数 履修単位: 2
開設学科 情報工学科 対象学年 2
開設期 後期 週時間数 4
教科書/教材 特に指定しない/教材用プリント配布
担当教員 稲垣 宏

到達目標

(ア)制御構造の概念を理解し、C言語で利用できる様々な制御構造を利用することができる。
(イ)代入や演算子の概念を理解し、式を記述できる。初歩的な演算の仕組みを理解できる。C言語特有の演算子を使うことができる。
(ウ)変数とデータ型の概念を説明できる。構造体を自分で定義し、それを操作することができる。
(エ)関数の概念を理解し、それを利用できる。文字列処理関数を利用することができる。数値計算の基礎が理解できる。
(オ)基本的なファイル入出力処理を実現できる。
(カ)X-Windowシステム上で、基本図形(直線、矩形、円弧、点)を描画するプログラムを作成することができる。
(キ)X-Windowシステム上で、簡単なイベント駆動プログラムを作ることができる。
(ク)与えられた簡単な問題を解決するためのソースプログラムを机上で記述できる。さらに、標準的な開発環境上で記述できる。
(ケ)ソフトウェア生成に必要なツールを使い、ソースプログラムを実行形式に変換できる。さらにそれを実行し、動作を確認できる。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
変数・データ型・代入・演算子・制御構造・関数の概念を説明でき、応用課題レベルのプログラムを記述することができる。変数・データ型・代入・演算子・制御構造・関数の概念を説明でき、例題レベルのプログラムを記述することができる。変数・データ型・代入・演算子・制御構造・関数の概念を説明できない。例題レベルのプログラムを記述できない。
与えられた応用課題レベルの問題に対して、それを解決するためのソースコードを記述することができるとともに、プログラムの動作を理論に基づいて予測できる。与えられた基本レベルの問題に対して、それを解決するためのソースコードを記述することができるとともに、プログラムの動作を予測できる。与えられた基本レベルの問題に対して、それを解決するためのソースコードを記述することができない。また、プログラムの動作を予測することができない。
ソフトウェア開発環境の提供する機能を使いこなし、実行形式のファイルを効率よく生成し、実行できる。ソフトウェア開発環境を利用して、実行形式のファイルを生成し、実行できる。ソフトウェア開発環境を利用して、実行形式のファイルを生成し、実行することができない。

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

本校教育目標 ① ものづくり能力

教育方法等

概要:
「プログラミングII A」に引き続き、より実用的なプログラミング技術を習得するために、C言語を利用したプログラミング教育を行なう。そこでは、「プログラミングII A」で紹介できなかった制御構造や演算子を取り上げた後、構造体やファイル操作等までをカバーし、これでC言語の文法事項は一通りマスターしたことになる。さらに、GUI(Graphical User Interface)プログラミングの手法も取り上げ、X-Window システム上で動くウィンドウプログラムの作成を行なう。
授業の進め方・方法:
プログラミング実習用機器の台数が限られているため、他学科他学年の履修を制限する場合がある。
注意点:
プログラミング実習用機器の台数が限られているため、他学科他学年の履修を制限する場合がある。

授業計画

授業内容 週ごとの到達目標
後期
3rdQ
1週 シラバスを用いたガイダンス、 関数プロトタイプ、その他の制御構造:do while 文、switch case 文 各種の制御構造を理解し、ソースコードを記述することができる。
2週 その他の制御構造:else if 文の構造と使い方、C特有の演算子:ビット演算子 各種の制御構造を理解し、記述することができる。また、ビット演算子を使ったソースコードを記述することができる。
3週 C特有の演算子:条件演算子、sizeof演算子、構造体:構造体の概念と定義方法 条件演算子を使ったソースコードを記述することができる。また、構造体の概念を説明できる。
4週 構造体:構造体配列、ポインタ参照の使い方、データ型と記憶クラス:列挙型の使い方 構造体を使ったソースコードを記述することができる。
5週 データ型と記憶クラス:静的変数と外部変数の意味、プリプロセッサ:簡単なマクロおよび引数付きマクロの作り方 プリプロセッサの概念を理解し、#define 文を使ったソースコードを記述することができる。
6週 標準ライブラリ関数:乱数関数の使い方、文字列処理関数の使い方 乱数関数および文字列処理関数を使ったソースコードを記述することができる。
7週 ファイル操作:ファイル入出力の概念、ファイル入出力関数の使い方 ファイル入出力の概念を説明することができる。
8週 書式つきファイル入出力関数の使い方、C言語文法事項の総まとめ 各種のファイル入出力関数を使ったソースコードを記述することができる。
4thQ
9週 再帰呼び出し、モンテカルロ法 再帰呼び出しの概念を説明することができる。また、モンテカルロ法を実装したプログラムを作成することができる。
10週 X-Windowプログラミングの特長と基礎、色の選択 ウィンドウ作成プログラムを作成できる。
11週 図形描画のしくみ:直線、円弧 直線・円弧を描画するプログラムを作成することができる。
12週 図形描画のしくみ:長方形の塗りつぶし、円弧の塗りつぶし 図形の塗りつぶしを使ったプログラムを作成することができる。
13週 図形描画のしくみ:点(白黒)の描画、点の描画(カラー) 簡単な画像ビューワを作成することができる。
14週 文字列の表示、イベント処理の概念 イベント処理の概念を説明することができる。
15週 イベント処理の実装、1年間に作成したプログラムの整理 簡単なペイントソフトを完成させる。
16週

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

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

評価割合

定期試験課題合計
総合評価割合7030100
基礎的能力7030100