プログラミング基礎

科目基礎情報

学校 富山高等専門学校 開講年度 令和03年度 (2021年度)
授業科目 プログラミング基礎
科目番号 0117 科目区分 専門 / 選択
授業形態 授業 単位の種別と単位数 学修単位: 1
開設学科 機械システム工学科 対象学年 4
開設期 後期 週時間数 後期:2
教科書/教材 詳細Python3入門ノート、大重美幸、ソーテック社/ BBC Micro:bit Ver.2/ データ通信配線されたMicro USBケーブル
担当教員 石黒 農

到達目標

プログラムに関する基礎知識を身につけ、変数/順次処理/条件分岐処理/繰り返し処理のプログラム作成に必要な基本要素を学ぶ。応用として例外処理を学ぶ。続いて、リストおよびスライスを学び、一般的な配列構造を学ぶ。続いてユーザー定義の関数およびクラスについて学び、簡便なプログラムについて自作出来ることを目指す。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
項目1 変数および型が理解できる、プログラム利用できる。変数および型が理解できる、プログラム利用できる。項目が理解できているが、プログラム作成が良くできない。項目が理解できていない。
項目2 標準ライブラリが説明でき、プログラム利用できる。標準ライブラリが説明でき、プログラム利用できる。項目が理解できているが、プログラム作成が良くできない。項目が理解できていない。
項目3 フローチャートの順次処理が説明できる。フローチャートの順次処理が説明できる。項目が理解できているが、プログラム作成が良くできない。項目が理解できていない。
項目4 フローチャートの条件分岐処理が説明でき、プログラム利用できる。フローチャートの条件分岐処理が説明でき、プログラム利用できる。項目が理解できているが、プログラム作成が良くできない。項目が理解できていない。
項目5 フローチャートの繰り返し処理が説明でき、プログラム利用できる。フローチャートの繰り返し処理が説明でき、プログラム利用できる。項目が理解できているが、プログラム作成が良くできない。項目が理解できていない。
項目6 例外処理が説明でき、プログラム利用できる。例外処理が説明でき、プログラム利用できる。項目が理解できているが、プログラム作成が良くできない。項目が理解できていない。
項目7 リストの説明ができ、プログラム利用できる。リストの説明ができ、プログラム利用できる。項目が理解できているが、プログラム作成が良くできない。項目が理解できていない。
項目8 スライスの説明ができ、プログラム利用できる。スライスの説明ができ、プログラム利用できる。項目が理解できているが、プログラム作成が良くできない。項目が理解できていない。
項目9 ユーザー定義関数を説明でき、プログラム利用できる。ユーザー定義関数を説明でき、プログラム利用できる。項目が理解できているが、プログラム作成が良くできない。項目が理解できていない。
項目10 関数オブジェクトとクロージャを説明できる。関数オブジェクトとクロージャを説明できる。項目が理解できているが、プログラム作成が良くできない。項目が理解できていない。
項目11 クラス定義を説明でき、プログラム利用できる。クラス定義を説明でき、プログラム利用できる。項目が理解できているが、プログラム作成が良くできない。項目が理解できていない。

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

学習・教育到達度目標 A-2 説明 閉じる
学習・教育到達度目標 A-5 説明 閉じる
JABEE 1(2)(c) 説明 閉じる
JABEE 1(2)(d)(1) 説明 閉じる
JABEE 1(2)(d)(2) 説明 閉じる
JABEE 2.1(1) 説明 閉じる
ディプロマポリシー 1 説明 閉じる

教育方法等

概要:
プログラミング言語を使用した簡単なソフトウェア開発を通じてプログラミング方法について体感するとともにプログラムに関する基礎知識を身につけプログラムを作成する。言語プラットフォームとして、Anaconda-Python IDEを用いて、JupyterNotebook、Spyderを利用してプログラム学習を行う。家庭での効率の良い自学自習および将来的なGPUを利用した解析の手助けとして、Google ColaboratoryおよびAmazon Web Servicesの遠隔利用方法について説明を行う。
授業の進め方・方法:
講義と実習を交互にした授業を展開し、動作原理等を講義で説明し、教科書の章に従って理解を深めていく。自作のプログラムの提出を以って到達度を評価する。応用プログラミングにつなげるために、後半10分程度をmicro:bitを用いたPythonプログラムを実施する。
評価は、試験40%、課題レポートとポートフォリオが60%とする。
注意点:
演習室またはBYODを用いて各自与えられた演習を行う。詳細な分からない箇所はICTを利用して調べ、レポートは共通プラットフォームTeamsを利用して提出・返却する。家庭での学習が必要であり、分からないことへの質問などは、遠隔授業対応になる。教科書を忘れると全く授業にならないので必ず持ってくる。また、名前を書いておく。

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

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

授業計画

授業内容 週ごとの到達目標
後期
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

評価割合

試験課題/ポートフォリオ合計
総合評価割合4060100
基礎的能力202040
専門的能力202040
分野横断的能力02020