42Tokyoでの2021年5月振り返り

42Tokyoで先月行ったことの振り返りです。

やったこと

Goの入門課題

ゴールデンウィークにGoをやろうと、生徒たちが企画し生徒たちが作り上げた課題です。
42は生徒たちが課題を作ることができると、この時初めて知りました。

内容は、変数の型、コマンドライン引数の処理、スライスなど、Goの入門的な内容です。

この課題で初めてGoを触りました。C言語に触れたことのある方には馴染みやすいと思いました。

工夫した点

動作確認にあたり、いつものようにテスターを作っていました。

github.com

C言語でテストフレームワークを作る課題

f:id:nafuka11:20210603220511p:plain:h400

2人の生徒でC言語のテストフレームワークを作る課題です。

画像は、libc再実装の課題で作成した関数のテスト結果です。

テストはプロセスを個別に立ち上げてシグナルをハンドルする必要があり、bash再実装に必要な知識を得られる良い課題でした。

また、CIの設定をする機会があり、CIの入門としても良かったと思います。

自分はフレームワークの雛形、テストコード、READMEの作成およびCI(GitHub Actions)の設定をし、ペアの相手の方にはフレームワークのメイン部分を作成いただきました。

C++の入門課題

C++の基本的な概念(クラス、例外、キャスト、コンテナ、イテレータなど)を課題を解きながら学んでいく課題です。

全体の半分くらいまで取り組みました。

感想

それまでよりも課題の内容が軽めで複数回課題を提出する必要があるため、レビューをする/される機会が増えるのが良いところだと思います。お互いの知識を交換する機会が増えました。

大変な点として、C言語しか学んだことがない生徒に、オブジェクト指向などの新たな概念を説明することの難しさがあります。
大変ではありますが、説明することで自分の知識が整理されるのでとてもありがたいなと思っています。

工夫している点

C++とは、クラスとは、など基本的な内容をよく説明するので、再現性のある説明にするためにドキュメントを作成しています。今回はGoogleスライドでなくHackMDを使っています。

f:id:nafuka11:20210603141731p:plain:h400

画像の左側が目次の一部、右側が本文の一部です。

今回のドキュメント作成で初めてLaTeXを触ったり、PlantUMLでクラス図を書いたりしています。楽しいです。

ただ、ドキュメントが3万字を超え、HackMDの動作が少し重くなってきたので、ページを分けるか検討中です。

コードゴルフ

時折開催されるコードゴルフ、今回は正規表現でした。パターンマッチについて学べて良かったです。

コミット時間

合計 1日平均
5月 194時間48分 6.3時間

今後やること

C++の入門課題を引き続き進めていきたいと思います。