概要:
初歩的なコンピューターアーキテクチャーを理解し,C言語でプログラミングが自由にできるようにすることを目的とする.適宜,高専機構が準備した教材によるセキュリティー教育も行う.授業では,ポインタ等をより深く理解するためにC言語の演習問題を解く.
授業の進め方・方法:
学習においては,自宅での独習が重要である.単に教科書を読むだけではなく,自分でPC(Personal Computer)ソフトウェアの環境を整備し,教科書内容を入力し理解を進める必要がある.授業では,英語の問題集を中心に解説を行うが,あくまで自宅における学習が前提となる.ソフトウェアをコンパイルできるPC環境を必要とすることもあり,自分専用のノートブックPCを持つことが望ましい.10万円もするような上等なPCは必要ない.メモリー4GB以上の64bitノートブックパソコン(中古でよい)で十分である.
注意点:
参考書:
(1)明快入門 C スーパービギナー編 (林晴比古実用マスターシリーズ),林晴比古,SBクリエイティブ
(2)標準講座C,翔泳社,Stephen G. Kochan
(3)高専機構 情報セキュリティ教材 「K-SEC情報モラル教材」(高専機構 「情報システムユーザーガイドライン」「低学年教材」等)
評価方法詳細:
定期試験 50%,課題等その他 50% を目安として評価する.60点以上を合格とする.再試は行わない.
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
オリエンテーション:学習に必要なノートブックPCに関する説明など,英語学習について |
学習方法を大まかに理解する.
|
2週 |
PCを使ってみる.情報セキュリティ |
キーボードを理解し,PCを操作できる.情報セキュリティを学ぶ必要性を理解する.
|
3週 |
コマンドライン操作 |
OS等のコマンドを打てる.
|
4週 |
コンピューターの基礎,CloudでC言語を使う |
Hello World!を出力できる.
|
5週 |
Visual C の使い方 |
Visual CでHello Worldのプログラムをコンパイルできる.
|
6週 |
gcc(MinGW)の使い方 |
gccでHello Worldのプログラムをコンパイルできる.
|
7週 |
Operators: Basic Arithmatic operators |
OperatorとOperandとそれらのevaluation(評価)を理解できる.
|
8週 |
Assignment Operators |
AssignmentもOperatorであると理解できる.
|
2ndQ |
9週 |
Logic and Increment Operators |
LogicとIncrement Operatorを使える.
|
10週 |
Bitwise Operators |
Bitwise Operatorsを使える.
|
11週 |
Relational and Conditional Operators |
Relational and Conditional Operatorsを使える.
|
12週 |
Operator Precedence and Evaluation |
Operator Precedence and Evaluationを表を見て決めることができる.
|
13週 |
Basic Types: Characters, String, and Integer Types |
Type(型)を理解できる.
|
14週 |
Integer and floating point casts |
castを理解できる.
|
15週 |
More casts |
castの理解を深める.
|
16週 |
|
|
後期 |
3rdQ |
1週 |
Control Flow: if Statement |
ifを含む複雑な制御を理解できる.
|
2週 |
while and for statement |
whileを含む複雑な制御を理解できる.
|
3週 |
Statement nesting |
複雑な制御を理解できる.
|
4週 |
switch, break, and continue |
switchを含む複雑な制御を理解できる.
|
5週 |
Storage Class: Blocks |
スコープを理解できる.
|
6週 |
Functions(1) |
関数の意味を理解できる.
|
7週 |
Functions(2) |
関数の意味を理解できる.
|
8週 |
More functions(1) |
関数における変数の受け渡しを理解できる.
|
4thQ |
9週 |
More functions(2) |
関数における変数の受け渡しを理解できる.
|
10週 |
Files(1) |
ファイルを分割してプログラムできる.
|
11週 |
Files(2) |
ファイルを分割してプログラムできる.
|
12週 |
Array of Pointers(1) |
ポインタと配列の関係を理解できる.
|
13週 |
Array of Pointers(1) |
ポインタと配列の関係を理解できる.
|
14週 |
Pointers and Arrays: Simple Pointer and Array(1) |
単純なポインタを理解できる.
|
15週 |
Simple Pointer and Array(2) |
単純なポインタを理解できる.
|
16週 |
|
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
基礎的能力 | 工学基礎 | 情報リテラシー | 情報リテラシー | 情報を適切に収集・処理・発信するための基礎的な知識を活用できる。 | 1 | |
論理演算と進数変換の仕組みを用いて基本的な演算ができる。 | 1 | |
コンピュータのハードウェアに関する基礎的な知識を活用できる。 | 1 | |
情報セキュリティの必要性および守るべき情報を認識している。 | 1 | |
個人情報とプライバシー保護の考え方についての基本的な配慮ができる。 | 1 | |
インターネット(SNSを含む)やコンピュータの利用における様々な脅威を認識している | 1 | |
インターネット(SNSを含む)やコンピュータの利用における様々な脅威に対して実践すべき対策を説明できる。 | 1 | |
専門的能力 | 分野別の専門工学 | 電気・電子系分野 | 電気回路 | オームの法則を説明し、電流・電圧・抵抗の計算ができる。 | 1 | |
情報系分野 | プログラミング | 代入や演算子の概念を理解し、式を記述できる。 | 2 | |
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 2 | |
変数の概念を説明できる。 | 2 | |
データ型の概念を説明できる。 | 2 | |
制御構造の概念を理解し、条件分岐を記述できる。 | 2 | |
制御構造の概念を理解し、反復処理を記述できる。 | 2 | |
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 1 | |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 2 | |
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。 | 2 | |
計算機工学 | 整数・小数をコンピュータのメモリ上でディジタル表現する方法を説明できる。 | 1 | |
基数が異なる数の間で相互に変換できる。 | 1 | |
整数を2進数、10進数、16進数で表現できる。 | 1 | |
小数を2進数、10進数、16進数で表現できる。 | 1 | |