話題のChatGPTですが、日常で使う場面も増えてきたと感じています。今回は、活用例でよく挙げられるプログラミング学習への活用を試してみたいと思います。
学習内容を決める
今回はC言語の学習を進めたいと思います。ChatGPTに例題を出してもらい、解答と解説を表示してもらう形で進めていきます。
一応、C言語はある程度学習した経験があるのですが、プログラミングの復習も兼ねて初心者でも理解できるような問題を出題してもらうよう調整したいと思います。
ChatGPTにアクセス
早速、ChatGPTにアクセスします。
ログイン方法は他の記事を参考にしてください。


学習開始
質問文を送る
「初心者としてC言語の学習をしたいと思っています。簡単なプログラムの例題を出題してください。」と入力すると以下の返答が返ってきました。



少々抽象的な質問をしてしまいましたが、3つ簡単な問題と解答を出力してくれました。各問題で重要な関数の解説もしてくれています。
解説を求める
初心者の想定のため、より詳しい解説を求めて「1行ずつプログラムの解説もお願いします」と送ってみます。



要求通り1行ずつプログラムを解説してくれました。書式指定子なども簡潔に説明していて勉強になります。
復習問題も出してもらう
学習を進めたら復習もしたいと思うので今回出題された3問にある関数を用いた復習問題を出題してもらいましょう。答えが表示されてしまうかもしれないので、答えは載せないよう要求しておきます。
「これら3問の学習内容を復習できるような問題を出題してください。その際、解答は書かないでください。」と送ってみました。

コードなしで先ほどの問題を出題してくれました。
回答を誤ってみる
HelloWorld問題への回答を間違えてみます。
「printf(“Hello, World!\n”);」の部分を「printf(“Hello, World!\d”);」と改行の「\n」の部分を間違えて送信しました。

間違えた部分をしっかり訂正してくれました。
しかし、セミコロンが不要であるという他の言語と混ざった訂正がされてしまいました。C言語ではセミコロンが必須であることに注意です。
まとめ
今回は簡単な3問しか試さなかったのですが、ChatGPTでプログラミング学習は十分できそうに感じました。ChatGPTでは質問文(プロンプト)の改善でより精度の高い出力を得られる事例もあるので、もっと触ってみて良いプロンプトを見つけられたらさらに学習効率を高められそうです。
しかし、最後の訂正のように誤りが生じることがあるようなので、ChatGPT単独の学習だけでなく書籍や学習サイト、関数のリファレンスをチェックしながら実践に移す時に使うとさらにプログラミングの力が養えそうですね。
ここまで読んでいただきありがとうございました。
