概要:
C言語でプログラムが作成できることを目標として講義と実習により言語教育を行う。これらにより、情報技術への理解を深め、論理的に考える訓練を行う。「基礎学力を確実なものとし、応用能力を身に付ける」ことを目標とする。
授業の進め方・方法:
言語や文法に関する説明後簡単なプログラム構築を行う。
注意点:
【成績評価の基準・方法】
試験の成績60 %、平素の学習状況等(課題・小テスト・レポート等を含む)を40 %の割合で総合的に評価する。技術者が身につけるべき専門基礎として、到達目標に対する達成度を試験等において評価する。エンジニアに必要な情報処理技術としてのアルゴリズム構築能力、C言語によるプログラム作成能力を試験等において評価する。
【事前・事後学習】
事前学習として教科書の該当部分(事前に説明)を読み理解が難しい部分を認識した上で授業に臨むこと。また、事後学習として授業内で作成したプログラムを応用したプロウグラムの作成と動作確認を行う。
【履修上の注意】
この科目を履修するにあたり、2年生のプログラミング基礎の内容を十分に理解しておくこと。
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
プログラミング基礎[1]:C言語のあらまし、基本的なプログラムソースの作り方など学内環境におけるC言語プログラミングについて学ぶ。 |
C言語の基礎や学内においてC言語プログラミングを行う手法を理解する。
|
2週 |
C言語基礎1[2]:変数とデータ型、配列などの基礎的なC言語の記述について学び、実習を行う。 |
変数やデータ型、配列などの基礎的なC言語の記述や動作を理解する。
|
3週 |
C言語基礎2[3]:演算子などの基礎的なC言語の記述について学び、実習を行う。 |
演算子などの基礎的なC言語の記述や動作を理解する。
|
4週 |
C言語基礎3[4-5]:流れ制御などの基礎的なC言語の記述について学び、実習を行う。 |
制御文などの基礎的なC言語の記述や動作を理解する。
|
5週 |
C言語基礎3[4-5]:流れ制御などの基礎的なC言語の記述について学び、実習を行う。 |
制御文などの基礎的なC言語の記述や動作を理解する。
|
6週 |
C言語基礎4[6-7]:コンソール入出力や関数、標準ライブラリの使い方について学び、実習を行う。 |
コンソール入出力や関数、標準ライブラリの使い方や動作を理解する。
|
7週 |
C言語基礎4[6-7]:コンソール入出力や関数、標準ライブラリの使い方について学び、実習を行う。 |
コンソール入出力や関数、標準ライブラリの使い方や動作を理解する。
|
8週 |
ポインタ[8-10]:ポインタについて学び、ポインタ操作についての実習を行う。 |
ポインタの動作や記述方法について理解する。
|
2ndQ |
9週 |
ポインタ[8-10]:ポインタについて学び、ポインタ操作についての実習を行う。 |
ポインタの動作や記述方法について理解する。
|
10週 |
ポインタ[8-10]:ポインタについて学び、ポインタ操作についての実習を行う。 |
ポインタの動作や記述方法について理解する。
|
11週 |
構造体 [11-13]:構造体について学び、実習を行う。 |
構造体の動作や記述方法について理解する。
|
12週 |
構造体 [11-13]:構造体について学び、実習を行う。 |
構造体の動作や記述方法について理解する。
|
13週 |
構造体 [11-13]:構造体について学び、実習を行う。 |
構造体の動作や記述方法について理解する。
|
14週 |
総合課題[14-15]:関数・ポインタ・構造体を組み合わせたプログラムの構築を行う。 |
関数・ポインタ・構造体を組み合わせたプログラムの動作や記述方法について理解する。
|
15週 |
総合課題[14-15]:関数・ポインタ・構造体を組み合わせたプログラムの構築を行う。 |
関数・ポインタ・構造体を組み合わせたプログラムの動作や記述方法について理解する。
|
16週 |
総合課題2[16]:ファイル入出力について学び、実習を行う。 |
ファイル入出力の使い方や動作を理解する。
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | 代入や演算子の概念を理解し、式を記述できる。 | 4 | 前2,前3,前4 |
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 4 | 前5,前6,前7,前14 |
変数の概念を説明できる。 | 4 | 前2,前3,前4 |
データ型の概念を説明できる。 | 4 | 前2,前3,前4 |
制御構造の概念を理解し、条件分岐を記述できる。 | 4 | 前5,前6,前7,前14 |
制御構造の概念を理解し、反復処理を記述できる。 | 4 | 前5,前6,前7,前14 |
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 4 | 前1 |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 4 | 前1 |
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。 | 4 | 前1,前2,前3,前4,前5,前6,前7 |
主要な言語処理プロセッサの種類と特徴を説明できる。 | 2 | 前1 |
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。 | 3 | 前1 |
プログラミング言語は計算モデルによって分類されることを説明できる。 | 2 | 前1 |
主要な計算モデルを説明できる。 | 2 | 前1 |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。 | 4 | 前2,前3,前4,前5,前6,前7 |
要求仕様に従って、いずれかの手法により動作するプログラムを設計することができる。 | 4 | 前2,前3,前4,前5,前6,前7 |
要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。 | 4 | 前2,前3,前4,前5,前6,前7 |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを実装できる。 | 4 | 前2,前3,前4,前5,前6,前7 |
ソフトウェア | アルゴリズムの概念を説明できる。 | 4 | 前2,前3,前4,前5,前6,前7 |
与えられたアルゴリズムが問題を解決していく過程を説明できる。 | 4 | 前2,前3,前4,前5,前6,前7 |
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。 | 4 | 前2,前3,前4,前5,前6,前7 |
整列、探索など、基本的なアルゴリズムについて説明できる。 | 4 | 前2,前3,前4,前5,前6,前7 |
時間計算量によってアルゴリズムを比較・評価できることを説明できる。 | 4 | 前14,前15,前16 |
領域計算量などによってアルゴリズムを比較・評価できることを説明できる。 | 4 | 前14,前15,前16 |
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。 | 4 | 前5,前6,前7,前14,前15,前16 |
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを説明できる。 | 4 | 前5,前6,前7,前14,前15,前16 |
リスト構造、スタック、キュー、木構造などの基本的なデータ構造の概念と操作を説明できる。 | 4 | 前5,前6,前7,前14,前15,前16 |
リスト構造、スタック、キュー、木構造などの基本的なデータ構造を実装することができる。 | 4 | 前5,前6,前7,前14,前15,前16 |
ソフトウェアを中心としたシステム開発のプロセスを説明できる。 | 2 | 前1 |
ソースプログラムを解析することにより、計算量等のさまざまな観点から評価できる。 | 3 | 前14,前15,前16 |
同じ問題を解決する複数のプログラムを計算量等の観点から比較できる。 | 3 | 前14,前15,前16 |
分野別の工学実験・実習能力 | 情報系分野(実験・実習能力) | 情報系分野(実験・実習能力) | 与えられた問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。 | 4 | 前1 |
ソフトウェア生成に利用される標準的なツールや環境を使い、ソースプログラムをロードモジュールに変換して実行できる。 | 4 | 前1 |
ソフトウェア開発の現場において標準的とされるツールを使い、生成したロードモジュールの動作を確認できる。 | 4 | 前1 |
フローチャートなどを用いて、作成するプログラムの設計図を作成することができる。 | 4 | 前2,前3,前4,前5,前6,前7 |
問題を解決するために、与えられたアルゴリズムを用いてソースプログラムを記述し、得られた実行結果を確認できる。 | 4 | 前2,前3,前4,前5,前6,前7 |
標準的な開発ツールを用いてプログラミングするための開発環境構築ができる。 | 4 | 前1 |
要求仕様にあったソフトウェア(アプリケーション)を構築するために必要なツールや開発環境を構築することができる。 | 4 | 前1 |
要求仕様に従って標準的な手法によりプログラムを設計し、適切な実行結果を得ることができる。 | 4 | 前14,前15,前16 |