プログラムに関する基礎知識を身につけ、変数/順次処理/条件分岐処理/繰り返し処理のプログラム作成に必要な基本要素を学ぶ。応用として例外処理を学ぶ。続いて、リストおよびスライスを学び、一般的な配列構造を学ぶ。続いてユーザー定義の関数およびクラスについて学び、簡便なプログラムについて自作出来ることを目指す。
概要:
プログラミング言語を使用した簡単なソフトウェア開発を通じてプログラミング方法について体感するとともにプログラムに関する基礎知識を身につけプログラムを作成する。言語プラットフォームとして、Anaconda-Python IDEを用いて、JupyterNotebook、Spyderを利用してプログラム学習を行う。家庭での効率の良い自学自習および将来的なGPUを利用した解析の手助けとして、Google ColaboratoryおよびAmazon Web Servicesの遠隔利用方法について説明を行う。
授業の進め方・方法:
講義と実習を交互にした授業を展開し、動作原理等を講義で説明し、教科書の章に従って理解を深めていく。自作のプログラムの提出を以って到達度を評価する。応用プログラミングにつなげるために、後半10分程度をmicro:bitを用いたPythonプログラムを実施する。
評価は、試験40%、課題レポートとポートフォリオが60%とする。
注意点:
演習室またはBYODを用いて各自与えられた演習を行う。詳細な分からない箇所はICTを利用して調べ、レポートは共通プラットフォームTeamsを利用して提出・返却する。家庭での学習が必要であり、分からないことへの質問などは、遠隔授業対応になる。教科書を忘れると全く授業にならないので必ず持ってくる。また、名前を書いておく。
|
|
週 |
授業内容 |
週ごとの到達目標 |
後期 |
3rdQ |
1週 |
ガイダンス プログラミング基礎 |
履修上の注意、Anaconda-Python IDEを用いたプログラミングに関しての基礎 基本的なプログラミングの手順についての説明。 JupyterNotebook、Spyder、Google Colaboratory、Amazon Web Servicesの利用方法の説明。
|
2週 |
プログラミング基礎 変数および型の説明 |
プログラミングの実行演習 変数および型の演習 JupyterNotebook、Spyder、Google Colaboratory、Amazon Web Servicesの利用方法の説明。
|
3週 |
標準ライブラリの説明 |
標準ライブラリの演習 JupyterNotebook、Spyder、Google Colaboratory、Amazon Web Servicesの利用方法の説明。
|
4週 |
プログラム処理の流れの説明 フローチャートの順次処理の説明 |
プログラム処理の流れの学習 フローチャートの順次処理の演習
|
5週 |
フローチャートの条件分岐処理の説明 フローチャートの繰り返し処理の説明 |
フローチャートの条件分岐処理の演習 フローチャートの繰り返し処理の演習
|
6週 |
フローチャートの条件分岐処理の説明 フローチャートの繰り返し処理の説明 |
フローチャートの条件分岐処理の演習 フローチャートの繰り返し処理の演習
|
7週 |
フローチャートの条件分岐処理の説明 フローチャートの繰り返し処理の説明 |
フローチャートの条件分岐処理の演習 フローチャートの繰り返し処理の演習
|
8週 |
例外処理の説明 |
例外処理の演習
|
4thQ |
9週 |
リストおよびスライスによる一般的な配列処理の説明 |
リストおよびスライスによる一般的な配列処理
|
10週 |
リストおよびスライスによる一般的な配列処理の説明 |
リストおよびスライスによる一般的な配列処理
|
11週 |
ユーザー定義関数の説明 |
ユーザー定義関数の演習
|
12週 |
関数オブジェクトとクロージャの説明 |
ユーザー定義関数の演習 関数オブジェクトとクロージャの学習
|
13週 |
クラス定義の説明 |
クラス定義の演習
|
14週 |
クラス定義の説明 OpenCVやAI画像処理プログラムの説明 |
クラス定義の演習
|
15週 |
期末試験 |
期末試験
|
16週 |
答案返却と解説 |
答案返却と解説およびアンケート等
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
基礎的能力 | 工学基礎 | 情報リテラシー | 情報リテラシー | 情報を適切に収集・処理・発信するための基礎的な知識を活用できる。 | 3 | |
論理演算と進数変換の仕組みを用いて基本的な演算ができる。 | 3 | |
コンピュータのハードウェアに関する基礎的な知識を活用できる。 | 3 | |
情報伝達システムやインターネットの基本的な仕組みを把握している。 | 3 | |
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。 | 3 | |
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。 | 3 | |
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。 | 3 | |
情報セキュリティの必要性および守るべき情報を認識している。 | 3 | |
個人情報とプライバシー保護の考え方についての基本的な配慮ができる。 | 3 | |
インターネット(SNSを含む)やコンピュータの利用における様々な脅威を認識している | 3 | |
インターネット(SNSを含む)やコンピュータの利用における様々な脅威に対して実践すべき対策を説明できる。 | 3 | |
専門的能力 | 分野別の専門工学 | 機械系分野 | 情報処理 | プログラムを実行するための手順を理解し、操作できる。 | 4 | 後1,後2,後3,後4 |
定数と変数を説明できる。 | 4 | 後5,後6 |
整数型、実数型、文字型などのデータ型を説明できる。 | 4 | 後5,後6 |
演算子の種類と優先順位を理解し、適用できる。 | 4 | 後5,後6 |
算術演算および比較演算のプログラムを作成できる。 | 4 | 後5,後6 |
データを入力し、結果を出力するプログラムを作成できる。 | 4 | 後3,後4,後13,後14 |
条件判断プログラムを作成できる。 | 4 | 後7,後8 |
繰り返し処理プログラムを作成できる。 | 4 | 後9,後10 |
一次元配列を使ったプログラムを作成できる。 | 4 | 後11,後12 |