プログラミング・アルゴリズム基礎〈R5-入学〉
授業コード
(科目ナンバリング
コード)
501255-01
(01401)
授業科目名 プログラミング・アルゴリズム基礎〈R5-入学〉担当者 山岡 茂治
開講期間 秋学期 単位数 2 学年 2
区分
アクティブラーニング 【実習】
実務経験 該当なし
備考
【授業目的】

本授業は、「AI戦略2019」の趣旨に則り、プログラミング及びアルゴリズムの基礎概念について理解し、基礎的なプログラムを実行する能力を身につけることを目的とします。

【授業内容】
第 1 回 実施日 
事前学習
シラバスを読み、本授業の目的や内容を確認する(約20分)。
授業内容
ガイダンス:プログラミングとアルゴリズムとは何か?、ビジュアルプログラミング環境とpython環境の準備
事後学習
ガイダンスの内容を振り返る(約30分)。
参考文献
 
第 2 回 実施日 
事前学習
「アルゴリズム」「フローチャート」をキーワードとしてインターネットで調べる(約30分)。
授業内容
アルゴリズムの表現1(フローチャート)変数と代入、順次処理、条件分岐処理、反復処理
事後学習
授業内容について理解できなかった点を明確化し、適宜教員に質問する(約30分)。
参考文献
 
第 3 回 実施日 
事前学習
「配列」「定義済み処理」をキーワードとしてインターネットで調べる(約30分)。
授業内容
アルゴリズムの表現2(フローチャート)前回の振り返り、配列と定義済み処理
事後学習
授業内容について理解できなかった点を明確化し、適宜教員に質問する(約30分)。
参考文献
 
第 4 回 実施日 
事前学習
Pythonを使ったプログラミングについてインターネットで調べる(約30分)。
授業内容
Pythonを使ったプログラミング1(プログラムの作成)、変数、データ型、代入、四則演算、論理演算
事後学習
授業内容について理解できなかった点を明確化し、適宜教員に質問する(約30分)。
参考文献
 
第 5 回 実施日 
事前学習
「順次」「分岐」「反復」
をキーワードとしてインターネットで調べる(約30分)。
授業内容
Pythonを使ったプログラミング2(プログラムの作成)条件分岐、反復処理
事後学習
授業内容について理解できなかった点を明確化し、適宜教員に質問する(約30分)。
参考文献
 
第 6 回 実施日 
事前学習
「配列」「関数」をキーワードとしてインターネットで調べる(約30分)。
授業内容
Pythonを使ったプログラミング3(プログラムの作成)配列と関数(引数、戻り値)
事後学習
授業内容について理解できなかった点を明確化し、適宜教員に質問する(約30分)。
参考文献
 
第 7 回 実施日 
事前学習
第1回から第6回までの復習しておく(約60分)。
授業内容
第1回から第6回までの復習
(いろいろな演習問題を解く)
事後学習
授業内容について理解できなかった点を明確化し、適宜教員に質問する(約30分)。
参考文献
 
第 8 回 実施日 
事前学習
「並び替え(ソート)」「探索(サーチ)」をキーワードとしてインターネットで調べる(約30分)。
授業内容
並び替え(ソート)・探索(サーチ)
主なアルゴリズムの紹介、ビジュアルプログラミング環境での作成
事後学習
授業で行ったプログラムを再度自身で書き実行する(約30分)。
参考文献
 
第 9 回 実施日 
事前学習
「リスト探索」をキーワードとしてインターネットで調べる(約30分)。
授業内容
探索アルゴリズム①(リスト探索)
逐次探索法のプログラム作成
事後学習
授業で行ったプログラムを再度自身で書き実行する(約30分)。
参考文献
 
第 10 回 実施日 
事前学習
「木探索」をキーワードとしてインターネットで調べる(約30分)。
授業内容
探索アルゴリズム②(木探索)
2分探索法のプログラム作成
事後学習
授業で行ったプログラムを再度自身で書き実行する(約30分)。
参考文献
 
第 11 回 実施日 
事前学習
「選択ソート」「バブルソート」をキーワードとしてインターネットで調べる(約30分)。
授業内容
ソートアルゴリズム①(バブルソート)基本選択法とバブルソートのプログラム作成
事後学習
授業で行ったプログラムを再度自身で書き実行する(約30分)。
参考文献
 
第 12 回 実施日 
事前学習
「選択ソート」をキーワードとしてインターネットで調べる(約30分)。
授業内容
ソートアルゴリズム②(選択ソート)選択ソートのプログラム作成
事後学習
授業で行ったプログラムを再度自身で書き実行する(約30分)。
参考文献
 
第 13 回 実施日 
事前学習
「挿入ソート」をキーワードとしてインターネットで調べる(約30分)。
授業内容
ソートアルゴリズム③(挿入ソート)
基本挿入法のプログラム作成
事後学習
授業で行ったプログラムを再度自身で書き実行する(約30分)。
参考文献
 
第 14 回 実施日 
事前学習
第8回から第13回までの復習(約60分)
授業内容
第8回から第13回までの復習
事後学習
第1回から第14回までの授業内容について復習し、理解できなかった点については適宜教員に質問する(約30分)。
参考文献
 
第 15 回 実施日 
事前学習
練習問題を再度取り組む等による第1回から第14回までの復習(約60分)
授業内容
第1回から第14回までのまとめと演習
事後学習
これまでの授業内容について復習し、理解できなかった点については適宜教員に質問する(約30分)。
参考文献
 
【到達目標】

① プログラミング及びアルゴリズムの基本的な概念を説明できる。
② pythonを用いて,授業内で扱ったプログラムを実行することができる。

【ディプロマ・ポリシー】

(R5-)
関連するディプロマ・ポリシー=DP3:社会において必要とされる知識・技能と、課題解決のための思考力・判断力・表現力等の汎用的な能力を備えている。

【授業形態】

各授業時間の前半は教員による講義を、後半でプログラミングの実習を行います。
毎回の授業開始時に前回の内容についての簡単な小テストと実習で作成したプログラムに対しての評価にてフィードバックをおこないます。

【教科書】

特に指定しません。

【注文書籍】
【参考書】

藤原暁宏 2023.『Pythonで学ぶアルゴリズムとデータ構造』森北出版.
森 巧尚(作)・まつむらまきお(絵)2022. 『アルゴリズムとプログラミングの図鑑(第2版)』マイナビ出版.
森畑明昌 2019.『Pythonによるプログラミング入門 東京大学教養学部テキスト』東京大学出版会.

【成績評価の方法】

授業内提出物60%
授業外提出物40%

【成績評価の基準】

授業内/外の提出物を通じて到達目標にどれだけ達しているかを判断します。
到達目標の内容をほぼ完全に理解し、説明できる。 ……90~100点
到達目標の内容を十分に理解し、説明できる。 ……80~89点
到達目標の内容の基幹部分を理解し、説明できる。 ……70~79点
到達目標の内容の最低限の部分を理解し、説明できる。……60~69点
到達目標に及ばない。 …… 0~59点"

【受講学生への要望】

国の推進する「AI戦略2019」の趣旨に沿った「皇學館大学数理・データサイエンス・AI教育プログラム(応用基礎レベル)」の科目です。今後のデジタル社会を担う人間として自覚的に学修を進めてください(大学からの要望)。慣れないこともあるかと思いますが、一緒に頑張りましょう。分からなくなったら、積極的に挙手など質問をおこなうようにしてください(教員より)。

【履修注意】

プログラミング経験のある方には物足りないかもしれませんが、初学者を対象に授業を進行します。ご理解ください。経験者には高度問題も別途用意します。