プログラミング実習

科目基礎情報

学校 舞鶴工業高等専門学校 開講年度 令和05年度 (2023年度)
授業科目 プログラミング実習
科目番号 0018 科目区分 専門 / 必修
授業形態 授業 単位の種別と単位数 履修単位: 2
開設学科 電気情報工学科 対象学年 3
開設期 前期 週時間数 4
教科書/教材 渡辺宙志「ゼロから学ぶPythonプログラミング」(講談社)
担当教員 片山 英昭,森 健太郎

到達目標

1 変数とデータ型の概念を説明できる。
2 代入や演算子の概念を理解し,式を記述できる。
3 ソフトウェア生成に必要なツールを使い,ソースプログラムをロードモジュールに変換して実行できる。
4 コンピュータ上での数値の表現方法が誤差に関係することを理解している。
5 コンピュータ上で数値計算を行う際に発生する誤差の影響を理解している。
6 コンピュータ向けの主要な数値計算アルゴリズムの概要や特徴を説明できる。
7 同一の問題に対し,それを解決できる複数のアルゴリズムが存在しうることを理解している。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1一般的な変数とデータ型の概念を説明できる。代表的ないくつかの変数とデータ型の概念を説明できる。変数とデータ型の概念を説明できない。
評価項目2代入や演算子の概念を理解し,式を記述できる。記述された式において、代入や演算子を説明できる。代入や演算子の概念を理解し,式を記述できない。
評価項目3複数の環境を使いこなし,ソースプログラムをロードモジュールに変換して実行できる。ソフトウェア生成に必要なツールを使い,ソースプログラムをロードモジュールに変換して実行できる。ソフトウェア生成に必要なツールを使い,ソースプログラムをロードモジュールに変換して実行できない。
評価項目4コンピュータ上での数値の表現方法が誤差に関係することを理解し,避けることができる。コンピュータ上での数値の表現方法が誤差に関係することを理解している。コンピュータ上での数値の表現方法が誤差に関係することを理解していない。
評価項目5コンピュータ上で数値計算を行う際に発生する誤差の影響を理解し,避けることができる。コンピュータ上で数値計算を行う際に発生する誤差の影響を理解している。コンピュータ上で数値計算を行う際に発生する誤差の影響を理解していない。
評価項目6コンピュータ向けの主要な数値計算アルゴリズムの概要や特徴を説明でき,使い分けすることができる。コンピュータ向けの主要な数値計算アルゴリズムの概要や特徴を説明できる。コンピュータ向けの主要な数値計算アルゴリズムの概要や特徴を説明できない。
評価項目7同一の問題に対し,それを解決できる複数のアルゴリズムが存在しうることを理解している。同一の問題に対し,それを解決できるアルゴリズムが一つでないことを理解している。同一の問題に対し,それを解決できる複数のアルゴリズムが存在しうることを理解していない。

学科の到達目標項目との関係

学習・教育到達度目標 (B) 説明 閉じる
学習・教育到達度目標 (D) 説明 閉じる
学習・教育到達度目標 (H) 説明 閉じる

教育方法等

概要:
本講義では,C言語以外のプログラミング言語(2023年度はPython)を使用し,実践的な技術の習得を目指す。また,また基礎的な数値解析のプログラムを作成することで,数値的な解析アプローチを学習する。

授業の進め方・方法:
【授業方法】
・講義と演習を交互に行いながら授業を進める。
・出題課題を解説する形で講義を行うことが多いので,課題は各自期日までに終えておくこと。
・Pythonプログラミング環境は,各自で用意すること。(Google Colaboratoryを使用する際は,通信環境を事前に確認すること)

【学習方法】
・必ず予習を行い,講義に臨むこと。
・講義時に指示するプログラミング課題は,必ず各自で行うこと。
・課題提出期限は厳守すること。

注意点:
【成績の評価方法・評価基準】
・2回の定期試験(筆記試験)を行う。
・講義内で2回の実技試験を行う。
・課題の提出を求める。
・提出課題が一つでも提出されていない場合は,評価を行わない。
・試験の平均点(59%),課題の提出状況および内容評価(41%)で総合成績を評価する。
・到達目標に基づき,各項目の修得の程度を評価基準とする。

【備考】
毎回,プログラミング環境を用意すること。

【教員の連絡先】
担当教員 片山,森
研究室  A棟3階(A-330),A棟3階(A-321)
内線電話 8969,8960,
e-mail:  katayama, k.moriアットマークmaizuru-ct.ac.jp(アットマークは@に変えること。)

授業の属性・履修上の区分

アクティブラーニング
ICT 利用
遠隔授業対応
実務経験のある教員による授業

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 シラバス内容の説明,プログラミング言語について
2週 数値計算の基礎知識,ニュートン法 1,2
3週 収束の速さ,コラッツ問題 4,5
4週 参照の値渡し,フラクタル曲線 2,7
5週 文字列処理,形態素解析
6週 ファイル操作
7週 演習と実技試験
8週 中間試験(筆記試験)
2ndQ
9週 中間試験の返却,再帰
10週 逆ポーランド記法
11週 動的計画法
12週 モンテカルロ法
13週 運動方程式の数値解法 6,7
14週 演習と実技試験
15週 期末試験(筆記試験)
16週 (15週目の後に期末試験を実施)
期末試験返却・達成度確認

モデルコアカリキュラムの学習内容と到達目標

分類分野学習内容学習内容の到達目標到達レベル授業週
基礎的能力工学基礎情報リテラシー情報リテラシー同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。3前1
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。3前2
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。3前10,前11,前12
専門的能力分野別の専門工学情報系分野プログラミング代入や演算子の概念を理解し、式を記述できる。3前2
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。3前4
変数の概念を説明できる。3前2,前4
データ型の概念を説明できる。3前2,前4
制御構造の概念を理解し、条件分岐を記述できる。3前1
制御構造の概念を理解し、反復処理を記述できる。3前1
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。3前13,前14
ソフトウェアアルゴリズムの概念を説明できる。3前1
与えられたアルゴリズムが問題を解決していく過程を説明できる。3前5,前9,前11,前12
整列、探索など、基本的なアルゴリズムについて説明できる。3前5,前9
情報数学・情報理論コンピュータ上での数値の表現方法が誤差に関係することを説明できる。3前2,前3,前12,前13
コンピュータ上で数値計算を行う際に発生する誤差の影響を説明できる。3前2,前3,前13
コンピュータ向けの主要な数値計算アルゴリズムの概要や特徴を説明できる。3前13,前14
分野別の工学実験・実習能力情報系分野【実験・実習能力】情報系【実験・実習】与えられた問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。3前6
ソフトウェア生成に利用される標準的なツールや環境を使い、ソースプログラムをロードモジュールに変換して実行できる。3前6
問題を解決するために、与えられたアルゴリズムを用いてソースプログラムを記述し、得られた実行結果を確認できる。3前7

評価割合

試験実技相互評価実技等ポートフォリオその他合計
総合評価割合59000410100
基礎的能力0000000
専門的能力59000410100
分野横断的能力0000000