コンピュータサイエンス

科目基礎情報

学校 富山高等専門学校 開講年度 2017
授業科目 コンピュータサイエンス
科目番号 0170 科目区分 専門 / 選択
授業形態 授業 単位の種別と単位数 履修単位: 2
開設学科 電気制御システム工学科 対象学年 3
開設期 通年 週時間数 2
教科書/教材 新・明解C言語 入門編(ソフトバンククリエイティブ)
担当教員 佐藤 圭祐,金子 慎一郎

到達目標

1.プログラミング環境の使用法を理解すること。
2.If文、for、while、do、switch文などの制御構文の使用方法を理解すること。
3.printf文、scanf文、ファイル入出力などの標準入出力の使用方法を理解すること。
4.配列の使用方法を理解すること。
5.関数の作成方法を理解すること。
6.基本的なポインタの利用方法を理解すること。
7.各種アルゴリズムの原理を理解し、実用的な計算に応用できること。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1プログラミング環境の使用法を理解し、詳細に説明できる。プログラミング環境の使用法を理解できる。プログラミング環境の使用法を理解できない。
評価項目2制御構文の正しい使用方法を理解し、詳細に説明できる。制御構文の使用方法を理解できる。制御構文の使用方法を理解できない。
評価項目3標準入出力の使用方法を正しく理解し、詳細に説明できる。標準入出力の使用方法を理解できる。標準入出力の使用方法を理解できない。
評価項目4配列の使用方法が理解でき、詳細に説明できる。配列の使用方法を理解できる。配列の使用方法を理解できない。
評価項目5自分で仕様を決定し、関数を作成できる。与えられた仕様に基づいて関数を作成できる。与えられた仕様に基いて関数を作成できない。
評価項目6基本的なポインタの利用方法が理解でき、説明できる。基本的なポインタの利用方法を理解できる。基本的なポインタの利用方法が理解できない。
評価項目7自分で課題を設定し,各種アルゴリズムを使ったプログラムを作成し,計算結果を評価できる.与えられた課題について,各種アルゴリズムを使ったプログラムを作成することができる.各種アルゴリズムを使ったプログラムを作成できない.

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

教育方法等

概要:
 C言語でプログラミングを行うための基礎を学ぶ。繰り返しループ、条件分岐、配列、関数、ポインタ、ファイル入出力などを中心に演習を交えて学ぶ。また、線形代数を基礎とした簡単なシミュレーションを行う。
授業の進め方・方法:
講義と実習
注意点:
授業のポイント
プログラミング言語は自分でプログラムを書き、デバッグ(修正)して動かす、という作業を繰り返さないと習得できない。できれば自宅のパソコンでも演習ができるように フリーソフトをインストールしたほうが 良い。
準備するもの
 自宅にもPCを用意し,実習できるようにすることが望ましい.
履修前の予習
教科書は自分で問題を解く形で進められるものである.どんどん自分でプログラミングしてみること.
授業計画は,学生の理解度に応じて変更する場合がある.

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 プログラミングシステムの使用方法
C言語の基礎
プログラミングシステムの使用方法を理解する。
基本的なC言語プログラム(printf文,scanf文)を作成し理解する。
2週 変数(データ型、型変換)
制御文(1)
データ型、型変換について理解する。
if、else、switch文の使用方法を理解する。
3週 制御文(2) ループ(while、do、for文)、インクリメント、デクリメントについて理解する。
4週 制御文(3) 様々な制御構文の例題、演習に取り組む。
5週 小テスト 第1~4週までの内容の理解度を確認する。
6週 1次元配列 1次元配列の使用方法について理解する。
7週 2次元配列 2次元配列の使用方法について理解する。
8週 ファイル入出力 ファイルの入出力方法について理解する。
2ndQ
9週 中間試験 第1~8週目までの確認。
10週 答案返却と解説
関数(1)

簡単な関数の作成、利用方法を学ぶ。
11週 関数(2) 関数における配列渡しを理解する。
12週 ポインタ(1) ポインタの概念と基本的な利用方法を理解する。
ポインタを引数に持つ関数の作成方法について理解する。
13週 ポインタ(2) ポインタの利用例(ソートアルゴリズム)を学ぶ。
14週 まとめの演習 ここまでの学習内容の総まとめの演習を行う。
15週 前期末試験 第10~14週目までの確認。
16週 答案返却と解説
アンケート
後期
3rdQ
1週 前期の復習
2週 アルゴリズム エラトステネスの篩を例としてアルゴリズムについて説明する.
3週 ポインタ
4週 再帰呼び出し フィボナッチの数列を例として再帰呼び出しを学ぶ
5週 行列計算のアルゴリズム
6週 LU分解 LU分解による一次方程式の解法を学ぶ
7週 ガウスザイデル法 反復法(ガウスザイデル法)による一次方程式の解法を学ぶ
8週 構造計算 一次方程式の解法の応用として,簡単な構造物にかかる張力の計算を行う.
4thQ
9週 中間試験
10週 方程式の解 二分法とニュートン法により方程式を解く方法を学ぶ
11週 数値積分 台形公式,シンプソンの公式を用いた数値積分の方法を学ぶ
12週 常微分方程式 オイラー法,ルンゲクッタ法による常微分方程式の解法を学ぶ
13週 構造体とソーティングアルゴリズム 構造体の使い方とソーティングアルゴリズムの動作を学ぶ.
14週 構造体とソーティングアルゴリズム 構造体の使い方とソーティングアルゴリズムの動作を学ぶ.
15週 期末試験
16週 テストの解答と解説

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

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学電気・電子系分野情報プログラミング言語を用いて基本的なプログラミングができる。3
情報系分野プログラミング変数とデータ型の概念を説明できる。3
代入や演算子の概念を理解し、式を記述できる。3
制御構造の概念を理解し、条件分岐や反復処理を記述できる。3
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。3
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。3
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。3
主要な言語処理プロセッサの種類と特徴を説明できる。2
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。2
プログラミング言語は計算モデルによって分類されることを説明できる。1
主要な計算モデルを説明できる。1
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。2

評価割合

試験レポート相互評価態度ポートフォリオその他合計
総合評価割合50500000100
基礎的能力3030000060
専門的能力2020000040
分野横断的能力0000000