到達目標
1. 与えられた問題に対してそれを解決するためのソースプログラムを記述できる。
2. 代表的なアルゴリズムやデータ構造について説明することができる。
3. 人工知能やデータサイエンスに関する知識を利用し,実際の問題に適用することができる。
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
評価項目1 | 自分の力だけで様々な文法事項を含むプログラムの読み書きができる. | 書籍等を参考にして,様々な文法事項を含むプログラムの読み書きができる。 | 条件分岐や繰り返し等のプログログラムにおける処理の制御を理解できない. |
評価項目2 | 代表的なアルゴリズムやデータ構造の特徴を理解し,初めて見る問題についても使い分けて,自分の力だけでプログラムを作成することができる. | 代表的なアルゴリズムやデータ構造の特徴を理解し,書籍等を参考にして,プログログラムの作成や説明することができる. | 代表的なアルゴリズムやデータ構造の特徴を説明することができない. |
学科の到達目標項目との関係
電気情報工学科の教育目標③
説明
閉じる
本科の教育目標②
説明
閉じる
教育方法等
概要:
プログラミング言語「Python」は,データサイエンスや人工知能の分野等において多くの利用されている.本授業ではプログラミング言語「Python」の特徴を理解し,文法事項の修得を目指す,そして,この応用として,種々のアルゴリズムを用いたプログラムの作成方法についても学ぶ.また,科目の性質上,プログラム作成等の演習には可能な限り多くの時間を割く予定である.
授業の進め方・方法:
教科書や資料にあるサンプルプログラムを通して文法事項を確認する.そして,それを基にして各自でプログラムの作成を行う.さらには,演習問題を通してその定着を図っていく。
注意点:
・自学自習時間は,日常の授業に対する予習・復習,演習問題の解答作成時間,試験のための学習時間を総合したものとする.
・評価については,合計点数が60点以上で単位修得となる.
・本科目ではこれまでに身に付けたプログラミングや情報工学,計算機工学等の知識を基に,自らプログラムを作成することにより多くの時間を費やす.
授業の属性・履修上の区分
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
Pythonの概要 |
プログラミング言語Python の特徴が説明できる.開発環境方法や各開発環境の特徴を説明することができる.さらには,計算機能を利用することができる.
|
2週 |
条件分岐と繰り返し処理(1) |
変数の扱い方が説明できる。「if」を用いた条件分岐について説明できる.「for」を用いた繰り返し処理について説明することができる.
|
3週 |
条件分岐と繰り返し処理(2) |
「while」を用いた繰り返し処理について説明することができる.「ニュートン法」のアルゴリズムについて説明することができる.
|
4週 |
関数 |
関数の作り方や呼び出し方を説明することができる.変数の「スコープ」について説明することができる.
|
5週 |
リストとタプル |
「リスト」と「タプル」の特徴について,それぞれ説明することができる.「リスト内包表記」を用いたプログログラムを作成する方法を説明することができる.
|
6週 |
文字列処理 |
「辞書型」のデータ構造の特徴を説明することができる.正規表現を用いた文字列処理を含むプログログラムの処理内容を説明することができる.
|
7週 |
ファイル操作 |
ファイルの入出力処理について説明することができる.
|
8週 |
中間試験 |
学んだ知識の確認ができる。
|
2ndQ |
9週 |
再帰呼び出し |
「再帰」の特徴を説明することができる.「再帰呼び出し」を利用したプログログラムを作成することができる.
|
10週 |
クラス |
プログラミングにおけるオブジェクト指向の特徴を説明することができる.「クラス」を定義することができる.「コンストラクタ」の役割を説明することができる.
|
11週 |
ライブラリ |
「ライブラリ」の働きを説明することができる.「NumPy」を用いて簡単な行列演算のプログラムを作る方法を説明することができる.「SciPy」の特徴を説明することができる.
|
12週 |
動的計画法 |
代表的な「最適化問題」に関するアルゴリズムを説明することができる.
|
13週 |
乱数を使ったプログラム |
「疑似乱数」について説明することができる.乱数を利用したプログラムの作り方を説明することができる.
|
14週 |
簡単な機械学習 |
機械学習の処理について説明することができる.
|
15週 |
期末試験 |
学んだ知識の確認ができる。
|
16週 |
演習 |
これまで学んだ知識を利用して,プログラムを作ることができる.
|
モデルコアカリキュラムの学習内容と到達目標
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | 代入や演算子の概念を理解し、式を記述できる。 | 2 | |
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 2 | |
変数の概念を説明できる。 | 2 | |
データ型の概念を説明できる。 | 2 | |
制御構造の概念を理解し、条件分岐を記述できる。 | 2 | |
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 3 | |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 3 | |
ソフトウェア | アルゴリズムの概念を説明できる。 | 2 | |
与えられたアルゴリズムが問題を解決していく過程を説明できる。 | 3 | |
整列、探索など、基本的なアルゴリズムについて説明できる。 | 3 | |
評価割合
| 試験 | レポート | 合計 |
総合評価割合 | 60 | 40 | 100 |
基礎的能力 | 40 | 20 | 60 |
専門的能力 | 20 | 20 | 40 |
分野横断的能力 | 0 | 0 | 0 |