Society5.0に対応した高度技術人材育成

enPiT everi 社会人向け「人工知能・ロボット・IoT」に関する短期講義・演習プログラム

MENU

科目一覧

プログラミング演習

  • 基盤
  • 実習
         
科目名 プログラミング演習
科目名(英名) Programming Exercises
担当講師(氏名・所属) 呉 翠玲(北九州市立大学)、山崎 進(北九州市立大学)
分類 選択
授業形態 実習

全大学

メイン開講拠点:北九州市立大学
サテライト開講拠点:各大学および秘密基地

[1、2]コマ目は、サテライト形式とする。
[5、6]、[9、10]、[11、12]コマ目はオンラインで演習及び討論会を行う。
その他のコマは自習形式での演習とする。
時数 12コマ
時間数(コマ数✕1.5) 18時間
授業の概要 近年、AI・ビッグデータ・IoT・ロボット・機械学習や深層学習などが注目を集めている。これらを利用する中でオブジェクト指向プログラミング言語Pythonが採用されているケースが多い。
この授業ではPython言語によるプログラミング実習を行う。初心者を対象とし、データ型・コンテナ型、演算子・条件分岐・反復処理・関数・オブジェクトクラス設計等を学ぶ。
授業の演習では簡単なアルゴリズムを設計し、実際にPythonでプログラムを実装する。
Python言語の基礎を習得した後、データ分析のためのモジュールや、機械学習と深層学習のモジュールについても触れる。
与えられた課題のサンプルプログラムを理解し、簡単な編集でプログラムを別の課題に適用する。
理論的な話は全くなくて、実践のための授業である。この演習は他の講義にもつながる。
プログラミングの基礎がない方に受講を勧める。
特に、Python/Tensorflowを活用したAI応用プログラミングとPython/Chainerを活用したAI一般プログラミングの実習を受講する場合はまずこの演習が終わってからの方が良い。
到達目標 -Pythonプログラミングに関する基礎知識を修得する。
-簡単なアルゴリズムが設計できてプログラムを書くことができる。
-サンプルプログラムを自ら添削し、目的を達成するプログラムを開発できる。
-修得した技能に基づいて他人が書いたプログラムを読んだり理解したりすることができる。
-サンプルプログラムを利用してプレゼンテーションや議論できる。
-修得した知識や技能を実践的なプログラムが作成できる。
履修上の注意
(準備学習・前提知識)
他のプログラミング言語を習ったことがあると良い。なければ、事前にプログラミングについて調べておいたほうが良い。
授業計画・内容 授業の前半はPythonの基礎を勉強する。
1. Pythonについて紹介、基本のデータ型及び演算
2. 制御フロー(分岐、反復処理)、リスト内包表記、データ構造と組み込み関数
3. 関数
4. モジュール、パッケージ、Python標準ライブラリ
5. オブジェクト指向概論、クラスの設計
6. クラスの設計(続き)

後半はPythonの実用的なライブラリを紹介する。
7. ファイル入出力、構造ありデータ処理(csv、xml、json、yaml)
8. 自然言語処理(形態素解析、NLTK、n-grams、言語モデル)
9. 科学データ処理(NumPy、Matplotlib、SciPy、Pandas)
10. scikit-learnで機械学習(SVM、単純ベイズ)
11. Kerasで深層学習(LSTMで自動文章生成)
12. 単語のベクトル化(Word2Vec)
事前・事後学習の内容 勉強の効率を高くするために、あらかじめ提供された教材を予習してきてください。(毎回60分目安)
Chatworkにて質問があれば、授業中に可能な限り回答します。
また、授業時間外でも回答します。次の授業にフォローできるように毎回の授業を復習して修得してください。(毎回60分目安)
成績評価の方法 課題提出(4回)80%
積極的な授業への参加20%
教科書・参考書等 授業中に必要な資料を配布します。
Python公式ウェブサイト[https://docs.python.org/ja/3/tutorial]
A Byte of Python[https://python.swaroopch.com]
Bill Lubanovic (著), 斎藤康毅(監修), 尾高弘(翻訳), 入門Python 3, オライリージャパン出版社, 2015.
Francois Chollet (著), 巣籠悠輔(その他), 株式会社クイープ(翻訳), PythonとKerasによるディープラーニング, マイナビ出版, 2018.
キーワード オブジェクト指向プログラミング、データ構造、Pythonパッケージ、機械学習、深層学習