到達目標
1.Processingを利用したプログラミングを行うことができる
2.ソフトウェアの設計から開発までの流れを理解できる
3.基本的なアルゴリズムとデータ構造が理解できる
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
評価項目1 | 発展的な問題の解法を考え,解決手順を論理的に説明できる. | 基本的な問題の解法を考え,解決手順を論理的に説明できる. | 問題の解法を論理的に説明することができない. |
評価項目2 | Processingを用いて,発展的なプログラミングを行うことができる. | Processingを用いて,基本的なプログラミングを行うことができる. | Processingによるプログラムを書くことができない. |
評価項目3 | 基本的なアルゴリズムとデータ構造それぞれにおいて,その特徴や違いを説明できる. | 基本的なアルゴリズムとデータ構造の種類を説明できる. | 基本的なアルゴリズムとデータ構造の種類を説明できない. |
学科の到達目標項目との関係
学習・教育到達度目標 B-1
説明
閉じる
学習・教育到達度目標 B-4
説明
閉じる
教育方法等
概要:
本科目では,実際のプログラミングの基礎について講義する.特に,Processing言語によって,基本的なプログラムの作成ができることを目標とする.また,これまで主にプログラミング言語について学んできたが,授業の後半ではソフトウェア開発の一連の流れを経験することで基本的な知識を習得することを目標とする.
授業の進め方・方法:
授業の前半では,プログラミングの基礎やProcessingの概要などを説明するため,座学を中心に行う.後半は,実際にコンピュータ室により演習を中心に行う.特に,グループでソフトウェアの設計から開発を行うことで,実際のソフトウェアによるモノ創りを学ぶ.限られた授業時間内では十分な技術は身につかない.授業中に出す課題を中心に,休み時間や放課後を利用して積極的に演習を行うことで理解を深める必要がある.
注意点:
1年次の情報リテラシーIおよび2年次の情報リテラシーII,情報処理Iで学ぶ基礎的知識を前提とする.
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
これまでの復習 |
配列や関数を使うことができる.
|
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週 |
|
|
モデルコアカリキュラムの学習内容と到達目標
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
評価割合
| 試験 | 発表 | 相互評価 | 態度 | ポートフォリオ | その他 | 合計 |
総合評価割合 | 60 | 0 | 0 | 0 | 40 | 0 | 100 |
基礎的能力 | 40 | 0 | 0 | 0 | 20 | 0 | 60 |
専門的能力 | 20 | 0 | 0 | 0 | 20 | 0 | 40 |
分野横断的能力 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |