暖かくなってきましたね。
メンバーに触発されて初の投稿になります。非エンジニア向けに開催したプログラミング勉強会を通じて学んだことを書きます。
勉強会の目的
弊社はリアル×ITのサービスを展開していることもあり、社内のエンジニア比率が通常IT企業と比較して低いです。システム開発に対して距離を置かれたり、エンジニアとのコミュニケーションも心なしか少ない気がしていました。そこで、エンジニアとの壁の解消、そして、学んでくれた人々が純粋にプログラミングを楽しんでくれて好きになってくれれば良いなと思い、始めました。
できるだけ多くの方に集まってもらいたいと思い、業務時間外の18:30開始、毎週木曜日で設定したところ、14人の生徒と1人のボランティア講師が集まりました。
勉強会の内容
第一回、第二回
初回は「全員で楽しく達成できる!」「プログラミングはそんなに難しくない?」という認識をもってもらおうと、Code Studioを利用させていただき、言語を知らずともプログラミングのアルゴリズムを楽しみながら学んでいってもらいました。多少の躓きはあるものの、ドラッグ&ドロップで処理のブロックを組み合わせることによって課題を解決していく形式になっていてプログラミング初心者でも自力で解いていってもらいました。
上から順番に処理されること、分岐処理やループの処理、分岐処理内とループ処理内でも更に分岐やループを行えることなどを学んでいただきました。
第三回
この回からCode Monkeyを利用させていただき、Code Studioでブロックを使ってやっていた箇所を簡易なプログラミング言語を入力して進めていってもらうことにしました。前回までに分岐やループ処理を理解してもらっていたためか、心配をよそに比較的スムーズに進行していくことができました。
ここでの発見としては、2byte文字を混在させてエラーやインデントをあまり意識しないことでした。文字フォントによっては違和感なく表示されることもあるので、普段から2byte、1byteの差をあまり気にしていないのかもしれません。また、インデントに関してはプログラムの保守などをしていかないと重要性が理解できない箇所なのかなと感じました。
第四回〜第七回
第四回目からRubyとブラウザ上でコンパイルできるサイトを利用して、いよいよ本格的に?プログラミングを始めていきました。Rubyを選択した理由としては、単純に私もRubyという言語を知りたかったからですね。勉強会の前にいつも必死に予習をしています(笑)
第一回〜第三回まででやったことを、どうRubyで実装していくのか。変数の扱い方から演算の仕方までの基礎を中心に、分岐処理、ループ処理が複数あるので、違いにフォーカスしながら説明していきました。ここら辺から理解度に差が出てきましたね。次に同じことをやる場合にはクラスを分けていっても良いのかもしれないです。
第八回〜
第七回まで出力をテキストにしていたのですが、第八回からHTML形式での出力にしていき、実際にプログラミングしたものがWebページとして反映されていく動きを見ていってもらいました。分岐処理とループ処理を駆使して、HTMLを全部書かずとも、簡単に複雑なWebへの描画ができることを体験してもらいました。
まとめ
いままでTOTAL8回の勉強会を通じて、次につながる良い反省点がたくさん見つかりました。
- 理解している間はモチベーション高く勉強を続ける
- 理解度に個人差が出るので、できる人に合わせる or できない人に合わせるを意識していったほうが良い
- 腹落ちするまで、徹底的に復習をしよう
といったとこでした。
全体を通して、出来た人がまだ出来ていない人へ積極的に教えていく流れがあったりと、社内の普段関わらないメンバー同士のコミュニケーションが生まれたりと非常に良い機会になったなと感じました。まだまだ、プログラミングを知らないメンバーが多いので、引き続き勉強会を継続していきます!