到達目標
1. プログラム開発における基本的プロセスを理解する。
2. C言語を用いて与えられた問題を解決できる。
3. アルゴリズムの概念を理解し、学んだアルゴリズムをC言語での表現に変換することができる。
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
評価項目1 | コンパイル時および実行時のエラーからプログラムミスを修正できる。 | C言語の処理系を操作して与えられたプログラムを入力、実行することができる。 | エディタを用いてプログラムを入力できない。コンパイルの方法、プログラムの実行方法が分からない。 |
評価項目2 | C言語を用いて応用的問題を解くことができる。 | C言語を用いて基本的問題を解くことができる。 | C言語のプログラムが読めない。 |
評価項目3 | 学んだアルゴリズムを用いたC言語のプログラムを書くことができる。 | 学んだアルゴリズムの内容を説明できる。 | アルゴリズムとは何かが分からない。 |
学科の到達目標項目との関係
教育方法等
概要:
C言語によって,キーボード入力と画面出力を用いたプログラミングの基礎能力を養成する。数値と文字の入出力,条件判断,繰り返し処理,関数の利用,そして簡単なアルゴリズムの学習を行う。電卓でも計算できる実験データ処理を,プログラミングにより一括処理できる程度のプログラミング能力を養成する。
授業の進め方・方法:
学習項目内容の解説講義を受けた後,各自で課題プログラムの作成を行う。そして,適時にプリント配布される課題プログラム例によりプログラム方法の確認作業を各自が行う。こうしてプログラミング能力を次第に養成してゆく。定期試験前には学習内容の確認のために練習問題を配付するので,これにより学習の自己点検を行って確実な能力の定着をはかる。
注意点:
無断欠席,授業中の携帯電話,ゲーム,講義を妨害する行為等に対しては,成績を減じることがある。
オフィスアワー:毎月曜日放課後~17:00
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
ガイダンス,プログラム開発環境 |
Linuxにおける開発環境の操作を知る。 D2:1
|
2週 |
プログラミングとC言語の特徴 |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 E2:1,2
|
3週 |
C言語文法概説 |
変数と型の概念を説明できる。データ型の概念を説明できる。 D2:1
|
4週 |
整数・実数の四則演算 |
代入や演算子の概念を理解し、式を記述できる。 D2:1
|
5週 |
コンパイルエラーの読み方 |
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 D2:2
|
6週 |
標準入出力関数 |
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 D2:2
|
7週 |
標準ライブラリ関数 |
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 D2:2
|
8週 |
前期中間試験 |
|
2ndQ |
9週 |
型変換 |
型変換の必要性を理解し,型変換ができる D2:2
|
10週 |
場合分けとは |
制御構造の概念を理解し、条件分岐を記述できる。 D2:2
|
11週 |
if文による場合分け |
制御構造の概念を理解し、条件分岐を記述できる。 D2:2
|
12週 |
if-else文による場合分け その1 |
制御構造の概念を理解し、条件分岐を記述できる。 D2:2
|
13週 |
if-else文による場合分け その2 |
制御構造の概念を理解し、条件分岐を記述できる。 D2:2
|
14週 |
ネストしたif-else文 その1 |
制御構造の概念を理解し、条件分岐を記述できる。 D2:2
|
15週 |
ネストしたif-else文 その2 |
制御構造の概念を理解し、条件分岐を記述できる。 D2:2
|
16週 |
試験問題の解答 |
|
後期 |
3rdQ |
1週 |
関係演算と論理演算による場合分け |
演算結果を用いて正しく条件分岐ができる。 D2:2
|
2週 |
論理演算ORと n進数 |
演算結果を用いて正しく条件分岐ができる。 D2:2
|
3週 |
switch文 |
switch文により正しく条件分岐ができる。 D2:2
|
4週 |
ネストしたswitch文 |
switch文により正しく条件分岐ができる D2:2
|
5週 |
for 型繰り返し |
制御構造の概念を理解し、反復処理を記述できる。 D2:2
|
6週 |
2重にネストしたfor 型繰り返し |
制御構造の概念を理解し、反復処理を記述できる。 D2:2
|
7週 |
多重にネストしたfor 型繰り返し |
制御構造の概念を理解し、反復処理を記述できる。 D2:2
|
8週 |
後期中間試験 |
|
4thQ |
9週 |
試験問題の解答,最大公約数・最小公倍数 |
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。 D2:2
|
10週 |
素数 その1 |
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。 D2:2
|
11週 |
素数 その2 |
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。 D2:2
|
12週 |
数列 |
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。 D2:2
|
13週 |
配列へのデータ入力 |
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。 D2:2
|
14週 |
最大・最小アルゴリズム |
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。 D2:2
|
15週 |
平均アルゴリズム |
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。 D2:2
|
16週 |
試験問題の解答 |
|
モデルコアカリキュラムの学習内容と到達目標
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
基礎的能力 | 数学 | 数学 | 数学 | 整式の加減乗除の計算や、式の展開ができる。 | 3 | |
因数定理等を利用して、4次までの簡単な整式の因数分解ができる。 | 3 | |
工学基礎 | 情報リテラシー | 情報リテラシー | 数値計算の基礎が理解できる | 1 | |
コンピュータにおける初歩的な演算の仕組みを理解できる。 | 1 | |
データの型とデータ構造が理解できる | 1 | |
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。 | 2 | 後10,後11 |
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。 | 2 | 後9,後14,後15 |
評価割合
| 試験 | 発表 | 相互評価 | 態度 | ポートフォリオ | プログラム課題 | 合計 |
総合評価割合 | 80 | 0 | 0 | 0 | 0 | 20 | 100 |
基礎的能力 | 40 | 0 | 0 | 0 | 0 | 10 | 50 |
専門的能力 | 40 | 0 | 0 | 0 | 0 | 10 | 50 |
分野横断的能力 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |