プログラミングⅡA

科目基礎情報

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

到達目標

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

ルーブリック

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

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

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

教育方法等

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

選択必修の種別・旧カリ科目名

選択必修1

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

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

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 シラバスを用いた授業内容の説明、授業を受けるにあたっての心構え、最も簡単なソースコードの解説 C言語を学ぶ意義を説明できる。C言語で記述されたプログラムの全体構成を説明できる。さらに、データ型の概念を説明できる。
2週 変数の利用:変数とデータ型の概念、変数への代入と演算
プログラミング開発環境の整備
変数とデータ型の概念を説明できる。
プログラム開発環境の整備が完了する。
3週 画面への出力:標準ライブラリ関数とは、標準ライブラリ関数printfの使い方、画面へのメッセージ出力 標準ライブラリ関数printfを使って画面にメッセージを表示できる。
4週 画面への出力:変数の値の表示、表示桁数の指定、計算式の書き方、計算結果の出力 標準ライブラリ関数printfを使いこなすことができる。簡単な計算式とその結果を出力するソースコードを記述できる。
5週 キーボードからの入力:標準ライブラリ関数scanfの使い方
文字型データ:アスキーコード、文字型データの演算
標準ライブラリ関数scanfを使って、プログラム中で使うデータをキーボードから読み込むことができる。アスキーコードの意味を説明することができ、文字型データの演算を行うソースコードを記述できる。
6週 文字列データ:文字データと文字列データのちがい、文字列データの出力、文字列データの入力 文字と文字列の違いを明確に理解し、それを説明できる。文字列データの入力および出力を行うソースコードを記述できる。
7週 条件判断:制御構造とは、条件判断処理の流れ、if文の構造 制御構造について説明できる。if文を使った条件判断処理のソースコードを記述できる。
8週 条件判断:論理演算子とは、複雑な条件式
繰り返し:繰り返し処理の流れ、for文の構造
論理演算子を使った複雑は条件式を記述できる。
繰り返し処理の制御構造を理解し、それを実現するソースコードをfor文を使って記述できる。
2ndQ
9週 繰り返し:while文の構造、入力データ列の読み込み 繰り返し処理を実現するソースコードをwhile文を使って記述できる。多数の入力データをキーボードから読み込ませるソースコードを記述できる。
10週 繰り返し:多重ループ
配列:配列の概念、定義のしかた、代入と参照
for文を使って、二重ループ構造をもった繰り返し処理を行うソースコードを記述できる。配列を定義するソースコードを記述できる。配列の要素への代入や、配列要素の参照を行うソースコードを記述できる。
11週 配列:初期化の方法、配列要素への読み込み
ポインタ:ポインタの概念、ポインタ変数の使い方
配列の初期化を行うソースコードを記述できる。
ポインタの概念が説明でき、ポインタ変数を使った基本的なソースコードが記述できる。
12週 ポインタ:ポインタと文字列、ポインタと一次元配列 ポインタと文字列の関係が説明できる。ポインタと一次元配列の関係が説明できる。ポインタを使って一次元配列の要素にアクセスできる。
13週 ポインタ:ポインタと二次元配列、ポインタ配列の使い方 ポインタと二次元配列の関係が説明できるとともに、ポインタを使って二次元配列の要素にアクセスすることができる。ポインタ配列の概念が説明できるとともに、文字列を配列でまとめることができる。
14週 計算機実験:ポインタ演算の動作確認
理解度確認:ポインタ全般
ポインタ演算のしくみを説明できるとともに、それを確認するためのプ実験プログラムを構築することができる。理解度チェック課題に対して的確に解答することができる。
15週 プログラム開発ツール:テキストエディタvi、デバッガgdb
前期の総まとめ
テキストエディタviとデバッガdgbを利用したプログラム開発ができる。
前学期の内容を振り返って説明することができる。
16週

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

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

評価割合

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