プログラミング3

科目基礎情報

学校 久留米工業高等専門学校 開講年度 令和07年度 (2025年度)
授業科目 プログラミング3
科目番号 3E13 科目区分 専門 / 必修
授業形態 講義 単位の種別と単位数 履修単位: 1
開設学科 電気電子工学科 対象学年 3
開設期 前期 週時間数 2
教科書/教材 教科書:かくあき 著『現場で使える!Python科学技術計算入門 NumPy/SymPy/SciPy/pandasによる数値計算・データ処理手法』,翔泳社.
担当教員 山口 崇

到達目標

1.Pythonコーディングを数学などさまざまな計算に応用して活用できる.
2.SymPy, NumPyを教科書や公式ドキュメントで理解し計算に活用できる.
3.Matplotlibを教科書や公式ドキュメントで理解し可視化に活用できる.

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
Pythonの計算への活用問題に応じて十分に適切なコードを作成できる.問題に応じてある程度適切なコードを作成できる.適切なコードを作成できない.
SymPy, NumPyの計算への活用教科書や公式ドキュメントを理解して適切に活用できる.教科書や公式ドキュメントをあまり理解できないが活用できる.教科書や公式ドキュメントを理解できず活用できない.
Matplotlibの可視化への活用計算ツールと可視化ツールを十分に知り活用できる.計算ツールと可視化ツールをある程度活用できる.計算ツールと可視化ツールを活用できない.

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

1 説明 閉じる
JABEE B-1 説明 閉じる

教育方法等

概要:
「計算・数理の道具としてのPython」すなわち, 計算・数理を必要とするさまざまな問題解決の場面でPythonを活用するためのリテラシーを身につけることが目標である.この科目では,SymPy, NumPy, Matplotlib等のパッケージを基本ツールとして数式処理,数値計算,可視化を学び,数学,物理,電気回路などに活用する技法を身につける.
授業の進め方・方法:
教科書の内容を基本として実用性重視で補足説明をし,学生は自身のPCでJupyter Notebookを操作しながら授業を進める.数学,物理,電気回路などからも題材を採る.時間の限られた授業では基本的なガイドと簡単なヒントしか提示できないので,自学自習の課題等で不足を補う.ツールを正しく使えるよう,ネット上では直接「公式ドキュメント」を読みに行くことも習慣づける.全回を通じて情報のモラルとサイバーセキュリティの基本も学ぶ.
注意点:
評価方法
(1) 課題(レポート,演習,小試験など)100%で評価する.
(2) 評価基準:60点以上を合格とする.
(3) 定期試験,再試験は実施しない.

授業にはPCを持参すること.参考書[1]は各自での購入を特に推奨する.
シラバスに従い予習し,前回までの授業内容について復習しておくこと.課題等は必ず期限までに提出すること.

参考書
[1] 明松真司 著『Pythonで超らくらくに数学をこなす本』,オーム社.
[2] 谷尻かおり 著『文系プログラマーのためのPythonで学び直す高校数学』,日経BP.
[3] 谷尻かおり 著『文系でも必ずわかる 中学数学×Python 超簡単プログラミング入門』,日経BP.
[4] Veit Steinkamp 著『Der Python-Kurs für Ingenieure und Naturwissenschaftler』,Rheinwerk Verlag.
[5] 杉本大一郎 著『使える数理リテラシー』,勁草書房.
[6] 河村哲也 著『数値計算(第三版)』,インデックス出版.
[7] Svein Linge, Hans Petter Langtangen 著『Programming for Computations – Python』,Springer.(オープンアクセス https://doi.org/10.1007/978-3-030-16877-3 )
[8] Jake VanderPlas 著『Pythonデータサイエンスハンドブック』,オライリー・ジャパン.
[9] Bill Lubanovic 著『入門 Python3』,オライリー・ジャパン.
[10] 高専機構 情報セキュリティ教材『K-SEC情報モラル教材』(高専機構 「情報システムユーザーガイドライン」「低学年教材」).

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

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

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 Python / Jupyter Notebook 環境の構築と SymPy, NumPy, Matplotlib のインストール 学生自身のPCにThonnyまたはAnacondaでJupyter Notebook環境を構築し,SymPy, NumPy, Matplotlibをインストールする. ☞ 教科書 1章
2週 Pythonの基本 [1] オブジェクト,変数,数値,コンテナ Pythonのオブジェクト,変数,数値,コンテナの使い方を理解する. ☞ 教科書 2章
3週 Pythonの基本 [2] 比較演算子,論理演算子,制御フロー文,関数定義 Pythonの比較演算子,論理演算子,制御フロー文,関数定義の使い方を理解する. ☞ 教科書 2章
4週 SymPy [1] SymPyの準備,シンボルの作成,SymPyの数値型 SymPyで数式処理をするための記号と数値の取扱いを理解する. ☞ 教科書 4章
5週 SymPy [2] 数式の基本的な操作,数式の単純化 SymPyでできる数式の操作と単純化を理解し活用する. ☞ 教科書 4章
6週 SymPy [3] SymPyの行列型,線形代数,微分積分 SymPyでベクトルと行列,微分積分を取り扱う方法を理解し活用する. ☞ 教科書 4章,6章
7週 NumPy [1] NumPyの準備,配列の作成 NumPyの配列とその作成方法を理解する. ☞ 教科書 3章
8週 NumPy [2] 要素の参照,配列の形状や大きさの変更 NumPyの配列の要素を参照する方法と,形状や大きさの変更する方法を理解し活用する. ☞ 教科書 3章
2ndQ
9週 NumPy [3] 配列の基本計算 NumPyの配列のブロードキャストと,ユニバーサル関数の使い方を理解し活用する. ☞ 教科書 3章
10週 NumPy [4] 線形代数,統計 NumPyによるベクトルや行列の計算と統計処理を理解し活用する. ☞ 教科書 6章
11週 Matplotlib [1] Matplotlibの準備,グラフ作成の基礎 Matplotlibによるグラフ作成の基礎を理解し活用する. ☞ 教科書 5章
12週 Matplotlib [2] 複数のグラフを並べる,線やマーカーの設定 Matplotlibによるグラフのレイアウトや線・マーカーの種類の設定を理解し活用する. ☞ 教科書 5章
13週 Matplotlib [3] 文字による説明を加える,軸の設定 Matplotlibによるグラフへのテキストの配置や,軸への各種の設定を理解し活用する. ☞ 教科書 5章
14週 応用 : Pythonによる実験データ解析 Microsoft Excel等と連携して実験データを処理する方法を理解し活用する. ☞ 教科書 7章,8章
15週 情報セキュリティ 情報のモラルとサイバーセキュリティの基本を理解する.
16週

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

分類分野学習内容学習内容の到達目標到達レベル授業週
基礎的能力工学基礎情報リテラシー情報リテラシー情報を適切に収集・処理・発信するための基礎的な知識を活用できる。3前1,前2,前3,前4,前5,前6,前7,前8,前9,前10,前11,前12,前13,前14,前15
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。3前2,前3,前4,前5,前6,前7,前8,前9,前10,前11,前12,前13,前14
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。3前2,前3,前4,前5,前6,前7,前8,前9,前10,前11,前12,前13,前14
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。3前2,前3,前4,前5,前6,前7,前8,前9,前10,前11,前12,前13,前14
情報セキュリティの必要性および守るべき情報を認識している。3前15
個人情報とプライバシー保護の考え方についての基本的な配慮ができる。3前15
インターネット(SNSを含む)やコンピュータの利用における様々な脅威を認識している3前15
インターネット(SNSを含む)やコンピュータの利用における様々な脅威に対して実践すべき対策を説明できる。3前15
専門的能力分野別の専門工学情報系分野プログラミング変数の概念を説明できる。3前2,前3,前4,前5,前6,前7,前8,前9,前10,前11,前12,前13,前14
データ型の概念を説明できる。3前2,前3,前4,前5,前6,前7,前8,前9,前10,前11,前12,前13,前14
代入や演算子の概念を理解し、式を記述できる。3前2,前3,前4,前5,前6,前7,前8,前9,前10,前11,前12,前13,前14
制御構造の概念を理解し、条件分岐を記述できる。3前2,前3,前4,前5,前6,前7,前8,前9,前10,前11,前12,前13,前14
制御構造の概念を理解し、反復処理を記述できる。3前2,前3,前4,前5,前6,前7,前8,前9,前10,前11,前12,前13,前14
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。3前2,前3,前4,前5,前6,前7,前8,前9,前10,前11,前12,前13,前14
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。3前2,前3,前4,前5,前6,前7,前8,前9,前10,前11,前12,前13,前14
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。3前2,前3,前4,前5,前6,前7,前8,前9,前10,前11,前12,前13,前14
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。3前2,前3,前4,前5,前6,前7,前8,前9,前10,前11,前12,前13,前14
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。3前2,前3,前4,前5,前6,前7,前8,前9,前10,前11,前12,前13,前14
要求仕様に従って、いずれかの手法により動作するプログラムを設計することができる。3前2,前3,前4,前5,前6,前7,前8,前9,前10,前11,前12,前13,前14
要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。3前2,前3,前4,前5,前6,前7,前8,前9,前10,前11,前12,前13,前14
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。3前2,前3,前4,前5,前6,前7,前8,前9,前10,前11,前12,前13,前14

評価割合

試験発表相互評価態度ポートフォリオ課題合計
総合評価割合00000100100
基礎的能力000002020
専門的能力000008080
分野横断的能力0000000