多摩大学では「ゼミ力の多摩大」を掲げて、少人数の手作り教育で学生を育てています。システムなどの開発系のゼミが展開されています。利用する密度の濃い講義が開講されました。実際に講義を見学し、出原教授にプログラミング教育に関する情熱あふれるお話をうかがいました。使って講義をしようと思われたのはなぜですか。プログラムで何かを作ろうとするとき、最近では多くの場合、それが優秀なツールの組み合わせで実現できてしまいます。本当に基礎的なアルゴリズムがわからなくても、モノができたように見えてしまうところが、非常に大きな問題だと感じていました。システムである程度モノが作れると思っている学生に対して、アルゴリズムの話をしてみると、実はきちんと理解していないことが多いのです。ところが、自分で考えて何かを生み出していくには、基本となるアルゴリズムが必要です。この問題をなんとかカバーしたいとずっと思っていました。ある課題に対して、解法は一つではありません。それぞれが自分の考え方を説明して共有し、お互いに理解を深めていく。拝見し「これだ!」と思いました。本日、見学しましたが、少人数制のゼミ方式で密度の濃い講義でしたね。この講義に興味を持った学生には「これはプログラム言語を勉強するのではなく、プログラミング的な考え方を学ぶ講義だよ」という話をしました。一方で「これをやっておかないと、業界で生きていく上で限界が来る。仕様ががっちり固まっているものの開発実装はできるかも知れないけれど、何か新しいものを考えて作っていく力がつかない」とも話しました。その上でレベル1の問題をやらせてふるいにかけた結果、本当にやる気のある学生が残りました。フランスからの留学生も2名含まれています。日)が本番のイベントの5回目です。最初の3回のイベントでは、レベル1とレベル2の問題を行いました。学生のレベルも上がってきて、4回目は学生から「そろそろレベル3行きましょう」という声が上がり、4回目はレベル1とレベル2とレベル3の問題です。こんなふうに学生側から声が上がるのは心強かったです。レベル1~レベル6までの問題があり、数字が大きいほど難易度が高い。講義の内容について詳しく教えてください。講義の前半で前週の問題の正誤発表とコード解説、後半で次の問題を解くという時間配分です。学生は、次の講義までに、間違えた問題や効率の悪いプログラムの改良版を作成します。学生のスキルが向上して試験時間の長い問題を解くようになったので、5回目からは学生が持ち帰って自宅で問題を解き、講義ではコード解説とその内容を理解した学生が自身のコードを改良する方式に変えたところです。使って同じ制限時間で問題を解いています。コマンドや演算子がアルファベットで書かれているので、特殊な知識がなくてもアルゴリズムを追いやすいためです。使っている学生でも、それほど違和感なくアルゴリズムを理解できます。私が正解を書いてしまうと、それを書き写したら動いてしまいます。別の言語で書かれたアルゴリズムを理解した上で、自分の言語で書きなさいというふうにしたいのです。私の経験では、他の言語からプログラムを移植することによって学べることはすごく大きく、これによって、言語の違いを超えたところにあるアルゴリズムを意識することができるのです。同じ講義を別々の言語でやっているのはユニークですね。するとお互いの言語の強み、弱みを自然に理解することができます。遅いとなんとなく知っているわけですが、実際に動かしてみて実行時間が明らかになったときに「確かに違うね」ということが目の前で見えるわけです。ものすごく強力なライブラリを持っています。人たちは発見するわけです。2単位取得できるこの授業は単位も取れるんですよね。利用したプログラミング的思考法の習得」で申請が通っています。回と予習・復習で2単位です。特訓をする集中講義を用意しています。参加」という申請で「アクティブ・ラーニングプログラム」として認定されました。分、そして終わった後の振り返りが2コマ3時間という内容で2単位です。盛り上がりそうですね。盛り上がると思います。いま受講している留学生はこの時期にはもう帰ってしまっているので、フランスからの参戦になります。試験時間が現地時間の朝5時からなので、ちょっと早起きしてもらう必要があります(笑)。本戦前になんとかレベル3の打率7割くらいまで持っていきたいと思っています。個々の成長が毎週着実に確認できる今日が5回目ということですが、学生さんたちのレベルは上がってきましたか。レベル1はかなり正解率が上がってきました。レベル1は基本的には入出力と計算ができれば解ける問題なのですが、学生はこれまで標準入力のプログラムを書く機会があまりなかったので、苦労していました。レベル1がここまで解けるようになってきたので、ようやくアルゴリズム、どう考えたらいいのかというところに到達しています。レベル2の複雑な条件判断が必要な問題はまだ正解率が低いですが、説明すれば理解できるようになってきました。以前は、説明しても何を言われているのかわからないというレベルだったので、アルゴリズム的な考え、プログラム的な考え方が身についてきたと思います。学生自身も上達を実感しているわけですね。解けなかった問題が解けるようになることで、かなり成長の実感があるようです。次の週までに「自分なりに考えてできました」というサイクルが普通に回るようになりました。自主的に前に進もうとする力が補強されている感じです。この楽しさには日本人もフランス人もありません。先生自身も同じ問題を解いていますね。先々週解いた問題で、数え上げ問題に見せかけておいて数学的な条件でループを減らせる問題がありました。学生は問題文通りに2重ループを回しましたが、それを私が1重ループで解いたのを見せて違いを説明すると、彼らの納得感が高くなります。こんなふうに教員の力を自ら示すことで、学生を引っ張っています。フランスの学生には、教員だからといって無条件に尊敬してもらえるわけではないように思います。やって解いているうちに、私自身もレベルが上がってきました(笑)。使った授業は今年初の試みですが、この後の展開や構想はありますか?非常に優秀な仕組みなので、プログラミングをやっている学生はほぼ必修でいいぐらいに思っています。この命令を打つとこうなりますというような直訳風の言語の仕組みを学ぶのではなく、自分から何かを作っていく能力を鍛えられるツールとして、他の先生にも声をかけて広げていきたいです。1年生の動機づけにも使えそうです。多摩大学は、大学に入学した後で進路を決める学生が多いのですが、最初からプログラミングをやってみたいと思っている学生も少なからずいます。クイズ感覚で魅力的なので、ぜったいに面白いはずです。した学生たちが、自発的学習を前に進める仕組みを作れないかと思っています。今日は授業を目の前で見て感動しました。学生がアルゴリズムの重要性を学んでいる姿は、本当に刺激的でした。インタフェースを書けるとか、ツールを使って効率的に動くものを作れるという能力も重要でしょう。それは本質的にモノを作っていく力とは別物です。私がよく学生に言っているのは「技術そのものは古くなっていく」ということです。年経ったら価値がなくなっているかもしれません。年前に学んだことには、まったく価値が変わってないものがあります。いうところをきっちり抑えていたら、世の中がどう変わっていっても対応できるはずです。就職させるまでが大学の役割だとすれば、企業が即戦力を求めるならそういう学生を育てればいいでしょう。年もやっていける基礎的な力を身につけさせるためです。考えたときに、ツールの使い方を教えることだけが大学の役目ではないはずです。確かにそういう本質的な力を付けるのが、大学の本来のミッションですね。いうところを評価してくれる企業が増えてくれるといいのですが...。何点というようなスコアを付けて履歴書に記すようにしたいと思っています。本日は見学およびインタビュー、本当にありがとうございました。多摩大学ホームページ:https://www.tama.ac.jp/多摩大学について:多摩大学は「現代の志塾」という教育理念のもと、問題解決の最前線に立つ「志」人材の育成に尽力し、人間的な触れ合いによる少人数制ゼミを中心とした「手作り教育」を行っています。記載されている社名・商品名などは各社の商標登録です。内容の無断複製・転載の一切を禁じます。