専門教育課程 情報工学科
授業科目区分 |
科目名 |
単位数 |
科目コード |
開講時期 |
履修方法 |
専門教育課程 専門科目 専門 |
情報工学実験Ⅱ(再履修クラス)
Computer Programming Practice II
|
1 |
E516-01 |
2024年度
2期(後学期)
|
修学規程第4条を参照 |
授業科目の学習・教育目標 |
キーワード |
学習・教育目標 |
1.Python
2.プログラミング
3.単体テスト
4.オブジェクト指向
5.アルゴリズムとデータ構造
|
(1) Python言語を活用して演習課題に応じたプログラムが作成できる。
(2) 言語仕様、パッケージ、APIなどの情報を単独で調査して活用できる。
(3) プログラムの制約事項や可読性を考慮して簡潔にプログラムが書け、処理概要を説明で
きる。 |
授業の概要および学習上の助言 |
プログラミング言語 Python は教育用としてのみならず、ウェブサービスや人工知能の分野においても世界的に広く使われて
いるプログラミング言語である。プログラミングⅠ、プログラミングⅡで学習したことを、情報工学分野の課題演習に活用し
、プログラミング、ソフトウェア開発、問題発生時の修正方法を学び、要求された機能を実現するためのソフトウェア開発能
力を演習を通じて学習する。プログラムは可読性、保守性を考慮して作成することができ、他者が読みやすい機能概要、プロ
グラムコード、実行結果をレポートにする能力を高める。
毎回、ノートパソコンを持参すること。
ノートパソコンは、ネットワーク接続・プリンタ出力できることを確認しておくこと。 |
教科書および参考書・リザーブドブック |
教科書:指定なし
参考書:指定なし
リザーブドブック:指定なし |
履修に必要な予備知識や技能 |
プログラミングI、IIと情報工学実験Iにおいて履修したプログラミングに関する基礎(変数、演算、制御構文、関数など)、
ならびにプログラミングIIIにおいて履修したオブジェクト指向プログラミングの概念を前提とする。
データ構造とアルゴリズム、データベース、ネットワークなどの技術にも関心を持つことが望ましい。 |
学生が達成すべき行動目標 |
No. |
学科教育目標 (記号表記) |
|
① |
H,I,J,K,N |
Python言語を用いてプログラムを作成できる。 |
② |
H,I,J,K,N |
作成したプログラムや関数の概要、入力、処理、出力、制約を説明できる。 |
③ |
H,I,J,K,N |
エディタ操作、デバッグ方法を理解し効率的にプログラム開発ができる。 |
④ |
H,I,J,K,N |
同じ処理を複数の方法で実装でき、それぞれのメリット・デメリットを説明できる。 |
⑤ |
|
|
⑥ |
|
|
達成度評価 |
|
|
評価方法 |
総合評価割合 |
0 |
0 |
100 |
0 |
0 |
0 |
0 |
100 |
指標と評価割合 |
総合評価割合 |
0 |
0 |
100 |
0 |
0 |
0 |
0 |
100 |
総合力指標 |
0 |
0 |
35 |
0 |
0 |
0 |
0 |
35 |
0 |
0 |
45 |
0 |
0 |
0 |
0 |
45 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
10 |
0 |
0 |
0 |
0 |
10 |
0 |
0 |
10 |
0 |
0 |
0 |
0 |
10 |
評価の要点 |
評価方法 |
行動目標 |
評価の実施方法と注意点 |
試験 |
① |
|
|
② |
|
③ |
|
④ |
|
⑤ |
|
⑥ |
|
クイズ 小テスト |
① |
|
|
② |
|
③ |
|
④ |
|
⑤ |
|
⑥ |
|
レポート |
① |
レ |
各課題ごとにプログラム概要、ソースコード、実行結果をレポートとして提出する。
プログラムは可読性、処理の効率化、適応範囲・制約事項を考慮して作成すること。
レポートは技術文書の書き方に従い記述すること。
提出期限を重視して評価する。
レポートの内容、提出期限は授業で説明する。
進捗により授業明細から変更する場合がある。 |
② |
レ |
③ |
レ |
④ |
レ |
⑤ |
|
⑥ |
|
成果発表 (口頭・実技) |
① |
|
|
② |
|
③ |
|
④ |
|
⑤ |
|
⑥ |
|
作品 |
① |
|
|
② |
|
③ |
|
④ |
|
⑤ |
|
⑥ |
|
ポートフォリオ |
① |
|
|
② |
|
③ |
|
④ |
|
⑤ |
|
⑥ |
|
その他 |
① |
|
|
② |
|
③ |
|
④ |
|
⑤ |
|
⑥ |
|
具体的な達成の目安 |
理想的な達成レベルの目安 |
標準的な達成レベルの目安 |
標準的な達成レベルに加え、
(3) 複数の実装方法を検討でき、それぞれのメリット・デメリ
ットを説明できる。
(4) 入力、出力、処理の制約事項を説明でき、それらに応じた
テストケースを作成できる。
(5) 他人からも読みやすく保守しやすいコードを書くことがで
きる。 |
(1) 課題で要求された処理をPython言語で実装できる。
(2) 不明点は、言語仕様、文献等で調査してプログラムに反映
できる。 |
授業明細 |
回数 |
学習内容 |
授業の運営方法 |
学習課題 予習・復習 |
時間:分※ |
1 |
ガイダンス
Pythonの開発・実行環境の確認
Pythonの復習 |
解説、演習 |
Pythonの復習 |
100 |
2 |
素数ジェネレータ(1) |
解説、演習
レポート1 |
不明点の復習と次の課題の予習 |
100 |
3 |
素数ジェネレータ(2)
リスト内包による別の実装 |
解説、演習
レポート2 |
不明点の復習と次の課題の予習 |
100 |
4 |
HTMLパーサー(1) |
解説、演習
レポート3 |
不明点の復習と次の課題の予習 |
100 |
5 |
HTMLパーサー(2)
語句の頻度グラフ作成 |
解説、演習
レポート4 |
不明点の復習と次の課題の予習 |
100 |
6 |
HTML、HTTPサーバ、CGI(1) |
解説、演習
レポート5 |
不明点の復習と次の課題の検討 |
120 |
7 |
HTML、HTTPサーバ、CGI(2) |
演習
レポート6 |
不明点の復習と次の課題の検討 |
120 |
8 |
CGIアプリケーション作成(1) |
解説、演習 |
不明点の復習と次の課題の検討 |
120 |
9 |
CGIアプリケーション作成(2) |
演習
レポート7 |
不明点の復習と次の課題の検討 |
120 |
10 |
グラフアルゴリズム(1)
探索、図化、疑似言語
ネットワーク(グラフ)パッケージの紹介 |
解説、演習
レポート8 |
不明点の復習と次の課題の兼用 |
120 |
11 |
グラフアルゴリズム(2) |
演習
レポート9 |
不明点の復習と次の課題の確認 |
120 |
12 |
ボードゲームの処理を検討 |
解説、演習 |
不明点の復習と次の課題の確認 |
120 |
13 |
ボードゲームの実装 |
解説、演習
レポート10 |
不明点の復習 |
120 |
14 |
先週の振り返り |
講義 |
不明点の復習 |
120 |
15 |
自己点検、発展的話題 |
自己点検、質疑、解説 |
|
|
|
一般に、授業あるいは課外での学習では:「知識などを取り込む」→「知識などをいろいろな角度から、場合によってはチーム活動として、考え、推論し、創造する」→「修得した内容を表現、発表、伝達する」→「総合的に評価を受ける、GoodWork!」:のようなプロセス(一部あるいは全体)を繰り返し行いながら、応用力のある知識やスキルを身につけていくことが重要です。このような学習プロセスを大事に行動してください。
※学習課題の時間欄には、指定された学習課題に要する標準的な時間を記載してあります。日々の自学自習時間全体としては、各授業に応じた時間(例えば2単位科目の場合、予習2時間・復習2時間/週)を取るよう努めてください。詳しくは教員の指導に従って下さい。