Javaプログラミングをアクティブラーニングで学ぶ?問題集形式のテキストが増えてほしい

Javaプログラミングをアクティブラーニングで学ぶというコンセプトの本があることを最近になって知りました。

興味深かったので、今日はその話題を書いてみようと思います。

プログラミングとアクティブラーニング?

最近、私はアクティブラーニングに興味があります。それによって学習効率が上がるのかどうか。具体的にどういう教育方法なのか。そもそもアクティブラーニングに科学的な根拠があるのかどうか。

そういったことに興味があってアクティブラーニングについての文献をAmazonで検索していたら、こんな本を発見してしまいました。

・木本伊彦『アクティブラーニングのためのPerl5学習帳』

Kindleでの出版のようですね。Kindle Unlimitedにも登録されているようなので、月額読み放題に登録している人は無料で閲覧ができます。

発見したときはまさかアクティブラーニングとPerlのセットを目にすることになるとは思わず、何かの略語かと思いました。独自に作ったアクティブラーニング用のメソッドの頭文字を取った、とか。そういうのを想像しました。

実際は、そのまんまプログラミング言語のPerlの本でした。

内容はPerl5をアクティブラーニングを使用して学習するというものです。パソコン教室などでの利用を想定しているようでした。

本書はKindleアンリミテッドにも収録されているようですが、ダウンロードされるために本当に色々な工夫があるものですね。かなり感心しました。

コンセプトも面白いです。プログラミング教育への興味関心の高まりと、アクティブラーニングによる授業改革への関心の高さをうまく捉えていると思います。

テキストの内容的には割とちゃんとしているように見えたので、Perlに興味がある人でKindleアンリミテッドの会員さんは読んでみても良いかもしれませんね。

私はPerlにそれほど興味が無いので、精読するのは止めておきました。今はむしろJavaに興味があります。

Javaプログラミングをアクティブラーニングで学ぶ

そこでJavaをアクティブラーニングで学べるような本がなにかないだろうかと考え、早速調べてみました。

するとこのような本がAmazonで出てきました。

・大野澄雄 (編集)『アクティブラーニングで学ぶJavaプログラミングの基礎〈1〉』,コロナ社, 2015年

・大野澄雄 (編集)『アクティブラーニングで学ぶJavaプログラミングの基礎〈2〉』,コロナ社, 2014年

なぜか単行本第1巻の方が1年後に発売されていてビックリします。改訂された感じでもないけど、どういう出版スケジュールだったのでしょうか。

それはさておき、この本はまさに「アクティブラーニングを活用してJavaのプログラミングを学ぼう」というコンセプトの教科書です。初心者用の入門書といった風情ですね。

主要目次はこのようになっています。

1巻 目次

1 Javaを始める前の準備
2 はじめてのJava
3 Java言語の簡単な出力
4 変数
5 演算
6 条件文
7 繰り返し文
8 配列
9 メソッド

2巻 目次

『アクティブラーニングで学ぶJavaプログラミングの基礎1』の復習
クラス
クラスの機能
クラス変数とクラスメソッド
クラスライブラリの利用(入門編)
クラスライブラリの利用(応用編)
変数の代入
オブジェクト型の配列
継承
パッケージ
復習
抽象クラスとインターフェース
例外処理
入出力
模擬試験問題

目次を見る限りは、それほど変わったところがあるわけでもありません。どのあたりがアクティブラーニングに対応しているのか、少し不思議に思えてきます。

アクティブラーニングを全面に押し出すということは、読者に積極的に考えさせたり頭を使わせるような構成になっているはず。細かくテストしたりするのでしょうか?

そう思ってコロナ社のサイトを見てみると、実践問題を豊富に導入し、実習と解説の部分を交互に繰り返すことで定着を促すような構成になっているそうです。

正直なところ、それをアクティブラーニングと呼ぶのが適切なのかはわかりません(ウェブ上で読めるJava入門書を紹介した某インタビュー記事でも、似たような感想が書かれていました)。

しかし、学習効果の高いテキストという観点からは正しい方向を向いていると思います。学んだ知識は適宜出力しないと定着しませんからね。効率の良い学習を行うためには、解答のついた適切な問題が不可欠なのです。そして本書は、そのための問題が掲載されているだけでも価値があると思います。

こうなると俄然具体的な内容が気になるのですが、本書についてレビューしているブログはあまりないみたいですね。コンセプト的には意欲的でとても面白いのですが。地元の書店まで足を伸ばしてみても、やはり棚には置いていませんでした。今の時代、こういう地味な感じの本は売れないのでしょうか? ちょっと残念ですね。

Javaを問題集で学習するなら:柴田望洋『新・解きながら学ぶJava』

問題演習と解説のセットで学習が進んでいるという意味では、こちらの本も同じですね。アクティブラーニングとは名付けられていませんが、使い方次第でしょうか。

・柴田望洋『新・解きながら学ぶJava』SBクリエイティブ, 2017年

世にも珍しいJava問題集といったところです。こちらは私も購入しており、現在も手元にあります。

新・解きながら学ぶJava

プログラミング学習に限らない一般的な話ですが、基礎知識を付けたあとは、それをテスト形式でどんどん使っていくのが望ましいです。知識は想起するごとに頭に深く定着していきます。検索練習とか想起練習などと言われている、科学が認めた最強の学習法の一つです。本書ならそれができます。

そして実際にこの方法で勉強してみると、学んだ知識が次第に定着していくのがよくわかります。できるようになった問題の数が目に見えてわかるわけですから、自分の成長を定量的に把握できます。成長がわかるのでやる気も出てきます。特に章末問題がいいですね。

「エンジニアに必要なのはもっと実践的な問題だ」という意見もあるかもしれません。それはそれで正しいと思います。ただし、基礎知識を固めておくことも同様に重要です。応用問題は基礎知識がしっかりしているから解けるのです。入門者がいきなりエンジニアの職場にやってきても何もできずに終わります。邪魔なだけで戦力になりません。それと同じことです。

プログラミング言語の問題集はもっと増えるべき

現在のところ、プログラミング言語の学習のための問題集は数が少ないです。しかし、コンセプトとしては非常に合理的なのです。独学にも適しています。教師の方も授業で使いやすいでしょう。

学習者の便益を考えるなら、もっと問題集形式のプログラミング解説書が出てきてくれれば良いのですが、なぜ増えないのか理解できません。

昔ならば解答を掲載することが難しいという理屈も通りました。紙面には限りがありますからね。プログラミングだと略解を見ても意味がない、という事も考えられますし。

しかし、いまならこのような問題は発生しません。専用のWebサイトを用意して、そこに具体的な解答例を掲載すれば足りるはずです。

実際に『アクティブラーニングで学ぶJavaプログラミングの基礎』では、コロナ社のサイトで専門の解答ページを作っています。購入者だけがアクセスできるようにパスワードを付けているので、購入者以外の無関係の人に解答だけ閲覧される問題も発生しません。

何も問題ないと思うのですが、なぜ出版社側でそういう企画が通らないのか不思議です。

プログラミングは紙面で学ぶものではない、という考えなのでしょうか。Web上にはプログラミング問題を解くためのサイトや専門サービスも存在しているので、紙の本では需要がないと考えているのでしょうか?

もしそうならば、それは間違った考えだと思います。なぜならそうしたサイトに掲載されている問題は、あくまでも応用問題だからです。一つ一つの単元で、それがどのように使用されるのかを明示しながら体系的に話が進んでいくわけではないのです。

どうか、出版社の方がこれを見ていたら、ぜひ問題集形式のテキストを出したほしいと思います。これはプログラミングに限りません。問題集ほど効果的なテキストはないのです。

まとめ

  • プログラミング言語をアクティブラーニングで学ぶ系の本が存在する
  • プログラミングに限らず問題集での学習は合理的
  • 出版社はもっと多様な分野の問題集をテキストとして発行するべき

と、ここまで書いてからふと思ったのですが、自分でそのような問題集を作ってAmazonの自費出版でKindle用電子書籍として販売してしまうのも良いかもしれませんね。

問題集の価値が分かっている人なら、気になって購入してくれるかもしれません。少なくとも私なら、たとえばそれがAmazonのKindle Unlimitedに登録されていれば、軽い気持ちでダウンロードして読んでみますね。

まあ、面倒なのでやらないとは思いますけど。誰か作ってくれないでしょうか?