2016年の発売直後から大きな話題を呼び、中国・ドイツ・韓国・ブラジル・ロシア・ベトナムなど世界各国にも広がった「学び直し本」の圧倒的ロングセラーシリーズ「Big Fat Notebook」の日本版が刊行された。藤原和博氏(朝礼だけの学校 校長)「プログラミングは新しい言語の獲得だ」、野田クリスタル氏(お笑い芸人・マヂカルラブリー)「プログラミングがやりたくなる! まるでゲームの攻略本みたい!」、尾原和啓氏(元グーグル・IT評論家)「プログラミングを通して、ビジネスにも応用できる考え方が見えてくる!」と絶賛されている。本記事では、全世界700万人が感動した同シリーズのプログラミング編『アメリカの中学生が学んでいる 14歳からのプログラミング』より、本文の一部を抜粋・掲載します。

どうやってコンピュータとやりとりするのか?

 コンピュータは、どんどん使いやすくなっている。それでも問題が起きないわけじゃない。問題が起きたとき、きみにできることは、何があるだろう?

ヒューマンコンピュータインタラクション

 ユーザーインタフェース(UI)とは、コンピューティングシステムのなかで、きみがコンピュータを操作するのに使う部分のこと。

 たとえば、スマートフォンでゲームをするためのユーザーインタフェースとしては、タッチパネル、スピーカー、ヘッドホン、それから、ゲーム画面上のメニュー、ボタン、グラフィックスなどがある。

 グラフィカルユーザーインタフェース(GUI、「グーイ」と読む)とは、単なるテキスト(文字)じゃなく、画面上のアイコンや記号を使ったユーザーインタフェースの一種のこと。

 GUIがあると、だれでも簡単に、コンピュータを使えるようになる。いまでは、ほとんどのユーザーインタフェースがGUIだ。

【全世界700万人が感動したプログラミングノート】コンピュータはどうやってやりとりするの?

 コマンドラインインタフェース(コマンドライン、CLIともいう)とは、テキストだけを使って、コンピュータを操作するためのユーザーインタフェースのこと。コンピュータを動かすために、ユーザーが決まったコマンドやフレーズを文字で入力していかなくちゃいけないから、ほかのインタフェースと比べて、だいぶ使いづらい。

 ほとんどのコンピュータユーザーは、コマンドラインインタフェースを使う必要なんて、おそらく一生にいちどもないけれど、コンピュータ科学者になりたいなら覚えておいて損はないかもしれない。

 ヒューマンコンピュータインタラクション(HCI)とは、人間のコンピュータの使い方を研究し、改善していくコンピュータ科学の一分野だ。ユーザーインタフェースにとって大事なのは、目の見えない人や悪い人、耳の聞こえない人や悪い人、だれにとっても使いやすいということなのだ。

 たとえば、多くのスマートフォンには、画面の読み上げ機能が搭載されている。この機能のおかげで、目の見えない人や悪い人でも、スマートフォンが使えるのだ。

【全世界700万人が感動したプログラミングノート】コンピュータはどうやってやりとりするの?

 たとえば、多くのスマートフォンには、画面の読み上げ機能が搭載されている。この機能のおかげで、目の見えない人や悪い人でも、スマートフォンが使えるのだ。

トラブルシューティング

 トラブルシューティングとは、体系的な(ステップバイステップの)アプローチを使って、コンピューティングシステムやソフトウェアのエラーを解消すること。または、ソフトウェアプログラムのデバッグ(修正)のことも指す。

【全世界700万人が感動したプログラミングノート】コンピュータはどうやってやりとりするの?

 体系的なアプローチとは、決められた計画やプロセスを順番どおりに行うこと。たとえば、ピーナッツバターとジャムのサンドイッチをつくるときの手順みたいなものと考えればいい。たとえば、コンピュータをオンにしたのにうんともすんともいわなかったら、どうするだろう?

 まずは、コンピュータが電源につながっているかどうかを確かめて、それでもダメなら、次にコンピュータのケーブルがぜんぶ正しく接続されているかどうかを調べるはずだ。体系的なアプローチのメリットは、決まった手順を何度でも正確に繰り返せるという点なのだ。

【全世界700万人が感動したプログラミングノート】コンピュータはどうやってやりとりするの?

 デバッグとは、プログラム内の「バグ」(つまりエラー)を見つけて、修正すること。デバッグは、プログラミング中に使われる、具体的なトラブルシューティングの一種だ。

 バグは、文字入力のミスによって起きることもあるし、使っているプログラミング言語の規則や形式を守らなかったせいで起きることもある。

【全世界700万人が感動したプログラミングノート】コンピュータはどうやってやりとりするの?

トラブルシューティングの戦略

 トラブルシューティングでは、次のような戦略を使って、問題を見つけ、解決していくのが常套手段だ。

・モニタ、キーボード、ハードディスク、マザーボード、電源などを、ほかのコンピュータできちんと動作している部品と交換する。

・図をつくって、問題の原因を突き止める。たとえば、あるコンピュータシステムのすべての部品と、部品どうしのつながりを表す図をつくれば、一歩ずつ問題に迫っていける。

【全世界700万人が感動したプログラミングノート】コンピュータはどうやってやりとりするの?

・ソフトウェアに変更を加えてみて、ハードウェアがうまく動作するかを確かめる。ときには、ソフトウェアアップデートにバグがひそんでいて、ソフトウェアをひとつ前のバージョンに戻す必要がある、なんてケースもある。または、新しいドライバー(あるハードウェアとの通信の方法を、コンピュータに教えるためのプログラム)をインストールするだけで、問題が解決することだってある。

・ソフトウェアの設定や構成要素どうしの互換性を確かめる。ソフトウェアのなかには、決まったハードウェア専用のものもある。たとえば、iPhone用のアプリを、Androidスマートフォンにインストールすることはできない。

・きみよりくわしい人に助けを求める。きみひとりじゃ手におえない問題もある。そういうときは、コンピュータのいろいろな問題の解決方法を紹介しているウェブサイトをうまく活用しよう。

【全世界700万人が感動したプログラミングノート】コンピュータはどうやってやりとりするの?