
Let'sプログラミング! 学習のコツ&ChatGPTの活用方法
今回はプログラミングをこれから始めようと思っている方向けにお話します!
「プログラミング」というワードからあなたは何を想像しますか?

私が大学時代に初めてプログラミングに出会ったときはこのような感想をもちました。
「何かめちゃくちゃ難しそう!でもできるとサーバとかマシンとかを動かせちゃうすごい技術だ!」
と思っていました。
最初はワクワクしながら学習していたのですが、
次第に周りのレベルを気にし始めました。

「プログラミングをサクサク進められる人をみると敵わない・・・やっぱ自分はプログラミング向いてないかも・・」
と考えるようになり、
私も大学時代、プログラミング課題にはとても苦労しました。周りにデキる人ばかりでやる気を失うことも・・・
でもなぜか、悔しさはあり学習は続けました。
その後、無事に大学卒業し、高校の情報科教員としてプログラミングを指導する立場になりました。
今となっては本当にやって良かったと思っています。
私の「プログラミング熱」にさらに火をつけてくれたのがシリコンバレーで活躍されている酒井潤さんのUdemyプログラミング講座でした。
レベルは少々高いのですが、実践的な内容に心打たれ映像を通してスキルアップを図ることができました。
話を戻しますが、プログラミングは筋トレと同じと言われています。
だからこそ、
自分のペースで学習を進めてみる、
ある程度できるようになったら
アウトプットして作品を作って人に見せる
ことがモチベアップにつながります!
興味がある方は1度、プログラミングの世界に踏み出してみませんか?

学習方法
今はYoutubeやUdemyなどの映像講座、ProgateやPaizaなどのプログラミング学習サイトも充実しています。
ChatGPTを始めとしたAIが進んできています。
それらを活用するとより効率的に学習ができますよ!
私はもともとC言語を大学時代に勉強していました。
当時はテキストとWebページを漁りながら勉強していました。エラーを解決するのに1日かかることもあり、苦労を思い出します。
プログラミング初心者のつまづきポイント
プログラミング初心者あるあるとして以下のつまづきポイントがあります。
解決方法も合わせて記載します。
その1:キーボードに慣れていない
今はIDE(ソースコードを書くためのエディタ)が進化しています。以下のように入力中のコードから候補が表示されますのでスムーズに記述することができます。
以下はメジャーなIDEの1つ、MicrosoftVisualStudioCodeの画面です。

でもキーボードに慣れたい!という方はタイピングサイト「寿司打」をおすすめします!
プログラムでは()や"といった記号を頻繁に使いますので1つでも入力キーを覚えておくとスムーズかと思います。
その2:エラーが嫌になっちゃう
プログラミングではエラーがでてしまうのは当たり前です。エラーを読み取ることもプログラミングスキルですので、投げ出さず向き合ってみましょう!
1つでも解決できると自身につながりますよ!
そして、エラーこそChatGPTの出番です。このエラーは何?って聞いてみましょう!
無料のGPT3.5でも十分な回答が返ってきます。
例えば、
print("Hello!")
で文字列Hello!が表示されるのですが、最後のカッコ)が記述されていないためにエラーが発生しています。

初心者ですと英語の羅列で何がなんだか・・・って思いますよね。
エラー内容を拾っていくと
'(' was never closed
と書かれていますから、どうもカッコがないんだろうなーということに気がつきます。
今回のエラーは比較的わかりやすいのですが、コードを書いていくと様々なエラーに出会います。
ここでは思い切ってGPTに聞いてみましょう。
以下のように質問してみます。

プロンプトでは「あなたは優秀なプログラマです」と加えておきます。
そうするとAIはプログラミングについてフォーカスした回答を返すようになります。
エラー内容だけでなく、プログラムも質問内容に入れます。
このエラーって何?って言われてもプログラム自体を見ないとわからないですからね。

以下のように回答が返ってきました。正しいソースコードも返ってきますのでとても便利です!

カッコ)が記述されていなかったことが原因であることがわかりました。
ChatGPTでは様々なプログラミングの質問について精度の高い質問を返してきます。
今回はこれで以上です。
私のnoteではプログラミング(Python)について初心者向けに記事にしていますので是非活用してみてください!
