概要:
■ 前期
コンピュータにおけるソフトウェアの役割と,プログラミングの位置づけを学びます。プログラミングにあたり,
コンピュータに処理の内容を教える必要がありますが,本科目では,「手続き」による表現でのプログラミングを扱
います。手続きの進行と,コンピュータの動作の関係についても触れます。手続きの表現の方法として,まずは「流
れ図」を扱います。順次処理・選択処理・繰り返し処理の組み合わせで,さまざまな処理が記述できることを理解し
,それらを用いて基本的な処理を記述することを学びます。
本科目では,プログラミング言語として,「C 言語とProcessing言語」を使用します。プログラムの作成と実行,
変数をはじめとしたデータの概念とその管理,制御構造の記述を学びます。
■ 後期
配列変数の概念を導入し,大量のデータを扱う方法を学びます。また,C 言語の重要な概念のひとつである,手続
きをまとめる「関数(function)」について,処理系が用意しているライブラリ関数,自分で作成する関数を学びま
す。それに伴って,整列などの基本的なアルゴリズムについても扱います。
授業の進め方・方法:
教室での講義に加えて,IT 教育研究センター演習室でプログラミング実習を行います。
注意点:
電子情報工学科では,すべてのソフトウェア関連の科目は本科目を基礎として構成されています。
プログラミングは,話を聞いているだけでは習得できません。プログラムを読み,自分で考え,自分で書き,実行
し,バグなどと闘って経験を積むことが必要です。本科目履修後に作成できるプログラムは,まだ小さく頼りないも
のでしょうが,これから経験を積んで技術を修得することで,皆さんが目にする「ソフトウェア」に近づいていくこ
とを忘れないでくださればと思います。
|
|
週 |
授業内容 |
週ごとの到達目標 |
| 前期 |
| 1stQ |
| 1週 |
プログラミング基礎 |
ソフトウェアの役割とプログラミングの関係を扱います。コンピュータに,どのように問題解決させるのか,その動作と関連させて変数とデータの型,式と代入などについての概念を説明します。これらを組み合わせて基本的なプログラミングをProcessing言語を利用し,学習します。
|
| 2週 |
プログラミング基礎 |
ソフトウェアの役割とプログラミングの関係を扱います。コンピュータに,どのように問題解決させるのか,その動作と関連させて変数とデータの型,式と代入などについての概念を説明します。これらを組み合わせて基本的なプログラミングをProcessing言語を利用し,学習します。
|
| 3週 |
プログラミング基礎 |
ソフトウェアの役割とプログラミングの関係を扱います。コンピュータに,どのように問題解決させるのか,その動作と関連させて変数とデータの型,式と代入などについての概念を説明します。これらを組み合わせて基本的なプログラミングをProcessing言語を利用し,学習します。
|
| 4週 |
手続きの記述と流れ図 |
処理内容を手続きで表現することについて,「流れ図(フローチャート)」を用いて記述することを学びます。手続きを記述することとその注意,順次・選択・繰り返しによる処理の記述と,構造化プログラミグについてProcessing言語を利用し,学習します。
|
| 5週 |
手続きの記述と流れ図 |
処理内容を手続きで表現することについて,「流れ図(フローチャート)」を用いて記述することを学びます。手続きを記述することとその注意,順次・選択・繰り返しによる処理の記述と,構造化プログラミグについてProcessing言語を利用し,学習します。
|
| 6週 |
手続きの記述と流れ図 |
処理内容を手続きで表現することについて,「流れ図(フローチャート)」を用いて記述することを学びます。手続きを記述することとその注意,順次・選択・繰り返しによる処理の記述と,構造化プログラミグについてProcessing言語を利用し,学習します。
|
| 7週 |
手続きの記述と流れ図 |
処理内容を手続きで表現することについて,「流れ図(フローチャート)」を用いて記述することを学びます。手続きを記述することとその注意,順次・選択・繰り返しによる処理の記述と,構造化プログラミグについてProcessing言語を利用し,学習します。
|
| 8週 |
中間試験 |
|
| 2ndQ |
| 9週 |
C 言語プログラミング入門 |
パーソナルコンピュータでの C 言語処理系の扱いを学びます。プログラムの書き方を説明し,入出力・式・変数を用いた簡単なプログラムを実行させてみます。C 言語における「型」の概念の概要を理解します。
|
| 10週 |
C 言語プログラミング入門 |
パーソナルコンピュータでの C 言語処理系の扱いを学びます。プログラムの書き方を説明し,入出力・式・変数を用いた簡単なプログラムを実行させてみます。C 言語における「型」の概念の概要を理解します。
|
| 11週 |
C 言語プログラミング入門 |
パーソナルコンピュータでの C 言語処理系の扱いを学びます。プログラムの書き方を説明し,入出力・式・変数を用いた簡単なプログラムを実行させてみます。C 言語における「型」の概念の概要を理解します。
|
| 12週 |
選択処理(if 文) |
選択処理(if 文)を用いた,分岐があるプログラムについて学びます。
|
| 13週 |
選択処理(if 文) |
選択処理(if 文)を用いた,分岐があるプログラムについて学びます。
|
| 14週 |
選択処理(if 文) |
選択処理(if 文)を用いた,分岐があるプログラムについて学びます。
|
| 15週 |
繰り返し処理( while,do...while,for の 3 種類の繰り返しを扱い) |
while,do...while,for の 3 種類の繰り返しを扱います。繰り返しを用いたプログラム例も扱います。
|
| 16週 |
期末試験 |
|
| 後期 |
| 3rdQ |
| 1週 |
繰り返し処理( while,do...while,for の 3 種類の繰り返しを扱い) |
while,do...while,for の 3 種類の繰り返しを扱います。繰り返しを用いたプログラム例も扱います。
|
| 2週 |
繰り返し処理( while,do...while,for の 3 種類の繰り返しを扱い) |
while,do...while,for の 3 種類の繰り返しを扱います。繰り返しを用いたプログラム例も扱います。
|
| 3週 |
繰り返し処理( while,do...while,for の 3 種類の繰り返しを扱い) |
while,do...while,for の 3 種類の繰り返しを扱います。繰り返しを用いたプログラム例も扱います。
|
| 4週 |
配列を使う |
番号付きの変数群である「配列」について学びます。データを番号で指し示す方法,繰り返しとの関連,いくつかのプログラム例を扱います。
|
| 5週 |
配列を使う |
番号付きの変数群である「配列」について学びます。データを番号で指し示す方法,繰り返しとの関連,いくつかのプログラム例を扱います。
|
| 6週 |
配列を使う |
番号付きの変数群である「配列」について学びます。データを番号で指し示す方法,繰り返しとの関連,いくつかのプログラム例を扱います。
|
| 7週 |
配列を使う |
番号付きの変数群である「配列」について学びます。データを番号で指し示す方法,繰り返しとの関連,いくつかのプログラム例を扱います。
|
| 8週 |
中間試験 |
|
| 4thQ |
| 9週 |
配列とアドレス |
配列とアドレスの使い方を学習します。
|
| 10週 |
配列とアドレス |
配列とアドレスの使い方を学習します。
|
| 11週 |
関数 |
プログラムの機能単位である「関数」について,その考え方,書き方,使い方を学びます。これに関連して,引数の渡し方,変数の通用範囲(局所変数・広域変数)を説明します。関数を用いたプログラム例を見てみます。
|
| 12週 |
関数 |
プログラムの機能単位である「関数」について,その考え方,書き方,使い方を学びます。これに関連して,引数の渡し方,変数の通用範囲(局所変数・広域変数)を説明します。関数を用いたプログラム例を見てみます。
|
| 13週 |
関数 |
プログラムの機能単位である「関数」について,その考え方,書き方,使い方を学びます。これに関連して,引数の渡し方,変数の通用範囲(局所変数・広域変数)を説明します。関数を用いたプログラム例を見てみます。
|
| 14週 |
簡単なアルゴリズム |
コンピュータで頻繁に利用される,「並べ替える」処理について,アルゴリズムとその実装を見てみます。同じ処理を行うのに複数のアルゴリズムが存在することがあり,それらは適用する条件やかかる手間が異なることを見てみます。
|
| 15週 |
簡単なアルゴリズム |
コンピュータで頻繁に利用される,「並べ替える」処理について,アルゴリズムとその実装を見てみます。同じ処理を行うのに複数のアルゴリズムが存在することがあり,それらは適用する条件やかかる手間が異なることを見てみます。
|
| 16週 |
期末試験 |
|
| 分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
| 基礎的能力 | 工学基礎 | 情報リテラシー | 情報リテラシー | 情報を適切に収集・処理・発信するための基礎的な知識を活用できる。 | 3 | |
| 論理演算と進数変換の仕組みを用いて基本的な演算ができる。 | 3 | |
| コンピュータのハードウェアに関する基礎的な知識を活用できる。 | 3 | |
| 情報伝達システムやインターネットの基本的な仕組みを把握している。 | 3 | |
| 同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。 | 3 | |
| 与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。 | 3 | |
| 任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。 | 3 | |
| 情報セキュリティの必要性および守るべき情報を認識している。 | 3 | |
| 個人情報とプライバシー保護の考え方についての基本的な配慮ができる。 | 3 | |
| インターネット(SNSを含む)やコンピュータの利用における様々な脅威を認識している | 3 | |
| インターネット(SNSを含む)やコンピュータの利用における様々な脅威に対して実践すべき対策を説明できる。 | 3 | |
| 専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | 代入や演算子の概念を理解し、式を記述できる。 | 3 | 前3,前10,前11 |
| プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 3 | 前7,前8,後11,後12,後13,後15 |
| 与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 3 | 前15,後7,後10,後14,後15 |