受講者の心に響く!プログラミング研修資料の作り方と考え方

目次
はじめに
本記事はIT会社勤務の100名程の研修生を見てきた元Java研修講師が、新人研修のプログラミングの研修資料の作り方と考え方(注意点など)をお話ししたいと思います。
研修資料の考え方:受講者目線に立つ
受講者のレベルや背景を理解することです。完全未経験なのか、他言語の経験はあるのかで説明のレベルは変わってきます。しかし、完全未経験と他言語経験者では完全未経験の方がレベルは低いです。なので、他言語経験者に合わせた水準で作ってしまうと、完全未経験の人にはレベルが高すぎるので下の水準に合わせて作ったほうが汎用性が高いです。
次に、「なぜ学ぶのか、どう使われるのか」を先に伝えることです。
実務でどう使われるのかは、さすがにイメージしづらいので、今日学ぶことは身につけるとどのようなことができるかを先に伝えてあげます。「for文は繰り返し処理ができるようになる」や「if文は条件によって違う処理をすることができる」など、どんなことができるかを伝えてイメージを付けやすくしていました。
次に、成功体験を作りやすい設計にすることです。
初学者は特に「動かない」「分からない」で挫折したり不安になりがちです。そのような研修生を大変多く見てきました。そのようなことを完全に無くすことはなかなか難しいです。なので、できるだけ無くすようにすることしかできないですが、最初の課題や例題などでは確実に成功できるような難易度にすることです。複雑なコードには一切せずに、1行〜3行コードを書けば動くような難易度にして成功体験を作り、そこから徐々に少しずつレベル感を上げてスキルの向上を目指すようにします。
研修資料の作り方:流れを分かりやすくする
まず、導入部分からです。
「どんなことを学ぶのか、身につくとなにができるか」を最初に伝えます。
そこから基本構文の作り方を説明します。
if文だと「「if ()」のカッコの中には条件式を入れるんだよ。条件式の作り方の説明」など、構文の大枠を示すように説明します。そこから1つ簡単な例題をもとに、「変数に格納した数字が自然数かどうかを判断して、自然数なら「自然数」と出力するようにしよう」と実際にコードを書きながら使い方を見せる。ここで小さな成功体験を実現するためにも例題とほぼ同じ問題を課題の最初に用意します。
この段階で注意点なども合わせて説明します。if文だと「{}」は可読性のために必ず書こう。や条件式の「かつ・または」の優先順位には気をつけようなど。
日本語だけでなく、実際のプログラミングのコードを見せながら説明するのが1番効果的だと思います。
特に難しい内容(クラス・メソッドなど)は、さらに追加で例題などで説明します。
基本的な構文については1つか2つ程度簡単な例題を用意すれば、大丈夫だと思います。しかし、オブジェクト指向特有の「クラス・メソッド」に関しては、少し踏み込んだ内容の説明までしてあげないと、課題でつまずく原因になります。実際の課題などと似た内容で、一つずつ説明しながらゆっくりめに時間をかけて細かく説明する必要があると思います。
また、完全に理解してもらうのは1度の説明ではなかなか難しいので、「こういうときはこれを使うのか」くらいのふんわりとしたイメージを掴んでもらえると、例題としては十分だと思います。
例題で使い方や考え方のイメージを掴んでもらったら、課題に取り組んでもらいます。
課題については、基本構文でも難しい内容でも同様に3つの段階で作ることをおすすめします。
まず、1段階目は「必ず成功するような問題」です。これは単純な出力形式で例題を見ればできるような難易度に設定し、なんとなくの使い方を分かってもらい次に繋げていきます。
次に、2段階目は「少し複雑なロジックになった問題」です。ここでは単純な出力形式に加えて少し複雑なロジックにし、基本構文などを組み合わせて問題を解き理解を深めてもらう段階にします。
最後に、3段階目は「応用問題」です。この段階では「if文ではelse ifまで使う問題」「for文だとネストさせて複雑な問題」「難しい内容のクラス・メソッドは複数クラスでのメソッドの呼び出し」などの難易度で作成し、理解を深めるのに繋げていくようにします。
まとめ
研修カリキュラムの研修資料に関しては作成するのはすごく大変です。未経験から他言語経験者まで幅広い研修生が入ってくると考えると、全員が理解できる資料を作ることは不可能です!さらに1度作った資料が完璧に作れることも少ないです!やりながら説明しながら試行錯誤をして改善に改善を重ねて、良いものを作り上げて練度を上げていくことを意識しみると良いと思います!