3年生のチーム演習の授業でRubyやRailsについて学習してもらっています。
前期に基礎をやって後期に成績順で2人でペアを作ってチームで企画したWebアプリを協力して作る、を実践してもらっています。環境はAWS Academy上のCloud9です。cloud9.ioの頃から数えるともう10年くらいになるんじゃないかと思います。
gitで版管理してgithubで共同開発します。完成したらrender.comにデプロイする感じです。
そろそろ終わりが近づいてきたので焦りが見え隠れしている感じに見えます。
やはりこの授業やってて面白いなと思うのは、学生さんらの会話がだんだんそれっぽくなっていくところです。
前期までは授業資料のコードをコピペして組み合わせたもの、テーブルを作っていないとか実行する場所が間違っているとかでなかなかできないレベルでした。CUIに慣れていないからLinuxコマンドもすぐに思いつかず、sqlite3とかのインタフェースもLinuxのシェルなのかsqlite3の状態なのか区別もつかない様子で、これどうやって教えるべきなんだろと思うことも多々ありました。
でも、だんだんわかってくるんですね。これが面白い。
後期ではgitで版管理し、githubにorganizationを作成して共同開発します。プルリク開発はしていませんが、push/pullでマージする手順でやってもらっています。
聞こえてくる会話がだんだんそれっぽくなるんです。
「表示でないんだけど?」「テーブルにデータ入っていないからだよ」
「pullしたけどエラーが出てなんだこれ」「マージしろってことでしょう?これをこうして。。。」
「このリンクにパラメータ埋め込んでって言ったじゃん!」「ごめーん」
毎年見る光景なんですが、なんか嬉しくなるんですね。再来年には現場で働き始めるのでしょうから、そんなのできて当たり前なんですが、この始まりが面白いな〜と。
ただ、最近、ちょっと変わってきた光景としてはChatGPTの利用者が増えていることですね。理解度が低い学生ほど使いたがります。できる子ももちろん使っています。
やっかいなのは学生がやろうとすることの多くは授業でやったことで、こういうことできるはずだけど講義資料とか見返すのが面倒(あるいはわからない)ので、ChatGPTに聞いて教えてもらったコードをそのまま貼り付けるというところです。
私は「ChatGPTを使うのはOKだしどんどん使えばいいけど、ただ授業でやってない方法で試した結果については自分でなんとかしてね」と伝えています。
ググる代わりにChatGPTを使うようになったというだけの変化です。どういう方法にせよとりあえず完成すればできた感は得られるのでしょう。結果的にそれでうまくできればいいです。もしどうしても動かなくなったときに調べたときに得るものがあると思います。
JavaでWebアプリ作っていた時代にはこういう光景ってあまりなかったんですが、Railsやフレームワークを使うとライブラリも充実していますしイチから作ろうという発想になりにくいのは理解します。
読めばわかるというレベルじゃないとさすがに売り物のプロダクト開発は厳しいと思いますし、そういう状況になったらやるのでしょうね。この時期はそれっぽいことが大事なかと思います。
いずれにせよ最終発表会が楽しみです。