| 科 目 | プログラミングⅠa ( Programming I a ) | |||
|---|---|---|---|---|
| 担当教員 | 戸崎 哲也 教授 | |||
| 対象学年等 | システム情報工学科・1年・前期・必修・1単位【演習】 ( 履修単位 ) | |||
| 学習・教育 目標 |
目標5-システム情報工学科 | |||
| 授業の概要 と方針 |
本科目では,主にPythonを用いたプログラミング言語演習を通じて,コンピュータによる問題解決の手法を学ぶ.単に文法を暗記するのではなく,課題を論理的に分析し,プログラムとして表現する「プログラミング的思考」を養うことを主眼とする.ここでは,その基礎的知識を習得することを目的とする. | |||
| 到 達 目 標 |
1 | 汎用的なエディタであるVS Codeを用いたPythonプログラミングを各自のノートPCで行うことができる. | 2 | 変数とデータ型を理解できる. | 3 | 条件分岐や繰り返し処理といった制御処理が理解できる. | 4 | 制御処理を組み合わせてプログラミングができる. | 5 | 辞書の基本構造を理解し,値の取得や追加,並び替え,削除等の基本的な処理ができる. | 6 | 関数を理解し,利用できる. | 7 | 基本的なモジュールをインポートし,各種機能を利用できる. | 8 | 代表的なアルゴリズムを提示し,プログラミングできる. | 9 | 10 |
| 評 価 方 法 と 基 準 |
到 達 目 標 毎 |
1 | 各自のノートPCでPythonプログラミングができるかを授業時演習で評価する. | |
| 2 | 変数とデータ型を理解できているか,中間試験と授業時演習で評価する. | |||
| 3 | 条件分岐や繰り返し処理といった制御処理が理解できるかを中間試験と授業時演習で評価する. | |||
| 4 | 制御処理を組み合わせたプログラミングができるかを中間時演習で評価する. | |||
| 5 | 辞書の基本構造を理解し,値の取得や追加,並び替え,削除等の基本的な処理ができるかを定期試験と授業時演習で評価する. | |||
| 6 | 関数を理解して利用できるかを定期試験と授業時演習で評価する. | |||
| 7 | 基本的なモジュールをインポートし,各種機能を利用できるかを定期試験と授業時演習で評価する. | |||
| 8 | 代表的なアルゴリズムをPythonを用いてプログラミングできるかを総合演習で評価する. | |||
| 9 | ||||
| 10 | ||||
| 総 合 評 価 |
成績は,試験30% 授業時演習30% 中間時演習&総合演習40% として評価する.試験成績は2回の試験の平均点とする.授業時演習は,授業ごとに課す課題や演習等の提出物で評価する.総合評価を100点満点として,60点以上を合格とする. | |||
| テキスト | 「みんなのPython第5版」:柴田淳(SBクリエイティブ) 授業時配布資料 |
|||
| 参考書 | 「Pythonではじめるアルゴリズム入門 伝統的なアルゴリズムで学ぶ定石と計算量 」:増井 敏克(翔泳社) 「Pythonユーザのための Jupyter[実践]入門」:池内 孝啓,片柳 薫子ほか(技術評論社) 「教養としてのデータサイエンス」:内田 誠一ほか(講談社) |
|||
| 関連科目 | プログラミングIb, 情報基礎a,b | |||
| 履修上の 注意事項 |
GW以降に各自のノートPCを用いて授業を進める.ノートPCの充電は必ず行っておくこと. | |||
| 上段:テーマ/下段:内容(目標、準備など) | |
|---|---|
| 1 | プログラミング言語全般に関する講義と環境設定 |
| 本科目を学ぶ上の動機付けとして,プログラミング言語全体に関する講義を行う.これを受けてPython言語を学ぶ重要性を理解する.さらに,Python言語を学ぶ上で必要な環境設定を行う. | |
| 2 | 変数とデータ型 |
| Pythonでの数値の取り扱い方と注意点,文字列の扱い方,簡単な四則演算を学ぶ. | |
| 3 | 文字列操作と入出力 |
| input()関数を用いた文字列の入力,数値の取り扱い方を学ぶ.また,print()関数を用いてそれらを出力する方法を学ぶ. | |
| 4 | 各自のノートPCで環境設定,リストの基礎 |
| 各自のノートPCにPython, VS Codeをインストールし,実行テストを行う.以降の授業は各自のノートPCで授業を進める.さらに,リストの概念を理解し,インデックスによる管理,追加,変更等の処理法を学ぶ. | |
| 5 | 条件分岐 |
| if文の基礎を理解し,比較演算子や論理演算子による条件分岐,elif, elseなどの多分岐を理解する. | |
| 6 | 繰り返し処理 |
| for文の基礎を理解する.また,range()関数を用いた指定回数の制限,ネストの流れを学ぶ. | |
| 7 | 中間課題 |
| 変数,リスト,条件分岐,繰り返し処理を用いた演習問題を課し,これを解決できるようプログラミングする. | |
| 8 | 中間試験 |
| これまでの内容の中間試験を実施する. | |
| 9 | 中間試験の解説と制御文 |
| 中間試験の解説を行う.また,制御文に関して,while文,無限ループ,ループの中断,スキップ等といった使い方を学ぶ. | |
| 10 | 制御文に関する演習 |
| いくつかのアルゴリズムを提示し,それを解決するプログラミングを行う. | |
| 11 | 辞書と集合 |
| 辞書に対して,キーと値のペアの格納,キーを使った値の取得,辞書の操作を学ぶ.また,辞書のデータ構造を理解する. | |
| 12 | 関数 |
| 関数の使い方,定義,引数と戻り値について理解する. | |
| 13 | モジュールの利用と例外処理 |
| スコープ,モジュールのインポートを理解し,オブジェクト指向的なプログラミングを意識することを学ぶ.また,エラーメッセージの読み方,例外処理の基礎を学ぶ. | |
| 14 | 再帰関数呼び出し |
| 関数の定義の中で,その関数自身を呼び出す関数を再帰関数と呼ぶ.この使い方を学び,簡単な問題をプログラミングする. | |
| 15 | 総合演習 |
| これまでの知識を元に,提示された課題に対してプログラミングを行う. | |
| 備 考 |
前期中間試験および前期定期試験を実施する. |