プログラミング学校を卒業して思うこと その3 〜進度について(続き)

真打登場! Ruby on Rails

 この学校の売りは、Webアプリが自力で開発できるようになる(つまりそれがエンジニア)ということであり、要はWebアプリ開発フレームワークと呼ばれる「Ruby on Rails」でWebアプリを開発して、デプロイ(ネットに上げて誰でもアクセスできるような状態にする)まで導くということ。

 なので、教えることの大半は、Ruby on Railsの使い方を実際のアプリ開発をしながら要素技術が出てきた都度教える(この学校は自習が基本なので、学校の教材を読み込むということ)というもの。

「カリキュラム」の概要 〜基礎カリキュラム

 話を学習内容に戻すと、この学校の課程は、大きく分けて「基礎カリキュラム」と「応用カリキュラム」に分かれており(他に就職活動カリキュラムとかフリーランスのためのカリキュラムもある)、これまでに触れた学習をしたあと、RailsベースのWebアプリを2つ(写真中心のツイート投稿ものとスクレイピングを使った映画情報整理サイト)と少々の復習的なアプリ開発をして基礎カリキュラムを終える。

 進度表(学校では「進捗管理表」と呼んでいる)では、このRailsに関する基礎をたったの5日間で一気に駆け抜けるのだ。

 その後1週間ほどを復習期間にあてるとともに、学習到達度試験として試験を4回ほど受け、最後に本試験で70点以上取れると応用カリキュラムに進めることになっている(この間に個人アプリの開発という課題が与えられ、発表会も開催される)。

「カリキュラム」の概要 〜応用カリキュラム

 応用カリキュラムは、コーディングの基礎知識、正規表現(文字列の検索や抽出などのために文字列を一般的に表す技術のこと)、JavaScriptjQuery(ブラウザ側でのプログラミング言語)、Git・GitHub(開発者のためのバージョン管理システム)、データベース設計とSQL(データベースの操作言語)などをこなした上で、画像投稿のできるグループチャットシステムを開発し、併せてテスト(アプリケーションが正常に動作しているかをコンピュータ上で確認することをいう)についても学び、デプロイした上で動作確認を受ける。

 このアプリのデプロイ状態での動作確認ができると、晴れて最終課題として某著名サイトのコピーサイトをグループで共同開発するという運びとなる。

学習期間は?

 進度表によると、基礎カリキュラム全体でほぼ2週間、応用カリキュラムで実質3週間の学習を終えたあと、コピーサイトの共同開発で1ヶ月というところ。

 実際には、応用カリキュラムの学習部分を終えたあとコピーサイト開発までに1週間があり、進度が遅れた人のための調整期間のようになっているので、全部で10週間でフルスタックエンジニア(漠然と「なんでもこなせるエンジニア」といった意味)が一丁上がりという筋書き。

私の進度

 私の場合、既に触れたように他の学生よりもはるかに多くの時間を投入していたが、進度は常に遅れ遅れであり、共同開発に入るためのチャットシステム開発でも最終的に1週間以上遅れが出たため、危うく共同開発に入れなくなるところだった。

 本来であれば、チャットシステム開発の共同開発開始までの時間でさらに進んだ学習内容の教材も用意されているのだが、到底手を出す時間的余裕はなかった。

進度で危惧すること

 率直に言って、私がこれだけ遅れたのは、私の理解が遅いからじゃない(もちろん、私の主観的判断)。

 他の学生たちは、理解を犠牲にして進度を最優先したから期限に間に合っただけで、実際会話していても基礎的なことが理解できていないことがわかるし、その後の共同開発でもそうしたことに気づくことが多々あった。

 最終課題である共同開発に進むためには、いくつかのチェックポイントを通過する必要があり、実際他の学生はそれを通過してはいるんだが、実は、同じ学校の卒業生らがそういったチェックポイントに関する答えを技術系の投稿サイトにそのまま投稿したりなんてことがあるため、その記事のコードをそのまま課題にコピペしてしまえば、まるきり理解していなくても多くの課題は通ってしまう。

 もちろん、学校がそうしたことを承認しているわけではないが、基本的に学習はネット参照自由という建前なので、学校側がそれなりに注意深く見ないとわからない。