見出し画像

プログラミングは2ステップを意識しないといきなり躓くって話

こんちゃっす、あいじっとです。

今日はプログラミング学習について思うところがあったので書き綴りたいとおもいます。

きっかけ

プログラミングを教えている生徒の進捗が悪く、なかなか成果が上がらない日が続いていました。
質問の内容や、学習の感じを聞いていると思うところがありました。

ここを直さないと、考え方を変えないといけないんだろうなってことがあったので、学習の参考にしてもらえればとおもいます。

教材の通りにプログラミングをして「動いた」はゴールではない

最近は多くのプログラミング教材がありますね。
入りは大抵「Hello World!」ではないでしょうか?

こんな単純な文字出力でプログラミングの世界に入ると、さまざまなプログラミング実習を通してプログラミングを学んでいきます。

キーワードの説明やソースコードの解説、ソースコードそのもの、そして正しく動いた時の動作結果(出力結果)で1セットになってることがほとんどですね。
なので、その通りに書けば、その通りに動くのは当たり前です。
(たまーに、教材が間違っていることもあったりしますが、、、(笑))

なので、教材通りに動かないのであればソースを見直しましょう。

さて、動くのは当たり前なのです。
動いてからが勉強です。自分の書いたソースの何が、どう動いて、どう作用して、その結果を生み出しているのか。
教材通りに書いて動いて満足ではいけません。
たとえ教材通りに書いたとしても、自分の書いたソースには責任を持って理解をしましょう。

仕事になってから

ネットのソースをコピペしたから、詳細はわかりません

なんてものは通りませんからね。

プログラミングの1ステップ

それは上で書いたとおり、自分の書いたソースを理解することです。
プログラミングはプログラミング言語に用意されたパーツを組み合わせて作品を作っていきます。

自分で1から考えて好きなように書くものではありません。

なので使える部品の理解が大切です。

教材を使った勉強では、教材通りに書いて教材通りの出力結果が得られたらOKではなく、自分で書いたソースの理解をきっちりと進めましょう。

ソースの理解ができたら作品が作れるのか

答えは「No」です。
この後にアルゴリズムと言う壁が立ちはだかります。

○○が作りたいんですが、何から始めたら良いか分かりません

と言う質問を見かけました。
これは完全にアルゴリズムにやられていると思います。

プログラミングの基礎は学んだ。
この言語ならテストで100点取れるぜ、よっしゃー

となっても作品が作れないのがプログラミングです。
アルゴリズムと言うのは「手順・やり方」のことです。

自分の作りたいものが決まった後、どのような処理手順でそれを作るか考えないといけないわけですね。

プログラミングの2ステップ

アルゴリズムを考えることが絶対に必要になります。
そして、教材の勉強のみで満足すると絶対に不足する力だとおもいます。

教材はアルゴリズムを考える必要がありません。
もしかしたら巻末の練習問題などでは考えないといけないものもあるかもしれませんが、教材としての解説をしなくてはいけない以上、複雑なアルゴリズのものは教材には不向きだと思っています。

アルゴリズムが違えば、書くコードも変わってくるので解説はしにくいですからね。

プログラミングで作品を作るために

ここまでの話の通り

・ソースコードが書けること、部品が使えること
・アルゴリズムを考えられること

がプログラミングでの作品作りには必要になってきます。
勉強してみて、作品作りで止まってしまった方は一度「アルゴリズム」の部分を考えてみましょう。

アルゴリズムを考えながらソースコードを書くのは難しいものです。
アルゴリズムを先に考えてから、それをソースコードにしていきましょう。
アルゴリズムを考える際は「フローチャート」など、自分がイメージしやすいツールを使用すると良いとおもいます。

アルゴリズムを細分化していくと、ソースコードとして準備されているものにたどり着けるとおもいます。

たとえば、「目玉焼き」を作るときに

目玉焼きを作る

と言うものが準備されていれば、アルゴリズムはこれで終了です。
しかし、用意されていなければ

卵を用意する
フライパンを用意する
卵を焼く

になりますね。
「卵を用意する」が無ければ

卵を冷蔵庫から出す
卵を割ってボウルに入れる
卵をとく

になるかもしれません。そうやって、手順を細かくしていくことでプログラミングもやりやすくなるかもしれませんね。

この記事が気に入ったらサポートをしてみませんか?