Syllabus data

開講年度
2025Year
開講学期
Second Semester
科目名
Exercises in Web systems (PBL)
授業種別
Practice
科目名(英語)
Exercises in Web systems (PBL)
授業情報(授業コード・クラス・授業形態)
A2300015 Exercises in Web systems (PBL)
担当教員
null
単位数
1.0Credits
曜日時限
Wed.3Period
キャンパス
Shinjuku Remote
教室

学位授与の方針
1 基礎知識の修得   80 %
2 専門分野の知識・専門技術の修得   20 %
3 汎用的問題解決力の修得   0 %
4 道徳的態度と社会性の修得   0 %
具体的な到達目標
1. Web開発の一連の流れを、体験を通して理解すること
2. Web開発に必要な知識を知り、自分に足りない知識を理解すること
受講にあたっての前提条件
授業のねらいを把握し、それを習得する意志がある。
授業の方法とねらい
実用的なWebアプリケーション開発においては、利用者が求めるシステムを探索的に学び、迅速に開発することが求められます。素早く開発する方法の1つにフレームワークを使った開発がありますが、本講義では、日本や米国の上場企業などで多くの経済的価値 (※1) を出しているWebアプリケーションフレームワーク「Ruby on Rails」を用いて、 SNS (Social Networking Service) を作りながら、プロダクト開発の基本的なスキルを習得していきます。(※1 Top Ruby Companies: https://toprubycompanies.info/ )

本講義の進め方や受講者の声、使用する教材 (※2) は下記の通りです。
・進め方、演習課題、採点基準など: https://note.com/yasslab/n/nb3710ebaf686
・受講者の声、受講して学べたこと: https://bit.ly/aiit-railstutorial
・使用教材: Ruby on Railsチュートリアル – プロダクト開発の0→1を学ぼう https://railstutorial.jp/
・動画教材: Ruby on Railsチュートリアル – 解説動画 https://railstutorial.jp/screencast
・補足教材: コマンドライン・テキストエディタ・Git・HTML/CSS/JavaScript の基本など https://railstutorial.jp/path
(※2 各教材は有償ですが、受講者は本講義のために教材を購入する必要はありません。)

なお、本講義ではセキュリティを意識したバックエンド開発の基本が学べますが、実際の現場では、本講義で学ぶ基本に加えてフロントエンド開発やモバイルアプリ制作、インフラ構築などが必要になることもあります。さらに深く学び続けてみたい方は、本講義で基本を学んだ後、下記「読み物ガイド」を参考に進めてみてください。

読み物ガイド: https://railstutorial.jp/reading_guide
AL・ICT活用
Project Based Learning/Flip Teaching/Practice Fieldwork/Support for self-learning using ICT

第1回
授業形態
遠隔(オンデマンド)
事前学習
本講義ではGitHub公式のクラウド開発環境「Codespaces」を使った学習を推奨していますが、開発環境に依存した演習課題はありません。したがってご希望であれば、お手持ちのローカル環境にRubyやRailsの開発環境をセットアップして講義に臨んでいただいても大丈夫です。

Railsチュートリアル - さっそく動かす(推奨)
https://railstutorial.jp/chapters/beginning#sec-up_and_running
※ クラウド環境「Codespaces」で開発環境を構築

Rails Girlsインストール・レシピ (上級者向け)
https://railsgirls.jp/install
※ ローカル環境 (Windows, macOS, Linux) で開発環境を構築

上記サイトを読んでもよく分からない場合は、Progateや補足教材などから学び始めてみましょう。

Progate - Command Line
https://prog-8.com/languages/commandline

Railsチュートリアル - 学習の流れ(補足教材)
https://railstutorial.jp/path

もし分からない用語やエラーが出てきても、24時間のAI質問サポートをお使いいただけます。またAIが対応しきれない問題があっても、授業時間内であれば講師もサポートするのでご安心ください。

Railsチュートリアル - AIサポート
https://railstutorial.jp/ai_support
6時間
授業内容
【ガイダンス + 第1章: ゼロからデプロイまで(第1〜2回)】
本講義の進め方を説明し、解説動画やテキストについて紹介します。ガイダンスが終わり次第、教材にしたがって開発環境やGit/GitHubのセットアップを進めていきます。分からない部分があれば適宜講師にサポートを求めてください。

参考: Railsチュートリアルの講義事例を公開 - note
https://note.com/yasslab/n/nb3710ebaf686
事後学習・事前学習
【ガイダンス + 第1章: ゼロからデプロイまで(第1〜2回)】
開発環境やGit/GitHubのセットアップに関する演習課題を通して、理解度をチェックします。
0.5時間
第2回
授業形態
遠隔(オンデマンド)
授業内容
【ガイダンス + 第1章: ゼロからデプロイまで(第1〜2回)】
・開発環境やGit/GitHubのセットアップを進めていきます。分からない部分があれば適宜講師にサポートを求めてください。
・講義は事前にお渡しする解説動画で進めてください。講義中は受講生が困っていること(エラーや疑問など)のサポートと、受講生が提出した演習課題の解説を中心に進めていきます。


事後学習・事前学習
【ガイダンス + 第1章: ゼロからデプロイまで(第1〜2回)】
・開発環境やGit/GitHubのセットアップに関する演習課題を通して、理解度をチェックします。
0.5時間
第3回
授業形態
遠隔(オンデマンド)
授業内容
【第2章: Toy アプリケーション(第3〜4回)】
・Webサービス開発におけるMVCアーキテクチャーや、RESTfulなリソース設計を体験します。
・講義は事前にお渡しする解説動画で進めてください。講義中は受講生が困っていること(エラーや疑問など)のサポートと、受講生が提出した演習課題の解説を中心に進めていきます。

事後学習・事前学習
【第2章: Toy アプリケーション(第3〜4回)】
・Webサービス開発におけるMVCアーキテクチャーや、RESTfulなリソース設計に関する演習課題を通して、理解度をチェックします。
0.5時間
第4回
授業形態
遠隔(オンデマンド)
授業内容
【第2章: Toy アプリケーション(第3〜4回)】
・Webサービス開発におけるMVCアーキテクチャーや、RESTfulなリソース設計を体験します。
・講義は事前にお渡しする解説動画で進めてください。講義中は受講生が困っていること(エラーや疑問など)のサポートと、受講生が提出した演習課題の解説を中心に進めていきます。

事後学習・事前学習
【第2章: Toy アプリケーション(第3〜4回)】
・Webサービス開発におけるMVCアーキテクチャーや、RESTfulなリソース設計に関する演習課題を通して、理解度をチェックします。
0.5時間
第5回
授業形態
遠隔(オンデマンド)
授業内容
【第3章: ほぼ静的なページの作成(第5〜6回)】
・テストの書き⽅、テスト駆動開発、簡単な静的/動的ページの⽣成を学びます。
・講義は事前にお渡しする解説動画で進めてください。講義中は受講生が困っていること(エラーや疑問など)のサポートと、受講生が提出した演習課題の解説を中心に進めていきます。

事後学習・事前学習
【第3章: ほぼ静的なページの作成(第5〜6回)】
・テストの書き⽅、テスト駆動開発、簡単な静的/動的ページ⽣成に関する演習課題を通して、理解度をチェックします。
0.5時間
第6回
授業形態
遠隔(オンデマンド)
授業内容
【第3章: ほぼ静的なページの作成(第5〜6回)】
・テストの書き⽅、テスト駆動開発、簡単な静的/動的ページの⽣成を学びます。
・講義は事前にお渡しする解説動画で進めてください。講義中は受講生が困っていること(エラーや疑問など)のサポートと、受講生が提出した演習課題の解説を中心に進めていきます。

事後学習・事前学習
【第3章: ほぼ静的なページの作成(第5〜6回)】
・テストの書き⽅、テスト駆動開発、簡単な静的/動的ページの⽣成に関する演習課題を通して、理解度をチェックします。
0.5時間
第7回
授業形態
遠隔(オンデマンド)
授業内容
【第4章: Rails ⾵味の Ruby(第7〜8回)】
・オブジェクト指向や Ruby の基本的な書き方、Ruby の設計思想、データ構造とクラスについて学びます。
・講義は事前にお渡しする解説動画で進めてください。講義中は受講生が困っていること(エラーや疑問など)のサポートと、受講生が提出した演習課題の解説を中心に進めていきます。

事後学習・事前学習
【第4章: Rails ⾵味の Ruby(第7〜8回)】
・オブジェクト指向や Ruby の基本的な書き方、Ruby の設計思想、データ構造とクラスに関する演習課題を通して、理解度をチェックします。
0.5時間
第8回
授業形態
遠隔(オンデマンド)
授業内容
【第4章: Rails ⾵味の Ruby(第7〜8回)】
・オブジェクト指向や Ruby の基本的な書き方、Ruby の設計思想、データ構造とクラスについて学びます。
・講義は事前にお渡しする解説動画で進めてください。講義中は受講生が困っていること(エラーや疑問など)のサポートと、受講生が提出した演習課題の解説を中心に進めていきます。

事後学習・事前学習
【第4章: Rails ⾵味の Ruby(第7〜8回)】
・オブジェクト指向や Ruby の基本的な書き方、Ruby の設計思想、データ構造とクラスに関する演習課題を通して、理解度をチェックします。
0.5時間
第9回
授業形態
遠隔(オンデマンド)
授業内容
【第5章: レイアウトを作成する(第9〜10回)】
・Bootstrap を使ったデザインとレイアウト、拡張言語とアセットパイプラインについて学びます。
・講義は事前にお渡しする解説動画で進めてください。講義中は受講生が困っていること(エラーや疑問など)のサポートと、受講生が提出した演習課題の解説を中心に進めていきます。

事後学習・事前学習
【第5章: レイアウトを作成する(第9〜10回)】
・Bootstrap を使ったデザインとレイアウト、拡張言語とアセットパイプラインに関する演習課題を通して、理解度をチェックします。
0.5時間
第10回
授業形態
遠隔(オンデマンド)
授業内容
【第5章: レイアウトを作成する(第9〜10回)】
・Bootstrap を使ったデザインとレイアウト、拡張言語とアセットパイプラインについて学びます。
・講義は事前にお渡しする解説動画で進めてください。講義中は受講生が困っていること(エラーや疑問など)のサポートと、受講生が提出した演習課題の解説を中心に進めていきます。

事後学習・事前学習
【第5章: レイアウトを作成する(第9〜10回)】
・Bootstrap を使ったデザインとレイアウト、拡張言語とアセットパイプラインに関する演習課題を通して、理解度をチェックします。
0.5時間
第11回
授業形態
遠隔(オンデマンド)
授業内容
【第6章: ユーザーのモデルを作成する(第11〜12回)】
・Active Record を使ったモデル実装、バリデーション、セキュアなパスワードを学びます。
・講義は事前にお渡しする解説動画で進めてください。講義中は受講生が困っていること(エラーや疑問など)のサポートと、受講生が提出した演習課題の解説を中心に進めていきます。

事後学習・事前学習
【第6章: ユーザーのモデルを作成する(第11〜12回)】
・Active Record を使ったモデル実装、バリデーション、セキュアなパスワードに関する演習課題を通して、理解度をチェックします。
0.5時間
第12回
授業形態
遠隔(オンデマンド)
授業内容
【第6章: ユーザーのモデルを作成する(第11〜12回)】
・Active Record を使ったモデル実装、バリデーション、セキュアなパスワードを学びます。
・講義は事前にお渡しする解説動画で進めてください。講義中は受講生が困っていること(エラーや疑問など)のサポートと、受講生が提出した演習課題の解説を中心に進めていきます。

事後学習・事前学習
【第6章: ユーザーのモデルを作成する(第11〜12回)】
・Active Record を使ったモデル実装、バリデーション、セキュアなパスワードに関する演習課題を通して、理解度をチェックします。
0.5時間
第13回
授業形態
遠隔(オンデマンド)
授業内容
【第7章: ユーザー登録(第13〜14回)】
・ユーザー登録フォームの実装、デバッグ⽅法、MVCアーキテクチャーにおけるデータの流れについて学びます。
・講義は事前にお渡しする解説動画で進めてください。講義中は受講生が困っていること(エラーや疑問など)のサポートと、受講生が提出した演習課題の解説を中心に進めていきます。

事後学習・事前学習
【第7章: ユーザー登録(第13〜14回)】
・ユーザー登録フォームの実装、デバッグ⽅法、MVCアーキテクチャーにおけるデータの流れに関する演習課題を通して、理解度をチェックします。
0.5時間
第14回
授業形態
遠隔(オンデマンド)
授業内容
【第7章: ユーザー登録(第13〜14回)】
・ユーザー登録フォームの実装、デバッグ⽅法、MVCアーキテクチャーにおけるデータの流れについて学びます。
・講義は事前にお渡しする解説動画で進めてください。講義中は受講生が困っていること(エラーや疑問など)のサポートと、受講生が提出した演習課題の解説を中心に進めていきます。

事後学習・事前学習
【第7章: ユーザー登録(第13〜14回)】
・ユーザー登録フォームの実装、デバッグ⽅法、MVCアーキテクチャーにおけるデータの流れに関する演習課題を通して、理解度をチェックします。
0.5時間
第15回
授業形態
遠隔(オンデマンド)
授業内容
【実技試験 + 設問の解説(第15回)】
・これまでのまとめ、今回取り扱わなかった範囲の紹介、および実技試験・演習課題に関する解説などを行います。
・最終日では講義前半で実技試験、講義後半で実技試験で出題された課題の解説を行います。(理解度を高めるため)
事後学習
興味があれば第8章以降を読み進めていただいても大丈夫です。本講義で紹介したWeb技術をベースとして、さらに発展的な技術を学びたい場合は「読み物ガイド」をご参照ください。

Railsチュートリアル - 読み物ガイド
https://railstutorial.jp/reading_guide
0.5時間

成績評価の方法
【演習+試験による評価と、レポートによる評価の2つから選べます】
通常は、毎回出題する演習課題と、最終日の実技試験で評価します。Webサービス開発の十分な実務経験が無い場合は、こちらの評価方法がオススメです。演習+試験による評価を希望する場合は、特に手続きは不要です。出題される演習+試験を期日までに提出していただければ大丈夫です。

上記の通常の評価方法では簡単すぎる人(既に教材を学び終えている人や十分な実務経験がある人など)を主な対象として、レポートでの成績評価も受け付けています。レポートでの評価を希望する受講生は、第14回の講義終了時点までに講師まで申し出てください。以下に示す拡張機能もしくは新規Webアプリケーションを開発し、所定のフォームからレポートを提出することでも成績を評価します。

レポートでの評価に切り替えるかどうかを悩んでいる人は、ガイダンス中または講義中に気軽にご相談ください。

・拡張機能の実装例: https://railstutorial.jp/reading_guide#exercise

【評価方法と成績の付け方】
各受講生の進み具合および理解度をチェックするため、教材の各章(第1章〜第7章)で演習課題を出題し、採点します。具体的な演習課題および採点基準については下記の記事をご参照ください。
https://note.com/yasslab/n/nb3710ebaf686

各章5問の演習課題を採点し、それぞれの点数に重み付けした合計点数を6段階の成績で表します。合計点数と成績の対応関係は次の通りです。

・90点以上: S
・80点以上: A
・70点以上: B
・60点以上: C
・50点以上: D
・50点未満: F

本授業では、成績がD以上の受講生に単位が与えられます。なお、演習課題は各章1回ずつ出題し、合計7回の採点を行う予定ですが、急なスケジュール変更などがあれば、第6章までを採点対象とする可能性があります。
受講生へのフィードバック方法
各課題の提出〆切後の講義で、皆さんが提出した課題のいくつかをピックアップして解説を行います(ピックアップする回答はなるべくランダムかつ匿名で行います)。回答に対するフィードバックを受けたり、疑問に思ったことを質問することでWeb技術に関する理解がさらに深まるので、ぜひ課題解説の回(ディスカッション)では気軽に質問してみてください。

教科書
教科書「Ruby on Rails チュートリアル(全14章)」のうち、前半まで(第7章『ユーザー登録』まで)を本講義でサポートします。後半の章は内容が難しく時間も足りないため、採点の対象とはなりませんが、希望者がいればサポート対応できます。本格的なWebサービスを開発の相談にも対応しているので、もし開発中のプロダクトに関する相談などあれば講義中にお声がけください。

Ruby on Rails チュートリアル - プロダクト開発の0→1を学ぼう
https://railstutorial.jp/

Railsチュートリアル - 解説動画
https://railstutorial.jp/screencast

本講義期間中は、同教材の協業プランを期間限定で無償提供します。ガイダンスや補足説明などを除いて、一連の知識はすべて解説動画とテキストで学べます。講義の進め方については下記の記事をご参照してください。
https://note.com/yasslab/n/nb3710ebaf686

原則としてテキストおよび解説動画に沿って開発を進めるものとし、講義中は、受講生の分からない部分を講師がサポートしていく形(反転学習形式)で進めていきます。詳しくは初回講義のガイダンスで説明します。

なお、有償のコンテンツ(解説動画・Webテキストなど)がありますが、本講義のために購⼊する必要はありません。
参考書
開発の全体像を知りたい場面や、具体的なコードの振る舞いが知りたい場面などあれば下記ページをご参照ください。

Railsチュートリアル - 学習の流れ
https://railstutorial.jp/path

Rails ガイド - 体系的に Rails を学ぼう
https://railsguides.jp/

Ruby on Rails API(英語)
https://api.rubyonrails.org/

GitHub - rails/rails(英語)
https://github.com/rails/rails

なお、本講義ではセキュリティを意識したバックエンド開発の基本が学べますが、実際の開発現場では、本講義で学ぶ基本に加えてフロントエンド開発やモバイルアプリ開発、インフラ構築などが必要になることもあります。さらに深く学び続けてみたい方は、本講義で学習後、下記『読み物ガイド』を参考に進めてみてください。

Railsチュートリアル - 読み物ガイド
https://railstutorial.jp/reading_guide

オフィスアワー
非常勤講師のため質問対応はすべて講義中にのみ行います。講義外も質問を送ることはできますが、回答は講義中にのみ行うため、即時に回答することはできません。即時の回答をご希望する人は、教材に付属されている24時間の AI サポート機能をご活用ください。(初回ガイダンスの時に使い方や注意点などについて説明します)

Rails チュートリアル - AI サポート
https://railstutorial.jp/ai_support

第16回フクオカRuby大賞にて、AI サポート機能が AWS 賞を受賞
https://note.com/yasslab/n/n47134bad56df
受講生へのメッセージ
本講義ではWebテキストと解説動画を中心に進めるため、受講生の好きなペースで学習を進めることができます。もし早く開発および演習課題が完了したら、次章以降を先に進めてください。

Webテキストを写経したコードであっても、ちょっとしたミスでエラーになることがあります。そういったよくある躓き箇所や難解な用語も解説動画では説明しているので、もしWebテキストで躓いたら解説動画を積極的に活用してください。また、講義時間中は講師がサポートするので、エラーで躓いて解決できない場面や、よく分からない用語や文章などあればお気軽にお声がけください。

また、各章の演習課題の〆切後に、演習課題の回答を題材として全体でディスカッションを行います。ディスカッションへの参加有無は成績評価の対象外となりますが、演習課題の回答に対するフィードバックやWebサービス開発に関する実践的な考え方が学べるので、ぜひご参加ください。

なお、Webサービス開発に関するトピックを中心に、対談動画や講演動画なども YouTube から公開しています。こちらも興味あればぜひ! https://youtube.com/YassLab

実務家担当科目
Applicable
実務経験の内容
スライド版から簡易的に実務内容をご確認いただけます!
https://speakerdeck.com/yasulab/who-am-i

詳細な活動については以下の SNS アカウントからご確認いただけます。
- YouTube: https://youtube.com/yasulab
- GitHub: https://github.com/yasulab
- Twitter: https://twitter.com/yasulab

またアカデミアでの業績は国立研究開発法人の JST が運営する「researchmap」からご確認いただけます。
https://researchmap.jp/yasulab

"""
YassLab (株) 代表取締役。一般社団法人 CoderDojo Japan 代表理事。未踏ジュニア共同発起人。早稲田大学情報理工学科卒 (修士)。

米国留学中に開発した震災対策アプリのヒットを契機に、完全リモートワーク制の会社『YassLab』を創業。RailsチュートリアルやRailsガイドを開発し、大学/大学院の講義や企業の社員研修などで採用される。IPA認定未踏スーパークリエータ、TEDxRyukyuスピーカー。

全国に約200ヶ所ある子どものためのプログラミング道場『CoderDojo』公式日本法人の代表と、小中高生クリエータ支援プログラム『未踏ジュニア』のメンターも務めています。
"""

引用元: https://yasslab.jp/ja/about#profile

教職課程認定該当学科
Not applicable
その他の資格・認定プログラムとの関連
関連する科目でない
教育課程コード
Ⅲ3c
教育課程コードの見方【例】 Ⅰ2a(Ⅰ…Ⅰ群、2…2年配当、a…必修) ※ a : 必修 b : 選択必修 c : 選択 ※複数コードが表示されている場合には入学年度・所属学科の学生便覧を参照のこと