memorandums

日々の生活で問題解決したこと、知ってよかったことなどを自分が思い出すために記録しています。

プログラミング演習のやり方について考えたこと

プログラミング演習の授業を担当している。基礎問題を少し改変してできるような問題、そして発展的な問題を出して取り組んでもらい次週までにレポートを出してもらう形式で長年やってきている。

課題は採点したりコメントして返すこともしてみたがうまく回らないので、最近の授業では毎週課題を返すことはしていない。

そうなると学生は自分の出した課題ができているのか、やり方が正しかったのかわからないので解答を提示するようにした。

しかし、そのコードをコピペして課題を出す人もいたりして、これって自分でやった人と区別がつかなくてどうしたものかな。。。と思っていた。

とはいえ、別に学生をいじめたいわけではない。。。狙っているのは知識やスキルのパーツを習った状態で、問題に合わせて目的となるプログラムを組み上げるということを試行錯誤する時間をとってもらいたい、ということだった。

これってプログラマなら誰もがやっていることだから。。。そういう練習を積んでもらいたくてこの形式にしている。

ただ、これは個人差があるのかもだが、ある学生からはこういう学習の仕方はわかりにくいしやりにくい。そもそもやる気にならない、という趣旨のクレームを最近もらったことがある。

確かに、考えたり理解する前にとりあえず動くコードを見たいし動かしたい、という気持ちはわからなくはない

その辺が僕の授業評価が低い原因だったのかもしれない。

自分で考えたいという学生ももちろん一定数いる。昔は授業評価アンケートも記名式だったので、そういう学生の評価は高い授業だった。やってよかったなぁ〜と思うことが何度となくあった。だって、プログラミングのスキルアップって答えがあるものを写経するレベルを過ぎたら自分の目的に合わせてプログラムを組み上げていくことによって自信がつくことだから。そういう経験ができる授業はそれほど多くはない。

こういうレベルの子らの障害にならないように配慮しつつ、自分で考えるよりまず手を動かしたい(課題を完成させたい)という学生に配慮するにはどうすればいいだろう?と考えてきた。

次回の演習で手順を見せる、という案はあるが、それだと演習時間が少なくなり本来やるべきことが進まない問題がある。

学生は1週間のどこかで時間の都合をつけて課題に取り組むはずである。この課題の期限が迫っていて「やらなきゃ」と思う時間こそ最も学習効果が高い時間ではないだろうか?とこれまでの経験で感じている。

そんなときにサポートする教材があればいいのかもしれない。

例えば、正解を導くための手順を動画にしてClassroomなどで見せるようにする、というのはありかなと思った。

自分で考えたい人は自分でやればいいだろうし、わからなくなったらその動画をみればいい。最初から自分では難しい学生もとりあえずは課題に着手してレポートを完成させることができる。

どうだろう?まず「やってみる」である。これで授業評価があがるならそれもよしだと思う。