中学生の自由研究にプログラミングをわかりやすく解説!

スポンサーリンク

中学生という年齢になると、知識的な理解が深まってきて、色々なものに興味が出てきます。そして、夏休みなどになれば自由研究が始まります。そこで、最近はITの分野がとても発達してきているので、プログラミングを学びたいという中学生が居ると思います。そこで、今回は、わかりやすいプログラミングを中学生に向けて、現役プログラマの筆者が自由研究についてあれこれと解説してみたいと思います。今回使う言語は2つのパターンから選んでいただけますので、好きなものを選んでください。

あと、内容としてはほとんど誰もが同じ内容になると思いますので、要所要所丸写しOKとします。

実行してみよう

実行してみよう

中学生の自由研究に向けたプログラミング言語

さて、ここで中学生が自由研究をするにあたって、どんなプログラミング言語がいいかと考えてみました。実際に実行内容をお手軽に見たいのであればJavaScript、知識的な理解を深めたいならC言語です。環境構築について最初は悩んでしまったりすると思うので、筆者としてはJavaScriptをおすすめしております。それについては、過去にプログラミング部分を書いてみましたので、実際に見て動かして研究したいという方は、そちらの記事を参考にしてみてください。

自由研究でプログラミング!【教材不要で簡単】

また、これらを研究の対象としたのは、まずはC言語だと実行環境を作るステップでつまづいてしまう中学生が多かったり、筆者のパソコンで解説しながらでも、途中からエラーが出てしまう端末などがありますので、本格的にやりたくて時間がある方は専門書の購入をおすすめします。そうはいっても、C言語はおすすめなので、今回は自由研究の内容として、知識的な理解を深めるために、C言語を解説してみたいと思います。これをやる理由としては、徐々に知識を深めると、パソコンがどのように動いているのか分かるのです。また、それが分かることでセキュリティにも強くなります。プログラミングをするのは中学生でも簡単なのですが、もっと踏み込んだディープな内容だと、プログラミングだけを学んできたプログラマや先生もお手上げなことが多いです。本気でこれからプログラミングをしたい方にも、参考になる内容です。

それ以前に、中学生向けにプログラミングを学べる教材が配布されておりますが、結局あのようなものを使っても自由研究などでの理解は深まりにくいと判断しました。それに、使うお金もちょっと無駄な感じがします。個人的感想なので、学校の教育材料としてはいいのかもしれません。

中学生は自由研究のプログラミングにはHelloWorld

まず、自由研究をするにあたって、一番わかりやすいプログラミングはどのプログラミングの教科書にも出てくるHelloWorldです。それでは、実際に書いてみましょう。

#include

int main(void)
{
printf(“Hello World”);
return 0;
}

たったこれだけで、HelloWorldとパソコン上に表示することができます。今回は知識的分野を深めるということなので、1つ1つ専門書よりもわかりやすく詳しい解説をしてみたいと思います。

まずは#includeという文字ですが、これは大半のプログラミングの本では「おまじない」であると書かれてあります。結局そのおまじないに何を書いているんだというのが中学生の方は不思議にならないでしょうか。これは、ある程度英語を学んだ方ならば、お分かりいただけるかもしれませんが、機能を追加するという意味です。今後いくつも使うので、この命令は覚えておきましょう。自分の作ったプログラムをインクルードすることもできます。

次に、です。ちょっと英語に慣れた中学生ならば、間違ってstudio(スタジオ)と読んでしまいますが、stdioとなっている点に注意です。これは、Standard Input/Output(スタンダードインプットアウトプット)という文字の略です。これがなければ、後に使っているprintfという命令は使えなくなります。単に、文字を表示するだけでも、実は膨大なプログラムが裏で動いているのです。略さずに書くとどうなるのと思われるかもしれませんが、多分、読んでいたら日が暮れるので、このあたりはそのままにしておきましょう。

int main(void)という文字が見当たります。これは文字から考えてみてください。ここがメインで実行されるよという場所です。これはC言語で後に関数と呼ばれるものになって出てきます。最初はこのあたりは深く考えずに、ここに書くことが最初に実行されるんだと思えばいいです。

ここは難しいかもしれないので、真剣に読む必要はありませんがmain関数の中にプログラムを延々と記述していると、本当にゲームなりのレベルになれば長いです。また、何かしらのプログラムを書くとしても、膨大な量になったり、同じ命令を書かなければいけないということもあります。そんな時に毎回毎回同じ処理を書くのは、長ったらしいコードになって無駄です。そこで関数と呼ばれるもので別に書いておいて、要所要所で呼び出します。

さて、次に出てくるものはprintfと呼ばれているもので、これは表示に関する命令です。先ほどの関数をお読みになった方ならピンとくると思いますが、こういった表示命令は頻繁に使うため、こういう風にprintfという関数になっております。今回はHelloWorldと表示するようにしていますが、何を書いても問題ありません。また、ここからほとんどの教科書や恐らく学校でも教えないことを書きます。一番真剣に見てほしいところです。printfという関数は、とても便利で、恐らくC言語をやっていれば頻繁に使うこともあります。また、略して書くこともできると説明している本もありますが、絶対にしっかりと書いてください。それはなぜなのかというと、脆弱性の発生に繋がるからです。もっというと、これらを書く上で、手を抜くプログラマは世の中に多いですが、それによってプログラムそのものがハックされることになってしまいます。このあたりの説明は興味を持っているならば、メモリやレジスタ、アドレス、アセンブリ言語などが出てくるので、中学生の自由研究とは離れてしまう上に、難しい内容になってしまうので、本気で興味ある方はC言語をマスターしてみてください。ただ、このあたりは自由に研究しましたよってことで、書くとちょっとパソコンについて知ってる先生は「おぉ!?」っとなるはずです。

■それでも興味ある中学生へ
それでも見てみたいと思うチャレンジ精神もある中学生も居ると思いますので、どうなっているか貼り付けてみたいと思います。さて、こういった命令が書かれております。これはもうC言語をマスターしていないとアドレス、値の代入、関数の呼び出し、など分からないと思いますので、ざっと見るだけで大丈夫です。裏ではこういったことが書かれており、これはセキュリティに強くないプログラマは一切何を書いているのか理解できないレベルです。筆者はこのあたりを個人的に理解を深めているので、解説はできますが、レジスタやスタックだったりデータの扱われ方について日本語でお願いしますレベルの難しさになってしまうので、ここまでにしておきます。そして、大半のセキュリティレベルに興味がない先生は多分回答できない部分です。高校生でも同じくプログラミングは習うと思いますが、教えている先生の大半はこの部分については理解していません。

アセンブラコード

アセンブラコード

最後にreturn0;というものがありますが、これは正常に終了したという意味です。それ以外の数字は異常終了といって、プログラムがクラッシュしたことになります。

ここまでのことを書けば中学生としてのプログラミングの自由研究の内容は充分すぎるくらいです。

自由研究のプログラミングを通して将来が決まった中学生へ

今回、自由に研究してみた結果、どう思ったでしょうか。非常に退屈な内容だったかもしれません。もしくは、かなり興味を持てたかもしれません。将来プログラマになりたかったりする中学生も見ているかもしれません。そんな将来が決まった中学生にですが、今から何をして、何を勉強すればいいのかと思うかもしれませんので、このあたりも現役プログラマのアドバイスとして受け取ってください。そうではない方は読むのはやめて大丈夫です。

今は特に5教科に力を入れて勉強をしていると思います。その中でも、英語、国語、数学はしっかりと勉強しておきましょう。英語はなぜ必要なのかというと、海外の文書を読むために必要です。日本のプログラミング技術は、他国に比べて圧倒的に遅れています。その説明は、もちろん英語なりで解説されているので、それを読み解く力が必要です。国語については、何を書いているか分からないと話にならないので、しっかりとできるように勉強してください。数学については、プログラミングで必要ないこともありますが、必要になるシーンもあるので、やらないよりはやったほうがいいです。自由研究で、このあたりを知れると、普段の勉強にも身が入るのではないでしょうか。

また、これらのほかに、というか一番重要なのが自分で解決する能力は必要です。分からないことは「聞け」ではなく「調べろ」がこの世界のルールです。一見、冷たい世界だなという印象を持ったかもしれません。ただ、こうすることで自分に一番技術力が身につくので、何気にやさしいありがたい言葉なのです。ネット用語で言うところの「ググれ」はまさにやさしい言葉なのです。

最後に、自由研究でプログラミングに興味をもったけど、将来的なことを考えると、マイナスな情報も目にするかもしれません。主に、働くという意味での話ですが、このあたりは気にする必要はありません。どんな職場に行ってもブラックなところはブラックです。もちろん、そうではない職場も筆者は目にしてきました。そして、色々体験して、今は自由な働き方を求め、個人で仕事をしております。YouTubeが宣伝していたような、好きなことで稼ぐみたいなノリです。現実そこまで甘くはありませんが、こういう働き方は筆者は好きです。寝るのも起きるのも時間にとらわれません。仕事さえしていればOKなのです。ご飯の時間だったお風呂の時間だって自由です。好きなものも食べることできます。明らかに中学生より楽してます。

そのためには勉強しましょう。

自由研究でプログラミングだけを中学生に向けて書いている本より、かなり深いことを書いてみました。実際こうやって学べるのもネットがあってこそです。それでは、最後は自由研究とはちょっと話がそれてしまいましたが、プログラミングや将来的な考えに興味が持てている中学生の気力をあげるためのきっかけになればうれしいです。ここまでお読みいただき、ありがとうございました。


スポンサーリンク

シェアする

フォローする

関連コンテンツ+広告
関連コンテンツ+広告