シラバス情報

科目名
プログラミング基礎Ⅱ
科目カテゴリ
専門科目
科目モジュール
基礎・理論
科目系統
S
開講時期
4Q
開講曜日
開講時限
7限
担当教員
茂木 健一
定員
25名
単位数
1単位

授業概要
この講義では、たくさんあるプログラミング言語の中でも、Webサイトや人工知能、IoTデバイスでもよく使われ、初心者にとっても導入しやすくて理解しやすいPython言語を使って進める。Ⅱでは基礎的なアルゴリズムを理解しより実践的な効率の良いプログラミングの考え方を実習を通して理解していく。最終的には実例として簡単なディープラーニングを使い「銀行業における営業成約を予測する」のプログラムを理解し、自分でも同じような二項分類のディープラーニングを作成できるようになる。
到達目標
(1)Pythonの高度な文法が理解できるようになる。
(2)一般的なPythonプログラムが作成できるようになる。
(3)初歩的なクラスやアルゴリズムを理解できるようになる。
(4)二項分類のディープラーニングプログラムが作成できるようになる。
キーワード
Python、オブジェクト指向、クラス、アルゴリズム、ディープラーニング

回数
タイトル
内容
実施方法
第1回
オブジェクト指向基礎
関数以外にもプログラムを便利に再利用する方法がある。クラスを覚えて、拡張性の高いプログラムの考え方を学ぶ。キーワードごとに実際に動かしながら理解を深める。
キーワード:class、メソッド、インスタンス
遠隔授業
第2回
オブジェクト指向応用
クラスにはいくつかの利用パターンがある。代表的な使い方の解説をしながら具体的に目的に応じたユースケースを理解する。キーワードごとに実際に動かしながら理解を深める。
キーワード:カプセル化、抽象化、ポルモーフィズム、継承
遠隔授業
第3回
アルゴリズム基礎
特定の問題を解決するための手順がアルゴリズムである。一般的に知られているアルゴリズムを参考にし、自分のアルゴリズムの知識の引き出しを増やす。キーワードごとに実際に動かしながら理解を深める。
キーワード:FizzBuzz、線形探索、再帰
遠隔授業
第4回
アルゴリズムと並べ替え
並び替えのアルゴリズムには多くの種類がある。一般的に知られている並び替えのアルゴリズムを参考にし、自分のアルゴリズムの知識の引き出しを増やす。キーワードごとに実際に動かしながら理解を深める。
キーワード:バブルソート、選択ソート、カウントソート、クイックソート
遠隔授業
第5回
ディープラーニングのためのPythonと数学
いままで学んできた基本文法・データ構造・アルゴリズムを応用し、ディープラーニングのプログラムを作る。そのために、基礎的なディープラーニングに必要なモジュール群と簡単な数学を学ぶ。
キーワード:Pandas、Numpy、Matplot、Keras、ニューラルネットワーク、活性化関数、損失関数
遠隔授業
第6回
ディープラーニングの開発プロセス
ディープラーニングの開発は主に、データ入手、データ加工、モデル作成、学習、評価のステップで実行する。各ステップごとに目的と手法を明確にする。
キーワード:処理パターン、データ入手、データ加工、モデル作成・学習・評価、銀行業における営業成約を予測する
遠隔授業
第7回
ディープラーニングのチューニング
入手したデータをそのままディープラーニングで学習するだけでは予測精度は上がらない。前出の「銀行業における営業成約を予測する」プログラムを改修し、精度を上げていくステップを解説しながら数値が変化していくことを実感する。
キーワード:accuracy、チューニング、銀行業における営業成約を予測する
遠隔授業
第8回
課題発表と総括
課題に関するレポートを作成し一部発表を行う。アドバイスを交えながら総括を行う。
事前に課題提出の準備をしておくこと。
キーワード:課題提出、アドバイス
遠隔授業

授業形式
講義形式および演習形式
成績評価方法と基準
5段階評価(S〜D)
(1)授業内課題(70%)
(2)最終課題(30%)
履修条件と留意事項
(1)プログラミング基礎Ⅰの講義を修了済み、またはプログラミング基礎Ⅰの実習と課題内容をすべて実施し理解していること。
(2)受講時にChromeが動作するPC(OSはMac/Windows10・11のいずれか)を持ち込めること。
(3)新規フォルダーやファイルの作成、既存ファイルを開いて編集ができること。
(4)持ち込んだ自分のPCを理解しており、管理者権限を所有し、ノートンセキュリティなどのセキュリティ機能を停止できること。
(5)持ち込んだPCをインターネットに接続出来ること。
教科書
なし
参考文献
特になし