到達目標
1. 与えられた問題に対してそれを解決するためのソースプログラムを記述できる。
2. 代表的なアルゴリズムやデータ構造について説明することができる。
3. 機械学習やデータ処理などの実際の問題に応用することができる。
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
評価項目1 | 自分の力だけで様々な文法事項を含むプログラムの読み書きができる。 | 書籍等を参考にして,様々な文法事項を含むプログラムの読み書きができる。 | 条件分岐や繰り返しのプログラムを理解できない。 |
評価項目2 | 自分の力だけで,代表的なアルゴリズムやデータ構造の特徴を理解し,初めて見る問題についても使い分けて,プログラムを作成することができる。 | 書籍等を参考にして,代表的なアルゴリズムやデータ構造の特徴を理解し,説明することができる。 | 代表的なアルゴリズムやデータ構造の特徴を説明することができない。 |
学科の到達目標項目との関係
学習・教育到達度目標 電気情報工学科の教育目標②
説明
閉じる
学習・教育到達度目標 本科の教育目標②
説明
閉じる
教育方法等
概要:
プログラミング言語の1 つであるPythonはスクリプト言語であるが,近年,データ解析や人工知能の分野において利用されている。本授業ではプログラミング言語であるPythonの文法事項の修得に加え,この言語の特徴の1 つであるオブジェクト指向の概念の理解を目指す。そして,その応用として,種々のアルゴリズムを用いたプログラムの作成方法についても説明する。そして,プログラム作成等の演習には可能な限り多くの時間を割く予定である。
授業の進め方・方法:
教科書,参考書や配布資料にあるサンプルプログラムを通して文法事項を確認する。そして,それを基にして各自でプログラム作成を行う。また,演習を通してその定着を図っていく。
注意点:
・自学自習時間(60時間)は,日常の授業(30時間)に対する予習復習,レポート課題の回答作成時間,試験のための学習時間を総合したものとする。
・評価については,合計点数が60点以上で単位修得となる。
・これまでのプログラミング実習の授業を履修したことにより,プログラミングに必要な基礎知識は既に理解されているものとして授業を進める。
・本科目ではこれまでに身に付けた知識を基に,自らプログラムを作成することにより多くの時間を費やす。これはプログラミング言語の修得には机上の文法学習だけでは不十分であり,自分でできるだけ多くのプログラムを作成することが必要となるからである。
・授業時間以外の自学自習による演習には十分な時間を割いて欲しい。
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
Pythonとは |
プログラミング言語Python の特徴が説明できる。開発環境をコンピュータにインストールして,開発環境の整えることができる。
|
2週 |
Pythonの対話モード |
対話実行モードの使い方が説明できる。また,ソースプログラムのコマンドラインからの実行方法が説明できる。
|
3週 |
変数と制御構造 「if文」 |
変数の扱い方が説明できる。if文の使い方が説明できる。
|
4週 |
制御構造 「for文」 |
for文の使い方が説明できる。
|
5週 |
制御構造 「break文とcontinue文」 |
break文とcontinue文の使い方が説明できる。
|
6週 |
制御構造の演習 |
制御構造を利用した簡単なプログラムを作ることができる。
|
7週 |
リスト 次週、前期中間試験を実施する |
リストを用いたデータ構造について説明できる。学んだ知識の確認ができる。
|
8週 |
答案返却と解説 辞書型 |
学んだ知識の再確認と修正ができる。 辞書型を用いたデータ構造について説明できる。
|
2ndQ |
9週 |
文字列の操作 関数 |
文字列操作を含むプログラムの読み書きができる。関数を定義することができる。
|
10週 |
関数を用いたプログラムの演習 |
無名関数の役割について説明できる。関数を定義したプログラムを読み書きすることができる。
|
11週 |
イテレータ 例外処理 |
イテレータを用いて繰り返しを処理するプログラムを作成することができる。例外処理の特徴を説明できる。
|
12週 |
モジュール |
代表的なモジュールの使い方が説明できる。
|
13週 |
ファイル処理 |
ファイル処理を行う簡単なプログラムを作ることができる。
|
14週 |
ファイル処理を用いたプログラムの演習 |
ポリモーフィズムの働きについて説明できる。アクセス修飾子の違いについて説明できる。
|
15週 |
演習 |
ここまで学んできた文法事項を用いたプログラムを作成することができる。
|
16週 |
前期末試験 |
学んだ知識の確認ができる。
|
後期 |
3rdQ |
1週 |
デスクトップアプリの作成 1 |
デスクトップアプリの作成方法を説明できる。
|
2週 |
デスクトップアプリの作成 2 |
デスクトップアプリの作成することができる。
|
3週 |
Webアプリの作成 1 |
Webアプリの作成方法を説明できる。
|
4週 |
Webアプリの作成 2 |
Webアプリの作成することができる。
|
5週 |
機械学習 1 |
様々な機械学習ライブラリの特徴を説明できる。サンプルを利用して機械学習のプログラムを動作させることができる。
|
6週 |
機械学習 2 |
学習データを自分で選び,機械学習のプログラムを動作させることができる。
|
7週 |
演習 次週、後期中間試験を実施する |
学んだ知識の確認ができる。
|
8週 |
試験答案返却と解説 オブジェクト指向とは |
学んだ知識の再確認と修正ができる。 オブジェクト指向の特徴を説明できる。
|
4thQ |
9週 |
継承について |
継承の働きを説明できる。
|
10週 |
探索アルゴリズム |
代表的な探索アルゴリズムが説明できる。
|
11週 |
整列アルゴリズム |
代表的な整列アルゴリズムが説明できる。
|
12週 |
演習 1 |
これまでの学んできた事項を用いてプログラムのアルゴリズムを作成することができる。
|
13週 |
演習 2 |
これまでの学んできた事項を用いてプログラムを作成することができる。
|
14週 |
演習 3 |
他人が作成したプログラムを読み,アルゴリズムを説明できる。
|
15週 |
学年末試験 |
学んだ知識の確認ができる。
|
16週 |
試験答案返却と解説 |
学んだ知識の再確認と修正ができる。
|
モデルコアカリキュラムの学習内容と到達目標
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
基礎的能力 | 工学基礎 | 情報リテラシー | 情報リテラシー | 同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。 | 3 | 前1 |
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。 | 3 | 前1 |
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。 | 3 | 前1 |
専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | 代入や演算子の概念を理解し、式を記述できる。 | 2 | 前2 |
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 2 | 前9,前10,前11,前12,前13 |
変数の概念を説明できる。 | 2 | 前4 |
データ型の概念を説明できる。 | 2 | 前4 |
制御構造の概念を理解し、条件分岐を記述できる。 | 2 | 前2 |
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 2 | 前4,前5 |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 2 | 後14 |
ソフトウェア | アルゴリズムの概念を説明できる。 | 2 | 後1,後2 |
与えられたアルゴリズムが問題を解決していく過程を説明できる。 | 2 | 後1,後2 |
整列、探索など、基本的なアルゴリズムについて説明できる。 | 2 | 後1,後2 |
分野別の工学実験・実習能力 | 情報系分野【実験・実習能力】 | 情報系【実験・実習】 | 与えられた問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。 | 2 | 前1 |
問題を解決するために、与えられたアルゴリズムを用いてソースプログラムを記述し、得られた実行結果を確認できる。 | 2 | 前1 |
評価割合
| 試験 | レポート | 合計 |
総合評価割合 | 50 | 50 | 100 |
基礎的能力 | 40 | 40 | 80 |
専門的能力 | 10 | 0 | 10 |
分野横断的能力 | 0 | 10 | 10 |