出前授業「Gitトレーニング」〜東北工業大学 角田研究室編〜 #git #gitlab #gitlabjp
この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。
2018年10月12日に東北工業大学 角田研究室にお邪魔してきました。
角田研究室では、ネットワークの運用管理・セキュリティ管理システムや、その要素技術に関する研究をしています。
今回は角田研究室の学生の皆様と「Gitトレーニング」のワークショップを行いました。
弊社では、Gitをこれから使い始める方や、改めて体系的に学習したい方向けに「Gitトレーニング」を実施しています。
なぜ、学生向けに「Gitトレーニング」を実施するのか?
学生向けに「Gitトレーニング」を実施する理由を以下の順で説明します。
- 大学でのプログラミング演習の経験
- プログラミング初心者がよく陥る問題
- プログラミングにおけるバージョン管理ツールの有用性
- プログラミング以外でのバージョン管理ツールの有用性
- 欧州原子核研究機構での導入事例
大学でのプログラミング演習の経験
近年、多くの大学がIT教育の一貫としてプログラミング演習を実施しています。
この記事の筆者も約20年前に大学でプログラミング演習を受講した経験があります。
もう20年も昔のことなので、講義の詳細までは覚えていませんが、C言語でルンゲクッタ法の数値計算プログラムなどを書いていたと記憶しています。
プログラミング初心者がよく陥る問題
大学に入学してから、はじめてプログラミングというものに触れたのですが、ファイルを変更するたびに発生するコンパイルエラーを修正するのに四苦八苦したことをよく覚えています。
あれから、20年も経っているのでプログラミング演習の内容も大きく変わっていると思いますが、プログラミングに試行錯誤が必要なことには変わりがないと思います。
特に、プログラミングの学びはじめは、アルゴリズムの理解など本質的な問題よりも、エラーの修正など本質的ではない問題の解決のために多くの時間を費やすことが多いと思います。
プログラミングにおけるバージョン管理ツールの有用性
このエラーの修正にかかる時間を短くすることができれば、大学でのプログラミング演習を、学生にとってより有意義なものにできるはずです。
そのために、本格的にプログラミング演習を開始する前に、バージョン管理ツールの使用方法を一通り学ぶことは有効であると、筆者は考えています。
プログラムが正常に動作する状態でこまめにコミットすることを習慣化することで、もしもプログラムがエラーで動かなくなったとしても、素早くエラーの原因を究明し修正することができます。
さらに、Gitのトピックブランチを利用した開発方法を知っていれば、自信を持ってプログラムの試行錯誤ができるので、思いがけない研究成果につながるかもしれません。
プログラミング以外でのバージョン管理ツールの有用性
プログラミング以外に、論文などのドキュメントのバージョン管理ツールとしても、Gitは役に立ちます。
特に、外部の研究機関や企業と共同研究する際に、GitLabやGitHubなどのリポジトリ管理ツールを利用することで、素早く研究成果を共有することができます。
同様に、学内でデータ解析用のスクリプトなどを共有すれば、学内ソーシャルコーディングによって、研究を加速させることができるかもしれません。
欧州原子核研究機構での導入事例
実際に、世界最大規模の素粒子物理学の研究所である欧州原子核研究機構(CERN)では、
GitLabを導入したことにより、以下のようなメリットがあったと紹介されています。
- 研究の透明性とアクセシビリティが向上
- コード、及びドキュメントの品質が改善
- 研究の再利用を促進
「Gitトレーニング」の内容
弊社の「Gitトレーニング」は、Gitの未経験者が一日でGitの基本的な使用方法を体系的に学べる内容となっています。
また、単純にGitの使用方法を学ぶだけではなく、fast-forwardマージとnon-fast-forwardマージの違いなど、Gitの基本的な概念を理解することも重視しています。
そのために、トレーニングの最後に、Gitのブランチやマージなど基本的な概念の理解度を確認するために、ホワイトボードと付箋を使ったワークショップを実施しています。
参加者の声
最後に、参加した学生の皆様とトレーニングの振り返りをしました。
良かった点
- branchをようやく理解できた
- 付箋を使ったワークショップが分かりやすかった
- Gitを初めてまともに使って概要はつかめたと思う
- Gitがブラックボックスじゃなくなった
- 「git log --oneline --graph --all」という便利なものを知れた
- 図での解説が分かりやすかった
悪かった点
- 個人だけの利用だけではなく他の人とのgit利用もやってみたかった(リモートでの処理)
- 流れでやってみれば分かるけど、まだ頭の中で繋がりきらない部分がある
最後に
今回のトレーニングにご参加頂いた学生の皆様が、Gitを学業に役立てることができれば、非常に嬉しく思います。
このような貴重な機会を提供いただいた、角田准教授に深く感謝申し上げます。
クリエーションラインでは、学生向けだけではなく、企業向けにも「Gitトレーニング」を開催しています。
さらに、小学生向けの「プログラミング教室」も開催しています。
「Gitトレーニング」、または「プログラミング教室」にご興味のある教員、担当者様はぜひ弊社のホームページよりお問い合わせください。