山梨大学電子シラバス>検索結果一覧>授業データ



授業科目名 Pythonプログラミング
時間割番号 UPC121
担当教員名 内山 和治/橋本 一成
開講学期・曜日・時限 前期・水・V 単位数 2
<対象学生>
(未登録)
<授業の目的>
科学技術計算やデータ分析、人工知能開発の標準的なツールとして広く利用されているPython言語を題材に、プログラミングの基礎的知識を学び、プログラミングを科学技術計算に対して適用するための技法を身につける。
<本授業科目による獲得・涵養が特に期待されるコンピテンシー>(能力・資質)
工学部>工学科1年次向け
記号コンピテンシー(能力・資質)説明 
工-A専門①教養・基礎知識工学の広い教養と自然科学の基礎知識を活用
工-B②専門的知識専門分野の基礎的知識を体系的に理解して説明
<到達目標>  到達目標とは
目標NO説明コンピテンシーとの対応
工学
1変数、関数、配列、文字列の概念を理解し、プログラミングに活用できる。工-A
2条件分岐、ループなどの基本命令を組み合わせた基本的なプログラムを書ける。工-A
3簡単な物理現象をシミュレートする数値計算プログラムを書ける。工-B
4科学技術計算に関する特定の課題を解決するためのプログラムを設計し実装できる。工-B
5数値計算によって得られたデータを可視化、解釈し、説明できる。工-B
6Python固有の科学技術計算ライブラリを活用したプログラムが書ける。工-B
7Python固有の科学技術計算ライブラリを活用したプログラムが書ける。工-A
<成績評価の方法>
目標No割合評価の観点
115%変数、関数、配列、文字列などを用いたプログラムを実際に作成、実行できるか、レポートとプレゼンテーションをもとに評価する。
215%基本命令を組み合わせたプログラムを実際に作成、実行できるか、レポートとプレゼンテーションをもとに評価する。
320%簡単な物理現象をシミュレートする数値計算プログラムを実際に作成、実行できるか、レポートとプレゼンテーションをもとに評価する。
420%データを回帰分析するためのプログラムを実際に作成、実行できるか、レポートとプレゼンテーションをもとに評価する。
510%科学技術計算に関する特定の課題を解決するためのプログラムを設計し実装できるか、レポートとプレゼンテーションをもとに評価する。
610%数値計算によって得られたデータを可視化、解釈し、わかりやすく説明できるか、レポートとプレゼンテーションをもとに評価する。
710%Numpy, Scipy, matplotlibなどのライブラリを活用したプログラムを実際に作成、実行できるか、レポートとプレゼンテーションをもとに評価する。
合計100% 
<授業の方法>
Pythonの基本構文に関する動画教材による事前学習と、教室における実習を組み合わせた反転授業を基本とする。数値計算やデータ分析の原理、アルゴリズムに関する高度な内容については適宜教室での講義スタイルの授業も併用する。
<受講に際して・学生へのメッセージ>
プログラミングは自ら手を動かしてプログラムを書かなければ決して身につきません。授業の実習は実習室の端末を利用することができますが、自宅学習を行うために自身のコンピュータにプログラミング環境を構築することを強く推奨します。
<テキスト>
  1. 森畑明昌著, Pythonによるプログラミング入門 : 東京大学教養学部テキスト : アルゴリズムと情報科学の基礎を学ぶ, 東京大学出版会, ISBN:9784130624589,
    (2019年出版)
<参考書>
  1. Bill Lubanovic著 ; 鈴木駿監訳 ; 長尾高弘訳, 入門Python3 第2版, オライリー・ジャパン,オーム社(発売), ISBN:9784873119328
  2. John V. Guttag著 ; 麻生敏正 [ほか] 訳, Python言語によるプログラミングイントロダクション : 計算モデリングとデータサイエンスの応用とともに 第3版, 近代科学社, ISBN:9784764906464,
    (2023年出版 世界標準MIT教科書)

  3. 野本拓也, 是常隆, 有田亮太郎著, 実践計算物理学 : 物理を理解するためのPython活用法, 共立出版, ISBN:9784320035768,
    (2023年出版 フロー式物理演習シリーズ, 22)
<授業計画の概要>
1タイトルガイダンス、Jupyter Notebookの使い方、Pythonの基礎
事前学習
事後学習
事前学習:教科書1章を読んでくる。教科書2.1を参考に各自のコンピュータに環境構築を行う。
事後学習:簡単な計算実行の復習をする。
授業内容授業の実施方法の概要説明、Jupyter Notebookの使い方の説明、Pythonを用いた簡単な計算の実行について解説する。
2タイトル変数、関数
事前学習
事後学習
事前学習:動画を視聴し、教科書2.4節、3章の該当箇所を読んでくる。
事後学習:変数の種類、関数の作成方法を復習する。
授業内容変数と関数を用いた簡単なプログラムを書く実習を行う。
3タイトル配列、文字列
事前学習
事後学習
事前学習:動画を視聴してくる。
事後学習:配列、文字列を使ったプログラムをいくつか作る。
授業内容配列、文字列を用いた簡単なプログラムを書く実習を行う。
4タイトル条件分岐
事前学習
事後学習
事前学習:動画を視聴してくる。
事後学習:条件分岐を用いたプログラムをいくつか作って復習する。
授業内容条件分岐を用いた簡単なプログラムを書く実習を行う。
5タイトルループ
事前学習
事後学習
事前学習:動画を視聴してくる。
事後学習:ループを含むプログラムをいくつか作って復習する。
授業内容for文、while文を用いたループを含む簡単なプログラムを書く実習を行う。
6タイトルライブラリの基礎
事前学習
事後学習
事前学習:動画を視聴してくる。
事後学習:科学計算用ライブラリの使用方法の基礎を復習する。
授業内容科学技術用途で頻繁に用いられるライブラリであるNumpy、Matplotlibの使い方について、特に本講義で使う機能を中心に学習する。また、教科書のために用意された補助ライブラリであるitaライブラリとの関係についても触れる。
7タイトルデータ処理の基本
事前学習
事後学習
事前学習:動画を視聴し、教科書4章を読んでくる。
事後学習:いくつかのデータについて処理を行い復習する。
授業内容成績の集計を題材に基本的なデータ処理を行うプログラムを書く実習を行う。
8タイトルライフゲーム1
事前学習
事後学習
事前学習:動画を視聴し、教科書5.1節、5.2節を読んでくる。
事後学習:ライフゲームのアルゴリズムを復習する。
授業内容ライフゲームの概要を学習し、プログラムを書く実習を行う。
9タイトルライフゲーム2
事前学習
事後学習
事前学習:動画を視聴し、教科書5.3節、5.4節を読んでくる。
事後学習:自らが指定したルールで作成したライフゲームを通して講義内容を復習する。
授業内容ライフゲームを題材にデータの可視化とプログラムのモジュール化の技法を学ぶ。
10タイトル放物運動のシミュレーション1
事前学習
事後学習
事前学習:動画を視聴し、教科書6.1節、6.2節を読んでくる。
事後学習:オイラー法の設定を調整するなどして講義内容を復習する。
授業内容オイラー法を用いた運動方程式の数値計算法を学び、プログラムを書く実習を行う。
11タイトル放物運動のシミュレーション2
事前学習
事後学習
事前学習:動画を視聴し、教科書6.3節、6.4節を読んでくる。
事後学習:放物運動の条件を変化させ可視化を行い講義内容を復習する。
授業内容データの可視化によるシミュレーション結果の吟味、モジュール化、オブジェクト指向プログラミングの基礎を学ぶ。
12タイトルデータの回帰分析
事前学習
事後学習
事前学習:動画を視聴し、教科書9.1節、9.2節を読んでくる。
事後学習:各種データについて回帰分析を適用し講義内容を復習する。
授業内容最小二乗法の原理を学び、特に線形近似の場合のプログラムを書く実習を行う。
13タイトル連立方程式の求解
事前学習
事後学習
事前学習:動画を視聴し、教科書9.3節から9.6節までを読んでくる。
事後学習:連立方程式に関わる具体例について解法を適用し講義内容を復習する。
授業内容連立方程式の求解アルゴリズムの基礎と、数値誤差について学び、プログラムを書く実習を行う。
14タイトルライブラリを用いた科学技術計算
事前学習
事後学習
事前学習:動画を視聴してくる。
事後学習:ライブラリを用いた計算について整理し、講義内容を復習する。
授業内容Numpy, Scipyを用いた科学技術計算の基礎と、Matplotlibによるデータの可視化について学び、プログラムを書く実習を行う。
15タイトル総括評価
事前学習
事後学習
事前学習:グループごとに事前に出題した課題を解決するプログラムを作成し、考え方と結果をまとめた発表資料を作成する。
事後学習:プレゼンテーションを行って気づいた点を整理し、講義全体を振り返る。
授業内容事前準備した発表資料に基づいてプレゼンテーションを行う。
<前年度授業に対する改善要望等への対応>
新規開設科目につき該当しない。
<備考>
(未登録)