教育活動歴

期間 所属 授業科目
2006年度(秋学期) 慶應義塾大学経済学部 非常勤講師 情報処理Ⅰ
2009年度(前期) 大妻女子大学短期大学部 非常勤講師 情報処理A
2009年度(後期) 大妻女子大学短期大学部 非常勤講師 情報処理C
2012年度 - 2014年度(通年) 文教大学情報学部 非常勤講師 プログラミングⅡ
2014年度 - 2018年度(春学期) 法政大学理工学部 非常勤講師 セマンティックWeb
2014年度(前期) 青山学院大学社会情報学部 社会情報体験演習 共同担当
2014年度(前期) 青山学院大学社会情報学部 プロジェクト演習Ⅰ 共同担当
2014年度(後期) 青山学院大学社会情報学部 プロジェクト演習Ⅱ 共同担当
2014年度(後期) 青山学院大学社会情報学部 ウェブプログラミング演習 共同担当
2014年度(後期) 青山学院大学社会情報学部 オブジェクト指向プログラミング
オブジェクト指向プログラミング演習 共同担当
2015年度 - 2018年度(春学期) 慶應義塾大学理工学部管理工学科 高度プログラミング
2015年度(春学期) 慶應義塾大学大学院理工学研究科 ビッグデータツール論 共同担当
2015年度(秋学期) 慶應義塾大学大学院理工学研究科 ビッグデータ実践論 共同担当
2015年度,2017年度(秋学期) 慶應義塾大学理工学部 理工学基礎実験(グラフィカルデータ解析)
2016年度,2018年度(秋学期) 慶應義塾大学理工学部 理工学基礎実験(コンピュテーション・コンプレキシティ)
2016年度,2017年度(秋学期) 文教大学情報学部 非常勤講師 データモデリング
2019年度(秋学期) 慶應義塾大学理工学部管理工学科 データハンドリング
2019年度(秋学期) 慶應義塾大学理工学部 理工学基礎実験(幾何学的確率)
2020年度 - 現在(前期) 青山学院大学理工学部 ソフトウェア設計
2020年度 - 現在(後期) 青山学院大学理工学部 人工知能論

大学院人材育成プログラム

以下の二つの大学院人材育成プログラムに携わった経験があります.

関連論文

  • 山口高平, 森田武史,”サービスイノベーションとAIと教育〔第6回〕体感知教育を基軸にしたサービス・イノベーション人材育成”,人工知能学会誌 Vol. 26 No.2 pp.196-202 (2011)

担当講義

これまで担当したことがある主な講義は以下の通りです.

上記以外にも,以下の講義・演習などを共同担当した経験があります.

  • JavaScript演習
  • オブジェクト指向プログラミング
  • ウェブプログラミング
  • 理工学基礎実験(グラフィカルデータ解析)
  • 理工学基礎実験(コンピュテーション・コンプレキシティ)
  • 理工学基礎実験(幾何学的確率)
  • 社会情報体験演習
  • プロジェクト演習

情報処理Ⅰ

  • 所属: 慶應義塾大学 経済学部 非常勤講師
  • 期間: 2006年度(秋学期)
  • 対象学年: 1

授業概要

「情報リテラシー」を身につけてもらうことを目的とする.

  • パーソナルコンピュータ(PC)を操作する上で必要となる知識や能力
    • キーボード,マウス,Windowsの基礎など
  • PCを利用して課題を解決するための基礎的な技能
    • 電子メール,Webページ閲覧,文書作成,表計算,プレゼンテーション
  • 情報倫理
    • 情報社会(特にインターネット)におけるモラルやマナー

授業計画

  1. ガイダンス
  2. Windowsの基本的な使い方と電子メール
  3. 電子メール(発展編)とWebサイトの閲覧
  4. 文書作成・処理 (Microsoft Word)1:起動,ファイルの保存,終了,表示形式,文章の入力と削除,元に戻す,切り取り,コピー,貼り付け,書式設定,箇条書き
  5. 文書作成・処理(Microsoft Word)2:表の作成,数式の作成
  6. 文書作成・処理(Microsoft Word)3:文章校正,画像の挿入と作成
  7. 表計算・処理(Microsoft Excel)1:セルの入力・削除・編集,オートフィル,セルの体裁の整え方,印刷
  8. 表計算・処理(Microsoft Excel)2:絶対参照と相対参照,複数ワークシートにまたがるデータの集計,グラフの作成
  9. 表計算・処理(Microsoft Excel)3:関数,配列と配列数式の基礎,度数分布表とヒストグラム
  10. プレゼンテーション(Microsoft PowerPoint)1:用語説明,画面構成,スライドの作成方法,書式設定,図,表,数式,グラフの挿入,図形描画,スライドショー,印刷
  11. プレゼンテーション(Microsoft PowerPoint)2:ヘッダーとフッター,スライドマスタ,アニメーション
  12. WWWページの作成と個人ページの開設
  13. 情報倫理

情報処理A

  • 所属: 大妻女子大学 短期大学部 非常勤講師
  • 期間: 2009年度(春学期)
  • 対象学年: 1

授業概要

パーソナルコンピュータ(PC)の基礎知識と技能の修得を目的とする.

授業計画

  1. ガイダンス,PCとWindowsの基礎1
  2. PCとWindowsの基礎2
  3. インターネットと電子メール
  4. 電子メール発展編
  5. WWW (World Wide Web)
  6. ブックマーク,検索方法,Wordの基本操作(1)
  7. IMEパッドと箇条書き
  8. ショートカット,検索と置換,ヘッダーとフッター,ルビ,表の作成,印刷
  9. 画像の作成と挿入
  10. 文章校正
  11. 高度なWordの使い方
  12. プレゼンテーション,PowerPointの使い方
  13. スライドの作成と編集

情報処理C

  • 所属: 大妻女子大学 短期大学部 非常勤講師
  • 期間: 2009年度(秋学期)
  • 対象学年: 1

授業概要

「情報処理A」,「情報処理B」で学んだ知識を深め,社会に出て困らないくらいにパーソナルコンピュータの基本操作を学ぶ.

授業計画

  1. プレゼン発表方法
  2. パワーポイントの基礎
  3. アニメーションの使い方1
  4. アニメーションの使い方2
  5. プレゼン発表準備
  6. プレゼン発表1
  7. プレゼン発表2
  8. プレゼン発表3
  9. 高度なWordの使い方1:アウトライン,目次,索引,脚注,相互参照など
  10. 高度なWordの使い方2
  11. 名札作成:差し込み印刷
  12. Excelの応用1:関数を用いたリスト集計,論理式,条件付き書式など
  13. Excelの応用2
  14. HTMLとCSS1
  15. HTMLとCSS2,授業のまとめ

プログラミングⅡ

  • 所属: 文教大学 情報学部 非常勤講師
  • 期間: 2012年度 - 2014年度(通年)
  • 対象学年: 2

授業概要

Javaは実務処理からモバイルコンピューティングなど、ますます広く使われようとしている。GUIを容易に構成できることや、豊富なデータ構造を持つクラスライブラリなどにより、高度なソフトを容易に構築できる。この授業ではプログラミング I の理解を前提として、Javaを使ってオブジェクト指向の考え方に基づき、グラフィックス、スレッド、GUIなどのプログラミングを学ぶ。毎回、講義と実習を含む2コマの授業を行う。 

授業計画

  1. 導入、開発環境、プログラミングⅠの復習
  2. ブジェクト指向の考え方
  3. クラスとインスタンス
  4. アクセス制御とカプセル化
  5. 継承、抽象クラス、インタフェース
  6. 多態性(ポリモーフィズム)
  7. JavadocとAPIリファレンス
  8. ファイルと文字列操作ライブラリ
  9. 例外処理
  10. パッケージとJava Archive (jar)
  11. GUIとSwing、SwingのGUI部品、レイアウトマネージャ
  12. イベント処理
  13. グラフィックス・プログラミング
  14. スレッド・プログラミング
  15. 応用プログラムの制作

テキスト

  • 『Javaプログラミング』,広内哲夫,創成社,2007年,3400円,ISBN-13: 978-4794422552

セマンティックWeb

  • 所属: 法政大学 理工学部 非常勤講師
  • 期間: 2014年度 - 2018年度(春学期)
  • 対象学年: 3

授業概要

人工知能とWebの融合技術である「セマンティックWeb(知的Web処理技術)」の授業である.Webの誕生から次世代WebとしてのセマンティックWebやLOD(リンクトオープンデータ)への流れを解説する.また,セマンティックWebを支える要素技術を,ツールを用いた演習を通して身につける.Webを利用したビジネスや研究に役立つ,実践的な知的Web処理に関する知識と技術を身につけることが本授業の目的である.

授業計画

  1. 導入:Tim Berners-Leeの最初のWebのプロポーザルから,セマンティックWebにつながるアイディアを読み解く.
  2. XMLとXMLスキーマ:セマンティックWebの基盤となる,XMLとXMLスキーマについて解説する.また,XMLおよびXMLスキーマの構築演習を行う.
  3. RDF (Resource Description Framework):Webリソースを記述するためのデータモデルであるRDFについて解説する.
  4. RDFS (RDF Schema):RDFで用いる語彙を定義するために必要なRDFSについて解説する.
  5. RDFとRDFSコンテンツ構築演習:RDFとRDFSコンテンツ構築支援ツールを用いた演習を行う.
  6. OWL (Web Ontology Language)(1):RDFSよりも詳細に語彙を定義可能なオントロジー記述言語OWLについて解説する.特に,OWLにおけるクラス表現とクラス公理について解説する.
  7. OWL (Web Ontology Language)(2)とSWRL(Semantic Web Rule Language):OWLにおけるプロパティとOWLを用いたルール記述言語SWRLについて解説する.
  8. OWLコンテンツ構築演習(1):OWLコンテンツ構築支援ツールを用いた演習を行い,OWLを用いた推論について学ぶ.
  9. OWLコンテンツ構築演習(2):OWLコンテンツ構築支援ツールを用いた演習を行い,OWLを用いたルール記述について学ぶ.
  10. SPARQL:RDFコンテンツを検索するためのクエリ言語であるSPARQLについて解説する.
  11. SPARQL演習:現在公開されているRDFコンテンツに対して,SPARQL検索をする演習を行う.
  12. オープンデータとLOD (Linked Open Data):オープンデータとLODの現状と動向について解説する.
  13. LOD構築演習(1):身近なテーマを元に,LOD構築演習を行う.
  14. LOD構築演習(2):とセマンティックWeb関連研究紹介 LOD構築演習の続きと,最近のセマンティックWeb関連研究紹介を通して,実践例を学ぶ.
  15. まとめ:本授業全体の復習とセマンティックWebの今後の展望について述べる.

高度プログラミング

  • 所属: 慶應義塾大学 理工学部 管理工学科
  • 期間: 2015年度 - 2018年度(春学期)
  • 対象学年: 4

授業概要

Apache Hadoop,Apache Spark, MongoDBなどの大規模データ分散処理ツールを使いこなすために必要なJava言語によるプログラミングの講義と実習を行います.

授業計画

  1. イントロダクションとJava言語の復習(1):クラスとインスタンス,フィールド,メソッド,コンストラクタ
  2. Java言語の復習(2):クラス変数,クラスメソッド,カプセル化,例外処理
  3. Java言語の復習(3):抽象クラス,インタフェース
  4. Java言語におけるGenericsとコレクションライブラリ
  5. Java言語によるファイル操作と文字列処理
  6. Java言語によるCSV(Comma-Separated Values)データ処理
  7. Java言語によるライブラリの利用方法:クラスファイルとクラスパス,JAR(Java ARchive)
  8. Java言語によるJSON(JavaScript Object Notation)データ処理:MavenやGradleを用いたライブラリの利用
  9. Java言語によるキーバリューストアへの読み書き:キーバリューストアRedisを用いた演習
  10. Java言語によるXML(Extensible Markup Language)データ処理:XML,XMLスキーマ,XPath,DOM,SAX,StAX
  11. Java言語によるRDF(Resource Description Framework)データ処理
  12. Java言語による関数型プログラミング(1):ラムダ式と関数型インタフェース
  13. Java言語による関数型プログラミング(2):Stream APIとApache Sparkの紹介
  14. Java言語による関数型プログラミング(3)とまとめ

ビッグデータツール論(共同担当)

  • 所属: 慶應義塾大学 大学院 理工学研究科
  • 期間: 2015年度(春学期)
  • 対象学年: M1

共同担当で,MongoDBの講義演習を主に担当しました.

授業概要

大容量,非定型,多頻度更新などを特徴とするビッグデータを処理するには,様々なツールを駆使する必要がある.本講義では,大規模データ分散処理ツールであるHadoop,ドキュメント指向の固定スキーマを持たないMongoDB,Hadoopのスケーラビリティを利用する並列機械学習Mahout,という代表的な3種類のビッグデータツールを修得することを目標とする.

授業計画

  1. ビッグデータツール論の概要
  2. Hadoop(1) JAVA総称型
  3. Hadoop(2) MapReduce
  4. Hadoop(3) Amazon EC2を利用した演習1
  5. Hadoop(4) Amazon EC2を利用した演習2
  6. MongoDB(1) NoSQLのデータモデルとアーキテクチャ
  7. MongoDB(2) クエリとインデックス作成
  8. MongoDB(3) 音声・画像・動画の扱い
  9. MongoDB(4) レプリケーションとシャーディング
  10. Mahout(1) キーバリュー型データの扱い
  11. Mahout(2) パターンマイニング
  12. Mahout(3) レコメンデーション
  13. Mahout(4) Amazon EC2を利用した演習
  14. 総合演習

データモデリング

  • 所属: 文教大学 情報学部 非常勤講師
  • 期間: 2016年度 - 2017年度(秋学期)
  • 対象学年: 3

授業概要

世の中をデータとその関連としてとらえることは,情報社会を理解する第一歩といえる.本講義では,ビジネスをはじめとする現実世界をデータの視点からとらえるデータモデルについて,次の項目を学習する.(1)現実世界をデータモデルとしてとらえることの利点,(2)データモデルの技法(E-R図),(3)データ構造の正規化,(4)データベースによるデータモデルの実装.なお,本授業では,「データモデル作成のプロセスを説明でき,簡単なデータモデルを作成出来る」ことを到達目標とする. 

授業計画

  1. データモデリングとは:本講義の概要説明 
  2. データモデル(1):構造記述 
  3. データモデル(2):意味記述
  4. 関係代数(1):4つの集合演算(和集合,差集合,共通集合,直積)
  5. 関係代数(2):4つの固有の演算(射影,選択,結合,商)
  6. 関係データベースの設計(1):概念モデルと論理モデル
  7. 関係データベースの設計(2):実体-関連図のRDBへの変換
  8. データ構造の正規化(1):更新時異状と情報無損失分解
  9. データ構造の正規化(2):高次の正規化
  10. SQL(1):テーブルの定義と制約の設定
  11. SQL(2):データ問い合わせ
  12. SQL(3):データ登録・削除・更新
  13. SQL(4):高度なデータ問合せ(集合演算・サブクエリ)
  14. データモデリング演習(1):課題選択と関係データベースの設計
  15. データモデリング演習(2):SQLによるデータベースの構築と問い合わせ

テキスト

  • 増永良文,データベース入門,サイエンス社,1995円,978-4781911403

データハンドリング

  • 所属: 慶應義塾大学 理工学部 管理工学科
  • 期間: 2019年度(秋学期)
  • 対象学年: 4

授業概要

機械学習や統計解析などを用いて大規模なデータ分析を行うためには,テキスト,HTML,CSV(Comma-Separated Values),XML(Extensible Markup Language),JSON(JavaScript Object Notation)などの様々なデータ構造から必要なデータを抽出・加工し,機械学習や統計解析ライブラリの入力形式に変換・整形(データハンドリング)する必要がある.また,抽出したデータを把握するために,データの集計や可視化も必要である.本授業では,Python言語とそのデータ分析ライブラリを用いたデータハンドリングの講義と演習を行う.

授業計画

  1. 導入とPython言語の基礎(1): Jypyter Notebook,データ型,クラスとインスタンス,属性,メソッド,コンストラクタ
  2. Python言語の基礎(2): クラス変数,クラスメソッド,モジュール,パッケージ,ライブラリの利用方法
  3. コレクションライブラリ: リスト(list),タプル(tuple),辞書(dict),集合(set)
  4. テキストデータ処理: ファイル操作と文字列処理
  5. キー・バリューデータ処理
  6. CSVデータ処理
  7. JSONデータ処理
  8. XMLデータ処理: XML,XPath,DOM,SAX
  9. Webスクレイピング(1): WebサイトからのHTMLファイルの取得
  10. Webスクレピング(2): HTMLファイルからのデータ抽出
  11. データ分析ライブラリpandasの基礎: ファイル入出力,データ構造(シリーズとデータフレーム),インデックス,演算,集計
  12. pandasによるデータのクリーニングと前処理
  13. pandasによる時系列データ処理
  14. Matplotlibを用いたデータの可視化とまとめ