自分の学科の学生に,どんなプログラミング能力が身についてくれているといいかを,妄想してみました.
もっと検討し,学科教員*1の了承を得てから,授業や研究室指導に活用していきたいと考えていますが,現時点では「個人の経験に基づく発想」に過ぎないことを,ここに明記しておきます.
「3年生の研究室配属時」と「卒業時」の2つに分けて,それぞれで要請されるプログラミング能力を立ててみます.3年配属は9月末ですので,これは,3年前期までの2年半に学修して獲得する能力ということになります.
今日は,3年生の研究室配属の時点で身につけておいてもらいたいプログラミング能力を書くことにします.大きくは次の2点です.
- 計算機の利用およびプログラミングに関する基本的な語句について,いつ質問されても適切な答えを言えるようにすること.
- 目的,対象(入出力),技術的な助言technical advicesが教員から与えられれば,その仕様を満たすプログラムをCで書くことができる.
補足です.
- 基本的な語句ですが,必修科目で学んでいて,研究室活動の中だけでなく,社会に出てからも必要と思われる語句は,数百は下らないと思います.しかしそれらをすべて列挙し,「理解せよ!」というのは非現実的なので,ここでは代わりに,20〜30で代表させることにします.しかしそれらの一つ一つを「説明」できるようになるまでには,その数倍〜10倍以上の語句や概念も合わせて理解しているだろう,ということです.
- 具体的な「基本的な語句」は,数年の時間経過には耐えられるようにしたいと思います.別エントリで案を出し,アドバイス,学科内の授業内容などをもとに,良い方向へ編集していくことにします.
- どんなプログラムが書ければいいかについてですが,まずは,「何(どんなデータ)を対象として」「何を使って」「何をするのか」という枠を定めるのは教員の仕事とし,その枠の中で,要件を満たすプログラムを書けることを目標とします.この枠は,研究活動をしていく中で緩くなります.卒業研究をしていく中で,学生がその枠を決め,自主的にプログラムを作っていけるよう,教員が誘導していければいいのですが.
- 書くプログラムに,制限を置いておきます*2.
「学生の能力」について考えてきたのですが,後半では,「教員」がたびたび登場しています.書いている本人がそうだからというのもありますが,学生の能力を見定め,伸ばすのは,教員の役割であるという点も,忘れないようにしたいものです.
最後に,上記の能力がなかったら研究室に配属されない,という位置づけのものではないことを申し添えないといけませんね.研究室配属後に*5勉強し直すことは可能だし,歓迎したいと思います.