| 科 目 | プログラミングⅠb ( Programming I b ) | |||
|---|---|---|---|---|
| 担当教員 | 戸崎 哲也 教授 | |||
| 対象学年等 | システム情報工学科・1年・後期・必修・1単位【演習】 ( 履修単位 ) | |||
| 学習・教育 目標 |
目標5-システム情報工学科 | |||
| 授業の概要 と方針 |
本科目では,主にPythonを用いたプログラミング言語演習を通じて,コンピュータによる問題解決の手法を学ぶ.単に文法を暗記するのではなく,課題を論理的に分析し,プログラムとして表現する「プログラミング的思考」を養うことを主眼とする.ここでは,プログラミングIaで学んだ基礎知識をより実践的に利用できるよう学習することを目的とする. | |||
| 到 達 目 標 |
1 | Gitを使ったバージョン管理ができ,GitHub上で運用する主旨や方法を理解できる. | 2 | ファイル操作の仕組みを理解し,CSV,JSONファイルの読み書きができる. | 3 | mathモジュール,randomモジュール等のモジュールを利用したプログラミングができる. | 4 | NumPyやPandas等のライブラリを用いてデータ処理ができる. | 5 | MatplotlibやSeabornライブラリを使って,データをグラフ化し可視化することができる. | 6 | 簡単な分析ツールを独自に開発し,それを成果として発表できる. | 7 | 8 | 9 | 10 |
| 評 価 方 法 と 基 準 |
到 達 目 標 毎 |
1 | Gitを使ったバージョン管理ができ,GitHub上で運用する主旨や方法を理解できるかを授業時演習で評価する. | |
| 2 | ファイル操作の仕組みを理解し,CSV,JSONファイルの読み書きができるかを中間試験と授業時演習で評価する. | |||
| 3 | mathモジュール,randomモジュール等のモジュールを利用したプログラミングができるかを中間試験と授業時演習で評価する. | |||
| 4 | NumPyやPandas等のライブラリを用いてデータ処理ができるかを授業時演習で評価する. | |||
| 5 | MatplotlibやSeabornライブラリを使って,データをグラフ化し可視化することができるかを授業時演習で評価する. | |||
| 6 | 開発したツールの独自性,成果発表の内容をプレゼンテーションと作品で評価する. | |||
| 7 | ||||
| 8 | ||||
| 9 | ||||
| 10 | ||||
| 総 合 評 価 |
成績は,試験30% プレゼンテーション20% 授業時演習30% 作品20% として評価する.総合評価を100点満点とし,60点以上を合格とする.授業時演習は,授業ごとに課す課題や演習等の提出物で評価する. | |||
| テキスト | 「みんなのPython第5版」:柴田淳(SBクリエイティブ) 授業時配布資料 |
|||
| 参考書 | 「Pythonではじめるアルゴリズム入門 伝統的なアルゴリズムで学ぶ定石と計算量 」:増井 敏克(翔泳社) 「Pythonユーザのための Jupyter[実践]入門」:池内 孝啓,片柳 薫子ほか(技術評論社) 「教養としてのデータサイエンス」:内田 誠一ほか(講談社) |
|||
| 関連科目 | 情報基礎a,b,プログラミングIa | |||
| 履修上の 注意事項 |
各自のノートPCを用いて授業を進める.ノートPCの充電は,各自の責任の下行っておくこと. | |||
| 上段:テーマ/下段:内容(目標、準備など) | |
|---|---|
| 1 | Pythonの復習 |
| プログラミングIaで学んだ内容を復習する.その後,問題を課すのでそれを解決するプログラミングを行う. | |
| 2 | バージョン管理(1) |
| バージョン管理ツールとして広く知られるGitを各自のノートPCにインストールする.また,バージョン管理の重要性,Gitの仕組みを理解する. | |
| 3 | バージョン管理(2) |
| Gitを利用したホスティングサービスであるGitHubの使い方を学ぶ.また,アカウントの作成後プッシュ,コミット,ブランチなど基本的な流れを理解し,ポートフォリオとして利用する流れを学ぶ. | |
| 4 | ファイル操作1 |
| ファイルにはテキストファイルとバイナリファイルがある.その両者の違いを理解し,Pythonを用いたテキストファイルの読み込み,書き出しができる. | |
| 5 | ファイル操作2 |
| Pythonで頻繁に利用するテキストファイルのフォーマットとして,CSV形式とJSON形式がある.これらの説明を行い,標準ライブラリを用いた扱い方を学ぶ. | |
| 6 | ライブラリ活用1 |
| Pipによる外部パッケージのインストールを行う手法を学ぶ.また,実際にライブラリをインストールしてその使用方法を学ぶ. | |
| 7 | ライブラリ活用2 |
| mathモジュール,randomモジュールを用いたプログラミングを行う. | |
| 8 | 中間試験 |
| これまでの内容の中間試験を実施する. | |
| 9 | 中間試験の解説とデータ処理ライブラリ入門:NumPy |
| 中間試験の解説を行う.その後,ライブラリの活用例として数理・データ解析に必要な配列計算をNumPyを用いて行う.ここでは行列演算の基礎を学ぶ. | |
| 10 | データ処理ライブラリ入門:Pandas (1) |
| データフレームの作成,データの読み込み,基本的な統計量の確認に関する内容を学ぶ. | |
| 11 | データ処理ライブラリ入門:Pandas (2) |
| データの抽出,フィルタリング,簡単な加工について学ぶ. | |
| 12 | グラフ描画:Matplotlib/Seaborn |
| 10, 11回目で加工したデータを可視化する方法について学ぶ. | |
| 13 | 総合演習:アプリ開発 |
| データ分析に関するテーマをいくつか挙げる.その中から希望するテーマを選択し,スクリプトを作成する. | |
| 14 | 総合演習:アプリ開発 |
| 13回目に引き続いて作業する. | |
| 15 | 総合演習:成果発表 |
| 作成したプログラムの発表を行う. | |
| 備 考 |
後期中間試験を実施する. |