到達目標
・プログラミングにおけるメモリ管理(特にC言語におけるポインタ)を理解している.
・グラフィカルなソフトウェアを作成できる.
・アルゴリズムの基礎(ソート)を理解している.
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
メモリ管理(ポインタ) | ポインタの動作原理を理解し,人に説明できるとともに,ポインタを利用したプログラムを作成できる. | ポインタを理解し,プログラムの作成ができる. | ポインタを理解できない. |
グラフィカルなソフトウェア | 自ら課題を設定し,グラフィカルなプログラムを作成できる. | 与えられた課題に対し,グラフィカルなプログラムを作成できる. | 与えられた課題に対して,グラフィカルなプログラムを作成できない.
|
アルゴリズムの基礎(ソート) | バブルソート,単純選択ソートを理解し,人に説明できるとともに,実装できる. | バブルソート,単純選択ソートを実装できる. | バブルソート,単純選択ソートを理解できない.
|
ソフトウェア設計 | 自ら仕様を定義し,開発工程に従って実装できる. | 作りたい物をイメージし,実装できる. | 設計ができない. |
学科の到達目標項目との関係
準学士課程(R5までのDP) R5までDP_1 科学技術の基礎知識・応用力の修得・活用
教育方法等
概要:
プログラミングを実際に作成することで,ソフトウェアの動作原理を理解する.具体的にはC言語を扱うが,他の言語であっても応用が効くように汎用的なプログラミング言語の知識習得を目指す.
得に,構造化プログラミングの基本を学ぶとともに,メモリ管理としてポインタやバブルソート・単純選択ソートなど基礎的なアルゴリズムを学ぶ.また,processingを用いてグラフィカルなソフトウェアを作成する.
授業の進め方・方法:
演習を中心に授業を進める.配布したプリントを理解し,課題を解くことでプログラミングスキル向上を目指す,わからないことがあれば,教科書を使い自分自身で調べることが大切である.
注意点:
「プログラミング基礎II」の授業と連動している.対象となる問題を理解し,適切な処理内容に置き換える能力を身に付けること.さらに,その処理内容をプログラムとして実装することができる能力を身に付けること.各種プログラム開発ツールは十分に使いこなせるようにすること.課題についてよく考え,手を動かし,プログラムを自らの力で作成できる能力を身につけること.
授業の属性・履修上の区分
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
後期 |
3rdQ |
1週 |
前期の復習を兼ねて,ペアプログラミングを通して,他者と共同してプログラムを作成することを学ぶ. |
ペアプログラミングにより課題を解決できる.
|
2週 |
ポインタの基礎を学ぶ. |
ポインタの概念がわかる.
|
3週 |
ポインタと関数の関係について学ぶ. |
ポインタと関数を扱える.
|
4週 |
ポインタと配列の関係について学ぶ. |
ポインタと配列を扱える.
|
5週 |
ポインタをmallocによって管理する方法を学ぶ.
|
mallocを扱える.
|
6週 |
ポインタをmallocによって管理する方法を学ぶ. |
mallocを扱える.
|
7週 |
ポインタのポインタについて学ぶ. |
ポインタのポインタを理解して,2次元配列を扱うことができる.
|
8週 |
過去問を課題として取り組む. |
過去問の課題を実装できる.
|
4thQ |
9週 |
応用プログラムとしてグラフィカルなゲームを作成する. |
自分で作りたいものを仕様として書き出すことができる.
|
10週 |
応用プログラムとしてグラフィカルなゲームを作成する. |
プログラムを作るための設計ができる.
|
11週 |
応用プログラムとしてグラフィカルなゲームを作成する. |
ゲームプログラムをコーディングできる.
|
12週 |
アルゴリズムの基本として,ソートアルゴリズム(バブルソート,単純選択ソート)を学ぶ. |
バブルソート,単純選択ソートを理解し,実装できる.
|
13週 |
構造体の基礎を学ぶ. |
構造体を扱える.
|
14週 |
配列,関数を組み合わせた構造体を学ぶ. |
配列・関数と構造体を組み合わせて扱える.
|
15週 |
過去問を課題として取り組む. |
過去問の課題を実装できる.
|
16週 |
|
|
モデルコアカリキュラムの学習内容と到達目標
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | 変数の概念を説明できる。 | 4 | |
データ型の概念を説明できる。 | 4 | |
代入や演算子の概念を理解し、式を記述できる。 | 4 | |
制御構造の概念を理解し、条件分岐を記述できる。 | 4 | |
制御構造の概念を理解し、反復処理を記述できる。 | 4 | |
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 4 | |
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 4 | |
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。 | 4 | |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 4 | |
分野別の工学実験・実習能力 | 情報系分野【実験・実習能力】 | 情報系【実験・実習】 | 標準的な開発ツールを用いてプログラミングするための開発環境構築ができる。 | 4 | |
要求仕様にあったソフトウェア(アプリケーション)を構築するために必要なツールや開発環境を構築することができる。 | 4 | |
要求仕様に従って標準的な手法によりプログラムを設計し、適切な実行結果を得ることができる。 | 4 | |
分野横断的能力 | 総合的な学習経験と創造的思考力 | 総合的な学習経験と創造的思考力 | 総合的な学習経験と創造的思考力 | 工学的な課題を論理的・合理的な方法で明確化できる。 | 3 | |
公衆の健康、安全、文化、社会、環境への影響などの多様な観点から課題解決のために配慮すべきことを認識している。 | 3 | |
評価割合
| 課題 | 合計 |
総合評価割合 | 100 | 100 |
基礎的能力 | 50 | 50 |
専門的能力 | 50 | 50 |