到達目標
・制御構造の概念を理解し、条件分岐や反復処理を記述できる。
・Linux環境においてソフトウエア開発に利用する標準的なツールの機能を理解しプログラム作成に生かすことができる。
・クラス図を理解し、クラス図を元にしたプログラムを作成できる。
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 到達レベルの目安(可) |
| 条件分岐や反復処理を組み合わせて使用する実践的なプログラムを作成できる。 | 条件分岐や反復処理を組み合わせて使用する単純なプログラムを作成できる。 | 単独の条件分岐や反復処理を使用するプログラムを作成できる。 |
| Linux環境を使用しソースコードの作成・修正を効率的に行うことができる。
デバッガを使って、デバッグを効率的に行える。 | Linux環境を使用しソースコードの作成・修正を行うことができる。
デバッガを使って、デバッグを行える。 | Linux環境を使用しソースコードの作成・修正を行うことができない。
デバッガを使って、デバッグを行えない。 |
| 多段継承を表すクラス図にそったクラスを生成し、インスタンスを使用できる。 | 継承を表すクラス図にそったクラスを生成し、インスタンスを使用できる。 | クラス図にそったクラスを生成し、インスタンスを使用できる。 |
学科の到達目標項目との関係
教育方法等
概要:
基本的な制御構造の概念と使用方法を理解し、プログラムを作成する力を身につける。その際、ソフトウエア開発に利用する標準的なツールの機能を理解しプログラム作成に生かす能力を養う。さらにオブジェクト指向言語におけるクラス・インスタンスの概念を理解しクラス図を用いたソフトウェア開発の基礎を学ぶ。使用言語は、Pythonを用い、異なった言語間で共通しているオブジェクト指向概念に関しての理解を深める。
授業の進め方・方法:
・ 授業は講義+演習形式で行う、講義中は集中して聴講し、演習中は演習に集中すること
・ 毎週レポート課題を課すので、期限に遅れず提出すること
注意点:
・ 予習復習を実施しなければ十分に理解できないため、自宅のパソコンにも統合開発環境を導入すること
・ 電子メールやLMSを用いた連絡を適宜行うため、スマートフォンやタブレットの操作に慣れること
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
Linux環境の基礎
|
仮想環境とは何か説明できる。Linux上でファイルのコピーや移動ができる。
|
2週 |
Python言語の基礎1 |
ハローワールドのような単純なプログラムを動作させることができる。
|
3週 |
Python言語の基礎2 |
代表的な演算子を知っており、簡単な演算を行える。
|
4週 |
Python言語の基礎2 |
代表的な型を知っており、用途に応じて使い分けができる。
|
5週 |
Python言語の基礎3 |
変数を使用して簡単な演算や標準出力を行うことができる。
|
6週 |
Python言語の基礎4 |
if文を使用するのに、インデントでブロックを表すことが理解できる。
|
7週 |
Python言語の基礎5 |
正しくインデントを用いてif文(条件分岐)を意図どおりプログラムできる。
|
8週 |
前期中間試験 |
|
2ndQ |
9週 |
クラスとインスタンス |
クラスとインスタンスの概念を理解する。
|
10週 |
メソッド |
メソッドを理解し使用できる。
|
11週 |
変数の扱い |
変数の扱いを理解し使用できる。
|
12週 |
継承1 |
継承を理解できる。
|
13週 |
継承2 |
継承を理解し使用できる。
|
14週 |
継承3 |
継承を使用すると良いケースを理解し、実践的なプログラムに応用できる。
|
15週 |
オーバーライド |
オーバーライドについて理解し、使用することができる。
|
16週 |
|
|
後期 |
3rdQ |
1週 |
Pythonの応用1 |
テキストファイルへの書き込みを行える。その際、書き込みモードと追記モードを使い分けできる。
|
2週 |
Pythonの応用2 |
テキストファイルから読み込みを行える。その際、行単位で読み込む場合と全てを読み込む場合を使い分けできる。
|
3週 |
Pythonの応用3 |
構造化テキストの代表的なものをあげることができ、構造化テキストからの読み込みや、書き込みを行うことができる。
|
4週 |
Pythonの応用4 |
代表的モジュールを使用することができる。
|
5週 |
Pythonの応用5 |
代表的モジュールを使用してより実践的なプログラムを作成できる。
|
6週 |
Pythonの応用6 |
複数のモジュールを組み合わせてより高度な機能を実現できる。
|
7週 |
Pythonの応用7 |
目的に合わせたモジュール等を使って実践的なプログラムを作成できる。
|
8週 |
後期中間試験 |
|
4thQ |
9週 |
実践1 |
データスクレイピングの基礎的な機能を理解できる。
|
10週 |
実践2 |
データスクレイピングの基礎的な基礎機能を動作させることができる。
|
11週 |
実践3 |
データスクレイピングの基礎的な機能を自分でプログラムを作成し動作させることができる。
|
12週 |
実践4 |
目的にあわせたデータスクレイピングを行うプログラムを作成できる。
|
13週 |
実践5 |
収集したデータを処理するための基礎的な手法を知っている。
|
14週 |
実践6 |
収集したデータを処理するための基礎的な手法を使ってデータ解析を行える。
|
15週 |
試験返却 |
|
16週 |
|
|
モデルコアカリキュラムの学習内容と到達目標
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | 変数とデータ型の概念を説明できる。 | 3 | |
代入や演算子の概念を理解し、式を記述できる。 | 3 | |
制御構造の概念を理解し、条件分岐や反復処理を記述できる。 | 3 | |
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 3 | |
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 3 | 後2 |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 3 | |
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。 | 2 | |
ソフトウェア | アルゴリズムの概念を説明できる。 | 2 | |
与えられたアルゴリズムが問題を解決していく過程を説明できる。 | 2 | |
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。 | 1 | |
時間計算量や領域計算量などによってアルゴリズムを比較・評価できることを理解している。 | 1 | |
整列、探索など、基本的なアルゴリズムについて説明できる。 | 2 | |
評価割合
| 試験 | 発表 | 相互評価 | 態度 | 課題 | その他 | 合計 |
総合評価割合 | 60 | 0 | 0 | 0 | 40 | 0 | 100 |
基礎的能力 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
専門的能力 | 60 | 0 | 0 | 0 | 40 | 0 | 100 |
分野横断的能力 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |