42Tokyoで先月行ったことの振り返りです。
やったこと
Goの入門課題
ゴールデンウィークにGoをやろうと、生徒たちが企画し生徒たちが作り上げた課題です。
42は生徒たちが課題を作ることができると、この時初めて知りました。
内容は、変数の型、コマンドライン引数の処理、スライスなど、Goの入門的な内容です。
この課題で初めてGoを触りました。C言語に触れたことのある方には馴染みやすいと思いました。
工夫した点
動作確認にあたり、いつものようにテスターを作っていました。
C言語でテストフレームワークを作る課題
画像は、libc再実装の課題で作成した関数のテスト結果です。
テストはプロセスを個別に立ち上げてシグナルをハンドルする必要があり、bash再実装に必要な知識を得られる良い課題でした。
また、CIの設定をする機会があり、CIの入門としても良かったと思います。
自分はフレームワークの雛形、テストコード、READMEの作成およびCI(GitHub Actions)の設定をし、ペアの相手の方にはフレームワークのメイン部分を作成いただきました。
C++の入門課題
C++の基本的な概念(クラス、例外、キャスト、コンテナ、イテレータなど)を課題を解きながら学んでいく課題です。
全体の半分くらいまで取り組みました。
感想
それまでよりも課題の内容が軽めで複数回課題を提出する必要があるため、レビューをする/される機会が増えるのが良いところだと思います。お互いの知識を交換する機会が増えました。
大変な点として、C言語しか学んだことがない生徒に、オブジェクト指向などの新たな概念を説明することの難しさがあります。
大変ではありますが、説明することで自分の知識が整理されるのでとてもありがたいなと思っています。
工夫している点
C++とは、クラスとは、など基本的な内容をよく説明するので、再現性のある説明にするためにドキュメントを作成しています。今回はGoogleスライドでなくHackMDを使っています。
画像の左側が目次の一部、右側が本文の一部です。
今回のドキュメント作成で初めてLaTeXを触ったり、PlantUMLでクラス図を書いたりしています。楽しいです。
ただ、ドキュメントが3万字を超え、HackMDの動作が少し重くなってきたので、ページを分けるか検討中です。
コードゴルフ
時折開催されるコードゴルフ、今回は正規表現でした。パターンマッチについて学べて良かったです。
コミット時間
月 | 合計 | 1日平均 |
---|---|---|
5月 | 194時間48分 | 6.3時間 |
今後やること
C++の入門課題を引き続き進めていきたいと思います。