シラバス
授業科目名 | 年度 | 学期 | 開講曜日・時限 | 学部・研究科など | 担当教員 | 教員カナ氏名 | 配当年次 | 単位数 |
---|---|---|---|---|---|---|---|---|
AI・データサイエンスツールⅡ | 2024 | 後期 | 他 | 学部間共通科目 | 飯尾 淳 | イイオ ジュン | 1年次配当 | 2 |
履修条件・関連科目等
履修者数の上限は、100名程度となります。
授業で使用する言語
日本語
授業で使用する言語(その他の言語)
授業の概要
データサイエンスを各専門分野やビジネスで活用していくには、ビッグデータをなるべく少ない操作で自動化して分析するツールが不可欠である。また、昨今はウェブサービスとして各種のAPI (Application Programming Interface)が整備されており、インターネット上のデータをAPI等を用いて自動的に収集するための環境が整っている。本科目では、Rubyを用いてそれらの操作を実現する方法について解説する。
実習部分については、動画あるいは静的なウェブページの内容を参考にして、自身のPCでも同じことを実行しながら進め、適宜演習問題にチャレンジしながら理解を深める。わからないところはmanabaのスレッドやslack等の外部チャットを活用して講師やTAによるサポートが受けられるようにする。各回の小課題は形成的評価の役割、2回のレポートは総括的評価の役割をもっている。小課題は、課題がクリアできていない場合にはTAのサポートを得ながら再提出することを必要とする。
【重要】
なお,例年,Windows環境で演習を行いトラブルが多発しています.とくにRailsアプリケーション構築に関してトラブルの温床であるWindowsネイティブ環境をサポートしきれないため,Windows環境でのRails構築に関しては対象外とします.Windowsを用いて本科目を受講したい人は,Windows上に仮想環境でLinux等,Unix系のゲストOS環境を構築して試すか,WSLを利用して参加してください.
科目目的
本科目の目的は、プログラミングを用いてスクリプトによるデータ分析を実現するために適しているプログラミング言語であるRubyを習得することと、Rubyを用いてウェブアプリケーションを簡単に作成し得るRuby on Rails(以下、Rails)について理解することである。
到達目標
到達目標は、Rubyを用いて簡単なデータ分析を自身でできるようになることと、簡単なウェブアプリケーションを構築できるようになることである。
授業計画と内容
各回の内容は以下の通りである。動画(オンデマンド)によるレクチャーと実習部分からなる。
■ 前半:Ruby
● 第1回 学習の準備
Webアプリ開発の必要性、Rubyの紹介、演習環境の構築、anyenv, rbenv, Ruby処理系のインストール
● 第2回 Rubyを知る
チュートリアル「20分ではじめるRuby」、インタラクティブRuby(irb)とは、モジュール、メッセージ、メソッドとクラスの定義、簡単なサンプルプログラム
● 第3回 配列と連想配列
配列とは(Range、多次元配列)、%記法、配列の操作と集合演算 繰り返し操作、マップとレデュース、連想配列
● 第4回 データ処理の操作
コマンドとしてのスクリプトの実行方法、データファイルの読み込み、CSVファイルとTSVファイルの処理、連想配列の活用
● 第5回 データベースの活用
O/Rマッパー、gemの活用、SQLite3とAcriveRecord、データベースの操作
● 第6回 Rubyをもっと知る
イテレーション、文字列とシンボル、様々なメソッド処理、ブロック(クロージャ)
● 第7回 データ分析の実際
Rubyを用いたデータ分析作業の具体的な演習
前半レポート:オープンデータなど公開されているデータを対象に、Rubyを用いて収集・加工・分析し、結果を「ノート」にまとめてレポートとして提出
■ 後半:Rails
● 第8回 Webアプリとは
C/Sシステム、Webアプリ普及の理由、3層アプリケーション、MVCモデル、Webアプリの抱える課題
● 第9回 Webアプリ開発入門・開発フレームワーク(1)
軽量Webアプリフレームワーク(Sinatra)とは、ルーティング事例
● 第10回 Webアプリ開発入門・開発フレームワーク(2)
パラメータの取扱い、ビューの分離(テンプレートの利用)
● 第11回 Rails開発の第1歩
事前準備、サーバの起動方法、scaffoldによるアプリの解読、Prefixとユーティリティ、ストロングパラメータ
● 第12回 Railsアプリの作成例(1)
作成するアプリの要件定義など、コントローラとビューの作成
● 第13回 Railsアプリの作成例(2)
フォームによるユーザデータの収集、さらなる拡張
● 第14回 最終レポート
データサイエンスへのWebアプリの活用
後半レポート:後半に習った知識を活用して、データサイエンスでWebアプリを活用するシーンを想定、アプリの設計に関するレポートを作成する。
授業時間外の学修の内容
指定したテキストやレジュメを事前に読み込むこと/授業終了後の課題提出
授業時間外の学修の内容(その他の内容等)
授業時間外の学修に必要な時間数/週
・毎週1回の授業が半期(前期または後期)または通年で完結するもの。1週間あたり4時間の学修を基本とします。
・毎週2回の授業が半期(前期または後期)で完結するもの。1週間あたり8時間の学修を基本とします。
成績評価の方法・基準
種別 | 割合(%) | 評価基準 |
---|---|---|
レポート | 80 | 前半(Ruby)レポート: 40% 後半(Rails)レポート: 40% |
その他 | 20 | 小課題: 20% |
成績評価の方法・基準(備考)
課題や試験のフィードバック方法
授業時間に限らず、manabaでフィードバックを行う
課題や試験のフィードバック方法(その他の内容等)
アクティブ・ラーニングの実施内容
実習、フィールドワーク/その他
アクティブ・ラーニングの実施内容(その他の内容等)
BYOD機器による演習
授業におけるICTの活用方法
その他
授業におけるICTの活用方法(その他の内容等)
自身が用意する作業環境(BYOD環境)においてプログラミング演習を実施する。どうしても用意できない場合は担当教員に相談すること
実務経験のある教員による授業
はい
【実務経験有の場合】実務経験の内容
1994年4月~2013年3月に株式会社三菱総合研究所において数理情報技術を応用した調査研究業務に従事。
【実務経験有の場合】実務経験に関連する授業内容
業務で使用したプログラミング経験に基づき指導する。
テキスト・参考文献等
飯尾 淳, 最短距離でしっかり身に付く!Webアプリケーション開発の教科書 ~Ruby on Railsで作る本格Webアプリ~, 技術評論社, 2021年3月12日発行