概要:
プログラミングを実際に作成することで,ソフトウェアの動作原理を理解する.具体的にはC言語を扱うが,他の言語であっても応用が効くように汎用的なプログラミング言語の知識習得を目指す.
得に,構造化プログラミングの基本を学ぶとともに,関数や文字列処理を理解する.
授業の進め方・方法:
演習を中心に授業を進める.配布したプリントを理解し,課題を解くことでプログラミングスキル向上を目指す,わからないことがあれば,教科書を使い自分自身で調べることが大切である.
注意点:
「プログラミング基礎I」の授業と連動している.対象となる問題を理解し,適切な処理内容に置き換える能力を身に付けること.さらに,その処理内容をプログラムとして実装することができる能力を身に付けること.各種プログラム開発ツールは十分に使いこなせるようにすること.課題についてよく考え,手を動かし,プログラムを自らの力で作成できる能力を身につけること.
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
1年生のプログラミングの復習を行う.基本的なUNIXコマンド,エディタの操作方法を学ぶ. |
基本的なUNIXコマンド,エディタを操作できる.
|
2週 |
プログラムの基本である,順接,分岐,反復を復習し,使いこなせるように理解する. |
順接,分岐,反復を説明できる.
|
3週 |
変数と配列の違いを理解し,適切にプログラムを作成できるようにする. |
変数と配列を用いたプログラムを作成できる.
|
4週 |
乱数の生成方法について学ぶ. |
乱数を扱える.
|
5週 |
関数について理解する. |
関数を含むプログラムを作成できる.
|
6週 |
プログラミングにおける2進数,10進数,16進数の扱いを理解する. |
値を2進数,10進数,16進数で表すことができる.
|
7週 |
char型を学ぶことを通して表現できる数値範囲を理解する. |
char型を扱うことができる.
|
8週 |
過去問を課題として取り組む. |
過去問の課題を実装できる.
|
2ndQ |
9週 |
char型により文字を扱う方法を理解する. |
文字を扱うことができる.
|
10週 |
文字列の扱い方を学ぶ. |
文字列を扱うことができる.
|
11週 |
ペアプログラミングを通して,他者と共同してプログラムを作成することを学ぶ. |
ペアプログラミングにより課題を解決できる.
|
12週 |
文字列を関数で処理する方法を学ぶ. |
文字列を関数で処理するプログラムを作成することができる.
|
13週 |
文字列の応用として,暗号解読方法を学ぶ. |
暗号を暗号化・復号化するプログラムを作成することができる.
|
14週 |
文字列の応用として,文字列の圧縮方法を学ぶ. |
文字列を圧縮するプログラムを作成することができる.
|
15週 |
過去問を課題として取り組む. |
過去問の課題を実装できる.
|
16週 |
|
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | 変数の概念を説明できる。 | 4 | |
データ型の概念を説明できる。 | 4 | |
代入や演算子の概念を理解し、式を記述できる。 | 4 | |
制御構造の概念を理解し、条件分岐を記述できる。 | 4 | |
制御構造の概念を理解し、反復処理を記述できる。 | 4 | |
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 4 | |
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 4 | |
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。 | 4 | |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 4 | |
要求仕様に従って、いずれかの手法により動作するプログラムを設計することができる。 | 4 | |
要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。 | 4 | |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。 | 4 | |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを実装できる。 | 4 | |
その他の学習内容 | 少なくとも一つの具体的なコンピュータシステムについて、起動・終了やファイル操作など、基本的操作が行える。 | 4 | |
分野別の工学実験・実習能力 | 情報系分野【実験・実習能力】 | 情報系【実験・実習】 | 標準的な開発ツールを用いてプログラミングするための開発環境構築ができる。 | 4 | |
要求仕様にあったソフトウェア(アプリケーション)を構築するために必要なツールや開発環境を構築することができる。 | 4 | |
要求仕様に従って標準的な手法によりプログラムを設計し、適切な実行結果を得ることができる。 | 4 | |
分野横断的能力 | 総合的な学習経験と創造的思考力 | 総合的な学習経験と創造的思考力 | 総合的な学習経験と創造的思考力 | 工学的な課題を論理的・合理的な方法で明確化できる。 | 3 | |
公衆の健康、安全、文化、社会、環境への影響などの多様な観点から課題解決のために配慮すべきことを認識している。 | 3 | |