プログラミングⅡA

科目基礎情報

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

到達目標

(ア)C言語によるプログラムの基本構造が理解できている。変数とデータ型の概念を説明できる。
(イ)代入や演算子の概念を理解し、式を記述できる。メッセージや変数の値を画面へ出力でき、キーボードからの値を読み込める。
(ウ)コンピュータにおける初歩的な演算の仕組みを理解できる。数値計算の基礎が理解できる。
(エ)条件判断処理を実現することができる。繰り返し処理を実現することができる。
(オ)配列の概念がわかり、それを利用することができる。データ構造を説明することができる。
(カ)ポインタの概念がわかり、それを利用することができる。
(キ)関数を作ることができ、かつ、作った関数を呼び出して利用することができる。
(ク)与えられた簡単な問題を解決するためのソースプログラムを机上で記述できる。さらに、標準的な開発環境上で記述できる。
(ケ)ソフトウェア生成に必要なツールを使い、ソースプログラムを実行形式に変換できる。さらにそれを実行し、動作を確認できる。

ルーブリック

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

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

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

教育方法等

概要:
「プログラミングI」では、スクリプト言語を用いてプログラミングの基礎を学んだ。ここでは、より実用的なプログラミング技術を習得するために、C言語を利用したプログラミング教育を行なう。内容としては、C言語の基本から始めて、ポインタや関数の定義といった実用的なテクニックまで扱う。
授業の進め方・方法:
講義のスタイルは、まず、C言語の基本的な文法事項をできるかぎり直感的に理解できるよう解説した後、机上で多くの例題を解く。その後、PC実習(コーディング作業)により、作成したプログラムを実機で走らせることで、プログラム開発スキルを磨くとともに、プログラミングの難しさと楽しさを実感する。これら一連の流れを繰り返すことで、C言語のプログラミング技法を無理なく習得することができる。内容としては、C言語の基本から始めて、ポインタや関数の定義といった実用的なテクニックまで扱う。
注意点:
プログラミング実習用機器の台数が限られているため、他学科他学年の履修を制限する場合がある。

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 シラバスを用いた授業内容の説明、授業を受けるにあたっての心構え、プログラムの開発手順 プログラム開発環境の整備が完了する。
2週 画面への出力:メッセージの表示、変数とデータ型の概念、変数の値の表示、表示桁数の指定、代入と演算子 標準ライブラリ関数printfを使いこなすことができる。
3週 キーボードからの入力:入力の概念、入力用関数の使い方 標準ライブラリ関数scanfを使いこなすことができる。
4週 文字と文字列の扱い:アスキーコード、1文字単位の入出力、文字列の扱い方 文字と文字列の違いを明確に理解し、それぞれに適した入出力関数を適切に使うことができる。
5週 条件判断:if文の構造、複雑な条件式の書き方 条件分岐の制御構造を理解し、それを実現するソースコードを記述できる。
6週 繰り返し:for文の構造 繰り返し処理の制御構造を理解し、それを実現するソースコードをfor文を使って記述できる。
7週 繰り返し:while文の構造、多重ループ 繰り返し処理の制御構造を理解し、それを実現するソースコードをwhile文を使って記述できる。
8週 配列:配列の概念、定義のしかた 配列の概念を説明することができ、配列を定義するソースコードを記述できる。
2ndQ
9週 配列:代入と参照、初期化の方法 配列の要素への値の代入や、配列の要素を参照したソースコードを記述することができる。
10週 ポインタ:ポインタの概念、ポインタ変数の使い方 ポインタの概念が説明でき、ポインタ変数を使った基本的なソースコードが記述できる。
11週 ポインタ:二次元配列の使い方 ポインタと二次元配列の関係が説明できるとともに、ポインタの使って二次元配列の要素にアクセルすることができる。
12週 ポインタ:ポインタ配列の使い方 ポインタ配列の概念が説明できるとともに、文字列を配列でまとめることができる。
13週 関数の作り方:関数の概念と定義のしかた ユーザ関数の概念を説明することができ、それを定義するソースコードを記述できる。
14週 関数の呼び出し:「値による呼び出し」と「参照による呼び出し」 「値呼び出し」と「参照呼出し」の違いを明確にでき、それぞれのしくみを実装したソースコードを記述できる。
15週 関数の呼び出し:配列を渡す、前期の総まとめ 配列を引数とするユーザ関数を作成することができる。前学期の内容を振り返って説明することができる。
16週

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

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

評価割合

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