概要:
本科目では,実際のプログラミングの基礎について講義する.特に,Processing言語によって,基本的なプログラムの作成ができることを目標とする.また,これまで主にプログラミング言語について学んできたが,授業の後半ではソフトウェア開発の一連の流れを経験することで基本的な知識を習得することを目標とする.
なお,本科目はSDGsの目標「9.産業と技術革新の基盤をつくろう」に合致している.
授業の進め方・方法:
授業の前半では,プログラミングの基礎やProcessingの概要などを説明するため,座学を中心に行う.後半は,実際にコンピュータ室により演習を中心に行う.特に,グループでソフトウェアの設計から開発を行うことで,実際のソフトウェアによるモノ創りを学ぶ.限られた授業時間内では十分な技術は身につかない.授業中に出す課題を中心に,休み時間や放課後を利用して積極的に演習を行うことで理解を深める必要がある.
注意点:
1年次の情報リテラシーIおよび2年次の情報リテラシーII,情報処理Iで学ぶ基礎的知識を前提とする.
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
これまでの復習1 |
順次処理,選択処理,反復処理の基本処理構造を使うことができる.
|
2週 |
これまでの復習2 |
配列や関数を使うことができる.
|
3週 |
移動,回転,伸縮1 |
ビジュアル表現を豊かにするために,基本的な座標変換について理解し,説明できる.
|
4週 |
移動,回転,伸縮2 |
ビジュアル表現を豊かにするために,基本的な座標変換について理解し,説明できる.
|
5週 |
運動の表現1 |
物理現象をシミュレーションするための数学的アルゴリズムを理解し,説明できる.
|
6週 |
運動の表現2 |
物理現象をシミュレーションするための数学的アルゴリズムを理解し,説明できる.
|
7週 |
プログラミング演習1 |
これまでの知識を使って,発展的なプログラムを作成することができる.
|
8週 |
【中間試験】 |
|
2ndQ |
9週 |
クラスとオブジェクト1 |
クラスの概念を理解し,説明できる.
|
10週 |
クラスとオブジェクト2 |
クラスの定義のやり方を理解し,説明できる.
|
11週 |
クラスとオブジェクト3 |
オブジェクトを理解し,クラスとオブジェクトの関係を説明できる.
|
12週 |
クラスとオブジェクト4 |
クラスを用いたプログラムを作成できる.
|
13週 |
プログラミング演習2 |
これまでの知識を使って,発展的なプログラムを作成することができる.
|
14週 |
プログラミング演習3 |
これまでの知識を使って,発展的なプログラムを作成することができる.
|
15週 |
期末試験 |
|
16週 |
テスト返却と解説 |
|
後期 |
3rdQ |
1週 |
データ構造とアルゴリズム |
データ構造とアルゴリズムの関係を理解し,基本的なデータ構造とアルゴリズムの種類を説明できる.
|
2週 |
基本データ構造1 |
リスト(単方向,双方向,環状)構造,およびスタック構造を理解できる.
|
3週 |
基本データ構造2 |
スタック構造を利用した関数呼び出しの仕組みについて理解できる.二分木構造について理解できる.
|
4週 |
探索アルゴリズム1 |
線形探索,二分探索について理解できる.
|
5週 |
探索アルゴリズム2 |
ハッシュ法について理解できる.
|
6週 |
ソーティングアルゴリズム1 |
交換法,選択法,挿入法について理解できる.
|
7週 |
ソーティングアルゴリズム2 |
バブルソート,クイックソートについて理解できる.
|
8週 |
【中間試験】 |
|
4thQ |
9週 |
Robocodeの解説 |
ソフトウェアによるモノ創りを学び,その一つの具体例として,Robocodeによるソフトウェアの設計から開発までの流れを理解できる.
|
10週 |
Robocodeの利用法 |
Robocodeシステムの操作方法を理解できる.
|
11週 |
Robocodeによるロボット設計 |
Robocodeにおけるロボットの仕組みを理解し,設計書を作成する.
|
12週 |
Robocode によるモノ創り演習2 |
設計書に従って,ロボットの開発(プログラミング)を行い,設計書に近い形で実現することができる.
|
13週 |
Robocodeによる競技(予選会) |
Robocodeによる競技大会(予選)を行い,設計したロボットの改善点を見つけることができる.
|
14週 |
ロボットの改良 |
見つけた改善点を実現するためのプログラムを実装できる.
|
15週 |
Robocodeによる競技(本選) |
Robocodeによる競技大会(本選)を行い,設計したロボットの勝因や敗因を理解し,改善点を見つけることができる.
|
16週 |
|
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
基礎的能力 | 工学基礎 | 情報リテラシー | 情報リテラシー | 同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。 | 3 | 前1,前2,前8,前15,前16,後4,後6,後8,後9 |
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。 | 3 | 前3,前4,前5,前6,前8,前9,前10,前11,前12,前15,前16,後1,後2,後3,後5,後7,後8,後10,後11 |
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。 | 3 | 前7,前8,前13,前14,前15,後8,後12,後13,後14,後15 |