Column連載コラム

2021.10.03

【初学者にとってのプログラミング】第1回「取り組む上での注意点、勉強の仕方」

始めまして。
データサイエンスアカデミー事務局の尾上と申します。

このページを見ている方でプログラミング学習を経験された方はどれくらいいらっしゃるでしょうか。
今では小学校でも必修項目となっているプログラミング教育ですが、皆様の中には一度もプログラミングはやったことない、何となく大学でやったような気もするが覚えていないなんて方も多いのではないでしょうか。
未学者の中で一からデータサイエンスを学ぼう、仕事で活用しようとなったときに、このプログラミングというものが一つ大きなハードルになることは間違いありません。
勿論、統計学や分析手法など身に着けていかなければいけない知識は他にもたくさんあります。しかし、それらも全て実際に業務の中で活用しようと思うと、プログラミングによって実装、処理をしていくことになりますので、このプログラミングで躓いてしまうと後々までじわじわと響いてきてしまします。
と、ここまで書くと「自分ではできないのではないか」「今からじゃ遅いのか」と思われる方がいるかもしれません。
ご安心ください。
初めからひとつずつ取り組んでいけばできるようになります。
とはいえ、サービス側としてそう言うしかないのでは??という声が聞こえてくるような気もしますので、受講生の皆様の様子を見ていてよく躓くポイントや学ぶ前の心配ごとを例に、このくらいの意識で取り組もう!ということを数回かけてご紹介していきたいと思います。
今回はそのパート1として初めて取り組む際の注意点と勉強の仕方についてお送りします。

■言語を使うという認識

プログラミング言語というくらいですので、プログラムを動かすために命令文を書くのですが、この言語というものが厄介です。
海外に行った際に流暢な英語や正しい文法の英語でなくても買い物などの簡単なコミュニケーションは取れますよね。(私は高校1年生の時に2週間ホームステイに行きましたが、滞在先の方が日本語を使えたので大半が日本語、それ以外はほぼ単語だけで乗り切りました)
逆に皆様が海外の方から片言の日本語で話しかけられても、何となく言わんとしていることが分かると思います。

しかし、プログラミング言語はそうはいきません。
というのも、相手はコンピュータなので、日本語や英語と違い、言い回しの違いや助詞が違うなどといったニュアンスを許してくれないのです。
正しいルールに則り、正しい文章(コード)で組み立てなければ間違った動作をしたり、そもそもエラーで動かなかったりしてしまいます。
これは学習を始めるうえで結構なストレスとなりますし、普段何の気なしに言語を使っている身としては、プログラミングとはいえ「言語」なのに対応してくれないのかよと思うことも多くあるでしょう。
エラーの箇所や原因は教えてくれますが、どう修正すればいいのかを丁寧に教えてくれるわけではありませんので、エラーが出ている行を自分で確認し、何が間違っているのか考えなければなりません。
初学者の方はここがとにかく大変です。ただでさえコードの書き方や活用方法がおぼつかないのに、そのミスをどう対処するかも自分で考えなければならないのです。
例えば多くの方が初めに見落としてしまうエラーとして、半角スペースと全角スペースがあります。どちらもただの空白なので、初学者の方は特に見落としやすく、私も初めてプログラミングに取り組んだ際、エラーが見つからず途方に暮れた後に、分かったときにはあまりにくだらないミスで膝から崩れ落ちるかと思いました。ミスが複雑であれば勉強した気になるのですが、あまりに単純だと唯々悲しくなります。
特に学び始めた時は、Excelで半角・全角の違いを自動で修正してくれるのに慣れていたため雑に取り組んでしまい、何度エラーで心を削られたことか…。

と、これから取り組みたいと思う皆様のやる気をそぐような嫌な事ばかり書きましたが、ここがまず乗り越えるべきハードルとなります。
では、受講生の方々はどうやって乗り越えているのかを見ていきましょう。

■エラーへの対処

実は一発で解決するような魔法のようなテクニックはないというのが実情です。
逆に言うとテクニックよりも根気、センスよりも努力で何とでもなります。
いい意味で「言語」ですので、とにかく反復練習をし、使っていくことで身につきます。
皆様が未経験であること、学力の高い低いは関係ありません。
以下の通り反復して取り組んでいきましょう。

①とにかく書く(写す)
②自分の書いたものと手本を見比べる
③エラー文をググる
④講師に聞く

①とにかく書く(写す)

これはそもそもの学習法になるのですが、あくまでプログラミングも「言語」ですので、使うことが一番の学習になります。いくらテキストを読み、解説を聞いても使えるようにはなりません。
まず始めはお手本を見ながら一言一句書き写してちゃんと動作することを確かめるというところから始めましょう。
アカデミーでも講師がよく「写経」をしましょうとお話ししますが、まさに「写経」をすることで頭だけでなく体にプログラミング言語というものを覚えさせていくのです。

②自分の書いたものと手本を見比べる

上記①でミスがあったときには手本が間違っているor 写し間違えているの2通りの原因が考えられます。プログラミングは「ここでエラーが出ています」と教えてくれます。そこをとにかく確認しましょう。
前者はともかく、後者であれば自分のミスを修正できますし、次から気を付けられます。
勿論何度も同じミスはするでしょう。すればするほど、自分がプログラミングをする際の注意ポイントとなりますので、根気よく探していきましょう。
また、書き間違えからエラーの原因を理解することで、その部分がどういう動作のためにあるのかの理解が進みます。

③エラー文をググる

それでもエラー原因が分からなければ、考えるのを一旦やめて、そのままエラーとして教えてくれる文章をググってみましょう。コピペでもちろんOKです。
プログラミングを学んで躓いているのはあなただけではありません。先人たちも同様に色々なところで転んでいます。それを調べていけば、自分が転んだ場所やその対処法が分かります。

ただし、これは検索力が試されるという反面もあります。今は特にインターネット上に役に立たないサイトや書き込みが非常に多くあります。(有名人を調べているときに、wikipediaの情報を写して、最後に「どんな人物なんでしょうね?」みたいな締めをしているサイトを見ると時間を返せ!って思いますね)
そんなサイトを排除しつつ、自分の欲しい情報に到達することができなければ解決できないのも事実です。ですので、検索力を付けつつ、学習を進めるようにしていきましょう。
そして、その情報に到達できない、もしくは到達してもうまく読み解けない場合は最後の手段に移りましょう。

[オマケ]
最近、受講生でも増えてきているのがChat GPTやGoogle Bardのような大規模言語モデルを活用するという学習方法です。
やりたい分析やデータ加工のコーディングをそれらにやらせてみせ、正常に動くかどうかをチェックし、自身のコードと見比べるであったり、エラーの原因を尋ねてみるといった形で自身の補助として使っていくことが可能です。
ただ、この難点としては、ちゃんとした質問をしないとズレた回答が返ってきてしまうことです。
また、それに任せきりになってしまうと自身のコーディング能力が向上せず結局プログラミングに対して「読めるけど書けない」という語学の学習で陥りがちな状況になってしまいます。
使いどころ、使い方に注意して有用に使っていきたいですね。

④講師に聞く

結局これしかありません。折角お金を払って学ぶのですから講師を活用しましょう!

Chat GPT等と同じように文章や口頭での質問ができるうえに、当然人間が対応するので細かいニュアンスも汲み取れます!
最初から聞いた方が早いと思う方もいらっしゃると思います。もちろん早さとしてはその通りです。
とはいえ、学習としてという視点で見た時は最後に使うことが大事です。
今後皆様が学習される際は講師がおります。しかしその後はどうでしょうか。先輩や上司に聞くにも、向こうも仕事がありますし、時間をずっと奪うわけにはいかないです。原因が初歩的であればそれが何度も続けば評価につながってしまうかもしれません。
そんなことを防ぐためにもまずは①~③まででしっかりと自分で取り組む力や解決する経験を積みましょう。
とはいえ、ここでは学びの場で合ってお仕事現場ではないですし、初学者では時間がかかってしまうのも事実ですし、それがストレスで何もかも嫌になっては本末転倒です。
ですので、ある程度自分で取り組んでダメだったら講師に聞いちゃいましょう。
弊社の講師は過去何年にもわたりデータ分析やそれに伴うプログラミングに取り組んできた猛者です。
皆様が躓く箇所は既に何年も前にちゃんと躓いてきています。
その経験を駆使し、皆様のサポートを行っていきます。
ですので、最後にはちゃんと解決してもらえるという保証の元、是非一心不乱に取り組んでください。

このように、主体的に学びつつ講師のサポートを受ければ必ずスキルは見につきます。
しっかりと時間を取って取り組むことで自分の将来をより良いものにしていきましょう!

ということで第1回は以上です。
次回のテーマは「求められる知識量、習熟度」です。
よろしくお願いします。

データサイエンスアカデミーでは、
無料個別相談・セミナーを実施中!
お申し込みはこちら

Archiveアーカイブ