概要
42Tokyoにて2020年Piscine合格者向けに実施された、オンライン特別カリキュラムの参加記録です。
42Tokyo公式サイトより。
・期間
第一セクション 4月6日(月)〜 4月27日(月)
※変更の可能性あり
・対象者
2020年Piscineの合格者
基本的には以下の記事の内容 + αな感じです。
カリキュラムの内容
はじめに
2020年1月、42TokyoというITエンジニア養成機関の入学試験、Piscineを受け合格しました。その後、新型コロナウィルスの影響で42Tokyoの開校は延期。代わりに4月から特別カリキュラムが始まりました。
日経クロステックの記事 にもあるように、カリキュラムは以下の3つの段階を経ていきました。
- 基礎的な技術の習得
- Webサイトやアプリケーションのプロトタイプの作成
- ハッカソン形式のワークショップ
1で新しい環境になれつつPiscineの復習をし、
2でプログラミングで作れるものを知り、
3で今まで学んだことを生かして課題を解決するという感じでした。
1. 基礎的な技術の習得
この期間で、Piscineの振り返りをしつつリモートの環境に徐々に慣れていきました。
文字数チャレンジ
この辺りで、AINOWの記事 にある「文字数チャレンジ」をしました。指定のプログラムをできるだけ短く書くチャレンジです。
まず普通にコードを書いたあと、コードを短くしていきました。変数名を短くしたり、余分なスペースを削除したりしていきました。
思いがけず優勝して嬉しかったです。最初、普通にコードを書いたのが良かったのだと思います。文字数削減をすると可読性が下がり、コーディング規約の大切さが改めてよく分かりました。
42 Network Coding Challengeの参加
「基礎的な技術の習得」と「Webサイトやアプリケーションのプロトタイプの作成」の間に、 42 Network Coding Challenge という42の学校間のコンテストに参加しました。ゲームAIを競わせるコンテストです。
このコンテストは学校・生徒でランキングがありました。学校ランキングでは、14校中Tokyo校が1位。生徒ランキングでは、358人中16位に入りました。
参加中に取り組んだこと
学校の順位は参加者上位n人のスコア平均のようでした。このため、まずは参加者を増やす必要がありました。参加者を増やすためにルールの翻訳をしたり、参加を呼びかけたりしました。
提出したアルゴリズムは、以下のような感じにしました。
- 1ターン毎にプログラムしたルールに沿って行動
- 一部の行動は角度毎に評価点を計算して最適な行動を取る
上位に入った生徒は、数ターン先まで自分・相手の行動をシミュレートして最適な行動を取っていたようです。
2. Webサイトやアプリケーションのプロトタイプの作成
Webサイトを作成したり、Discord Botを作成したりしました。プログラミングで出来ることを学び、作りたいもの・作れるものを知りました。
3. ハッカソン形式のワークショップ
最後がハッカソンです。チームを組み、あるテーマで1つの成果物を作りました。日経クロステックの記事 にも書いてある内容です。
ハッカソンを通じ、学習環境のリモート化で42が失った『対面の教え合い』をどのように補うか考え、プロトタイプし、今後の42に対して提案してもらうことを考えている
ハッカソンに参加して以下のことを学びました。
- 抽象的なテーマに対しチームメンバーが認識を合わせていく方法。
- テーマは抽象的で、初めはチームメンバーの認識がバラバラでした。個々の認識がバラバラだと1つの物を作ることはできません。ボイスチャットやMiroを使ってテーマについて掘り下げて考えていくことで、認識を合わせることができました。
- 「未来」の見せ方の重要性。
感想
良かったところ
とても魅力的なカリキュラムでした。
Piscineでは合格するために課題を解くという感もありましたが、今回は問題解決力をつけるための課題だと思いました。
また、Piscineで会った生徒や2月Piscine生と会えたことも嬉しかったです。
難しかったところ
本来オフラインを想定していた学校がオンラインになり、皆が手探り状態でした。
Piscineとは違いオンラインのコミュニティが全てになってしまうので、場をどうやって盛り上げていくか考えさせられました。
生徒それぞれに事情があって時間が取れなかったり、単方向・非同期的なコミュニケーションになってしまったり、課題がありました。
オンライン学習にあたり必要なこと
オンラインでの学習にあたり、以下が必要になると思いました。
- 発言する勇気
- オフラインと違い、オンラインでは気軽に横にいる人に話しかけることができません。発言しないと誰にも伝わらないため、テキストチャットでもボイスチャットでも積極的に発言した方がいいと思いました。
- モチベーションの維持
- 校舎に集まって絶対にやらなければいけない状況にならないため、モチベーションが維持しづらく感じました。モチベーションを保つ仕組みが必要だと思います。
- 環境が不安定でもなんとかやっていく力
- 自分の環境だとDiscordで画面共有ができなくなる等、オフラインにはないトラブルがありました。それを自力もしくは人の力を借りてなんとかして乗り越えていく力も必要だと思いました(画面共有ができなかった際は音声だけでなんとかしました)。
終わりに
42Tokyoは課題解決型学習を謳っていますが、42Tokyoが抱える課題も生徒が解決していき、より良い組織にしていくのだと感じます。
今後も42Tokyoに所属しながら、プログラミングを学びつつ、より良い組織について考えていきたいです。