2019年度工学院大学 情報学部コンピュータ科学科

Webシステム演習(PBL)(Exercises in Web systems (PBL))[3H15]

試験情報を見る] [授業を振り返ってのコメント(学内限定)

1単位
安川 要平 非常勤講師  
最終更新日 : 2019/11/12

<学位授与の方針>
1. 基礎知識の習得
2. 専門分野知識の習得
3. 汎用的問題解決技能
4. 道徳的態度と社会性

<授業のねらい>
1. Rubyを用いたプログラミングができるようになること
2. Ruby on Railsを通して、Web開発に必要な知識を知ること
3. 開発中に遭遇した技術的課題と向き合い、解決する経験を培うこと

<受講にあたっての前提条件>
RubyやRailsの開発環境を自力でセットアップできるスキルがあると望ましいです。下記サイトを参考に、事前にRubyとRailsが動かせる環境をセットアップしてみてください。

Rails Girls インストール・レシピ
http://railsgirls.jp/install

上記サイトを読んでセットアップ方法がよく分からない場合は、ドットインストールや Progate などでコマンドラインについて学び始めてみることをオススメします。

ドットインストール
https://dotinstall.com/lessons/basic_unix_v2

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

もし自力でセットアップができなくても、授業中に講師がサポートするので安心してください。

<具体的な到達目標>
1. Web開発の一連の流れを、体験を通して理解すること
2. Web開発に必要な知識を手を動かしながら学ぶこと
3. 開発中に遭遇した技術的課題を主体的に調べ、解決する経験を培うこと

<授業計画及び準備学習>
教科書「Ruby on Rails チュートリアル (第4版、全14章)」のうち、前半まで (第7章 ユーザー登録まで) を本授業でサポートします。後半の章は内容が難しく、時間も足りないため、本授業では取り扱いません。

Ruby on Rails チュートリアル
https://railstutorial.jp/

解説動画(法人プラン) - Railsチュートリアル
https://railstutorial.jp/business

本授業期間中は、同教材の解説動画の法人プランを期間限定で無償提供します。ガイダンスや補足説明などを除いて、一連の知識はすべて解説動画とテキストで学ぶものとします。授業の進め方については次のスライド資料を参照してください。

Railsチュートリアル × 反転学習 / More Interactive Way of Learning Rails
https://speakerdeck.com/yasslab/more-interactive-way-of-learning-rails

授業中はテキストおよび解説動画に沿って開発を進めるものとし、講師は受講生の分からない部分を適宜サポートしていく形で進めます。

偶数回 (第2,4,6,8,10,12,14回) に、各受講生の開発の進み具合をチェックして採点します。具体的な採点方法は<成績評価方法>を参照してください。

以下は予定している各回の内容です。第7章までの学習を予定していますが、開発の進み具合によっては第6章までに変更する可能性があります。

【1. ガイダンス、ゼロからデプロイまで (第1〜2回)】
本授業の進め方を説明し、解説動画やテキストについて紹介します。ガイダンスが終わり次第、教材にしたがって開発環境やGit/Herokuのセットアップを進めていきます。分からない部分があれば適宜講師にサポートを求めてください。

【2. Toy アプリケーション (第3〜4回)】
Rails の設計思想、Rails を使ったリソース設計を学びます。

【3. ほぼ静的なページの作成 (第5〜6回)】
minitest を使ったテストの書き⽅、テスト駆動開発、静的/動的なページの⽣成を学びます。

【4. Rails ⾵味の Ruby (第7〜8回)】
Ruby の設計思想、Ruby の基本的な構⽂、Ruby のデータ構造とクラスの実装を学びます。

【5. レイアウトを作成する (第9〜10回)】
Twitter Bootstrap を使ったデザインとレイアウト、Sass とアセットパイプラインについて学びます。

【6. ユーザーのモデルを作成する (第11〜12回)】
Active Record を使ったモデルの実装、バリデーション、セキュアなパスワードを学びます。

【7. ユーザー登録 (第13〜14回)】
Rails のデバッグ⽅法、MVC アーキテクチャを使ったユーザー登録フォームの実装を学びます。

各回の最後の30分で、躓いた箇所や理解できていない箇所などのトピックを全体で共有します。トピックは受講生の状況や関心に応じて柔軟に対応します。全体で共有するトピックの例は以下のとおりです。

・開発中に躓いた箇所はあったか?
・躓いた箇所はどうやって解決したか?
・教材を読み進めるために足りていない知識はあるか?
・その知識を補うためにはどういった方法があるか?
・他、教材以外で聞きたいトピックはあるか?

<成績評価方法>
偶数回 (第2,4,6,8,10,12,14回) の日に開発の進み具合をチェックし、点数化します。以下は各点数の目安です。

・5点: その章の実装が完了し、教材の演習課題にも対応している
・4点: その章の実装が完了し、本番環境にデプロイできている
・3点: その章の実装が完了し、なぜデプロイできないかが説明できる
・2点: その章の実装が完了し、ローカル環境では動いている
・1点: その章の実装は途中だが、なぜ動いていないか説明できる
・0点: その章の実装途中で、なぜ動いていないかも説明できない

なお、例えばチェック時点で本番環境にデプロイできそうだと確認できれば、チェック時点ではデプロイできていなくとも、その章の学習は完了したもの(4点)として評価します。

すべてのチェックが完了し、それぞれの点数を平均化した値 (小数点以下は四捨五入) を6段階の成績で表します。平均点と各成績の対応関係は次の通りです。

・平均5点: A+
・平均4点: A
・平均3点: B
・平均2点: C
・平均1点: D
・平均0点: F

本授業では、成績がD以上の受講生に単位を与えます。

<教科書>
『Ruby on Rails チュートリアル:実例を使って Rails を学ぼう (第4版)』Michael Hartl 著、安川 要平・⼋⽥ 昌三 訳
https://railstutorial.jp/

各章のサンプルコード集
https://github.com/yasslab/sample_apps

いずれも Web 版は無料です。有償の解説動画と電子書籍がありますが、本授業のために購⼊する必要はありません。

<参考書>
RubyとRailsの学習ガイド2019年版 - Rubyist Magazine
https://magazine.rubyist.net/articles/0059/0059-Ruby-Rails-Beginners-Guide.html

Progate | プログラミングの入門なら基礎から学べるProgate[プロゲート]
https://prog-8.com/

ドットインストール - 3分動画でマスターする初心者向けプログラミング学習サイト
https://dotinstall.com/

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

<オフィスアワー>
非常勤のため、質疑対応などは授業時間内に教室で対応します。

<学生へのメッセージ>
本授業ではテキストと動画を中心に進めるため、受講生の好きなペースで学習を進めることができます。もし早く開発が完了したら、次章以降を先に進めてください。

教材を写経したコードであっても、書いたコードがそのまま動くことはまずありません。確実にチェックポイントをクリアするためには、うまく動かなかったときに効率的にデバッグするのが秘訣です。

講師がデバッグを手伝ってもらったり、理解できていない箇所のサポートをできるのは授業中のみです。事前に分からないところまで進めてしまって、授業中に講師のサポートを得るとスムーズに学習できます。

<備 考>
本授業は下記の5日間集中セミナー (49,000円) と解説動画 (29,800円) をベースにして行われますが、受講者が追加で費用を支払う必要はありません。
https://coedo-rails.doorkeeper.jp/events/62596

授業の進め方については次のスライド資料を参照してください。
https://speakerdeck.com/yasslab/more-interactive-way-of-learning-rails

過去のセミナー受講生からのアドバイスやメッセージは下記から公開しています。本授業を受ける際のご参考にしてください ;)
http://bit.ly/railstutorial-seminar-2017

<参考ホームページアドレス>
https://railstutorial.jp/


ナンバリングはこちら
このページの著作権は学校法人工学院大学が有しています。
Copyright(c)2019 Kogakuin University. All Rights Reserved.