編集プロダクション エディット|教材編集・資格書編集・一般書編集

エディットお役立ちレポート

2019-12-03

編集者が隙間時間にプログラミング言語を学ぶために

2020年度から、小学校からプログラミング教育が必修になっている。しかし、教師だけでなく、実はプログラミング教育などというモノは親も経験したことがないのが普通である。もっとも、小学校では、プログラミング言語を使うことはあっても、そのプログラミング言語を習得することが目的ではなく、あくまで「プログラミング的思考」ができるのが目的となっている。

プログラミング教育については、文科省の有識者会議で、次のような学習内容が想定されている。

子供たちに、コンピュータに意図した処理を行うよう指示することができるということを体験させながら、発達の段階に即して、次のような資質・能力を育成するものである。

【知識・技能】
(小)身近な生活でコンピュータが活用されていることや、問題の解決には必要な手順があることに気付くこと。
(中)社会におけるコンピュータの役割や影響を理解するとともに、簡単なプログラミングを作成できるようにすること。
(高)コンピュータの働きを科学的に理解するとともに、実際の問題解決にコンピュータを活用できるようにすること。
【思考力・判断力・表現力等】
発達の段階に即して、「プログラミング的思考」(自分が意図する一連の活動を実現するために、どのような動きの組み合わせが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組み合わせをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力)を育成すること。
【学びに向かう力・人間性等】
発達の段階に即して、コンピュータの働きを、よりよい人生や社会づくりに生かそうとする態度を涵養すること。

(有識者会議「議論の取りまとめ」(平成28年6月16日)

ところで、ここでのポイントは、「コンピュータに意図した処理を行うよう指示することができるということを体験させながら」というところにある。そのためには、実際にプログラミング言語を使ってみる必要がある。というわけで、現在、小学生でも使えるものとして、Scratchやそれに類似したビジュアル型のプログラミング環境が注目されている。たぶん、その中でもScratchはメインだと思われる。

子供は、Scratchなどを出発点として、だんだんプログラミング言語が使えるように育っていくことになる。中学校や高校になると、本格的なプログラミング言語を使うようになることを考えると、近い将来は、おとなの常識として、WordやExcelだけでなく、何かいくつかのプログラミング言語やWebの活用についての知識を持っていることが普通になるに違いない。

プログラミング教育の先駆けとして、すでに子供向けのプログラミング大会がいくつか開催されている。

そういう教育の流れの中で、プロラミング教育などの経験のなかったわれわれは、どうしたらよいのだろうか。もちろん、そんな勉強などしなくても、生きてはいけそうだが、英語と同じように、これからのビジネスの中では、将来的には必須の能力になるに違いないと思われる。これからの時代、子供たちの未来だけでなく、私たちの未来でも何が起こるかわからない時代である。文系と理系の融合ということが言われ始めて久しいが、その典型がプログラミングの教養なのではないかと思われる。例えばEPUBを使って、電子書籍をつくるという作業は、どちらかと言うと、理系というより文系の人の方が適性があるのではないかと思う。

ところで現在、小学校のプログラミング教育で話題になっているScratchは、Javascriptでつくられている。また、ScratchのWebサイトを表示する ことによって、ブラウザー上で実行できるプログラミング環境になっているビジュアル型の言語である。要するに、Scratchは、HTML5+CSS3+Javascriptの三点セットによって、端末上で実行できるようになっているプログラミング言語である。

このプログラミング言語のJavascriptは、スクリプト言語と言われているものであり、CやJavaなどと呼ばれているコンパイラ型の言語と違って、プログラムを組むと、すぐに実行できる。この他、スクリプト言語には、Python、Ruby、PHP、Perlなどがある。Javascriptは、端末側で実行されるプログラムに特化した言語であり、このことはセキュリティ上の仕掛けにもなっている。これに対して、PHPはサーバー側で使われることがメインになっている言語である。PythonやRuby、Pearlなどは、Webではサーバー側でも多く使われているが、Webとは関係なく、端末側での作業に使われることも多い。

特に、Pythonは、最近ではAI開発や、データサイエンスに相性のよいプログラミング言語として人気が高くなっている。また、Rubyは、日本人のまつもとゆきひろが開発した言語で、いまや世界中で使われている。プログラミング言語、とりわけ、スクリプト言語は、とても取りつきやすい。本当は、小学生からでもこうしたスクリプト言語を学んだ方がよいのだが、ローマ字を教えていないとか、いろいろ難しい問題があり、ビジュアル型になっているわけだ。

それなら、われわれ大人は、どうしたらよいだろうか。ズバリ、スクリプト言語を一つぐらいマスターしておいたほうがよいと思われる。特に編集者なら、HTML5とCSS3、およびJavaScriptの組み合わせがベターかもしれない。なぜなら、EPUB形式の電子書籍のファイル構造は、XHTML形式の情報内容(コンテンツ)が、指定の形(指定されたディレクトリーとファイル構成)でZIPによって圧縮された後、ファイル拡張子に「.epub」が付けられたものである。だから、HTML3+CSS3+Javascriptを理解できれば、すぐにEPUBは理解できる。

また、スクリプト言語というのは、多少の違いがあるが、ひとつのスクリプト言語をマスターすれば、大抵どの言語もすぐ使えるようになる。そういう意味でも、どの言語を学んでも同じようなプログラミング思考が身につくことは確かだ。特に最近は、それぞれのスクリプト言語の開発のコミュニティで、同じような機能がどんどん取り入れられていて、たいてい、同じような機能が同じような仕組みで実装されるようになっている。

さて、そのための学習の仕方についてであるが、いろいろな入門書を読んで自分でプログラミングをしてみるのがいちばんなのだが、なかなか難しい。特に、スクリプト言語を実行するために、それなりの実行環境を準備しないとすぐに使えない。例えば、Scratchのすぐれている理由は、Webブラウザーがあれば、すぐに実行環境が立ち上がるというところである。

しかし、少し前までは考えられもしなかったが、今ではPCやスマホ、タブレットで簡単に学習できるサイトがいくつもある。しかも、実行環境をインストールしなくても試すことができるようになっている。YouTubeにもプログラミング学習のチャンネルがいくつもアップされている。これは、子供だけではなく、大人の学び(学び直しも含めて)にもとても便利だと思う。

私は、1年ほど前から、Webラーニングとしてはスタディサプリを利用している。これは、月980円で、すぐれた予備校講師の授業が受けられるというもので、村山秀太郎の世界史、伊藤賀一の日本史、山内惠介の数学などを、隙間時間に見ている。大学受験用の内容だが、これらは、一般の高等学校でも利用されているようだ。

(日本史や、世界史の学び直しの本がいろいろ出版されているが、ここでの学習には負けると思った。つまり、スタディサプリで学習している内容は教養としても、一流だと思った。)

同じような、経済的で便利な、プログラミング言語の学習サイトに次のようなものがある。実は、大学院に行っている息子の受け売りも半分くらいはあるが、以下の3つのサイトに学習サイトの紹介がある。

この中から、具体的なサイトとして、次の4つを紹介しておく。

私が試しているは、PAIZAラーニングである。これは、動画を観ながら同じ画面上でプログラミングをして実行できるもので、無料で見られるものと有料のものとがあるが、有料でもスタディサプリなみで1か月ごとだと980円だが、半年・1年の契約をすると、もっと割安になる。このサイトは、小学生には少し難しいが、中学生以上になれば、よく分かる内容になっている。しかも、学校のクラス単位で申し込めば、無料で使えるサービスを今年から始めたようだ。

最後に、どんなプログラミング言語があるかについては、下記に代表的なサイト挙げておく。これらのサイトは、将来性や転職するときにどんな役に立つかという点から書かれているが、プログラミング言語の性格もうまく捉えられているので、どんなことに役立つかも理解できると思われる。

なお、プログラミング言語の学習の効用については、次の本を参照にした。

(文責:東京オフィス 塚本鈴夫)