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