2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ChatGPTがプログラミング学習のパートナーになるか

Last updated at Posted at 2023-03-18

目的

最近ChatGPTの有料プランに加入して色々試しているときに、ふと「誰かに書いたプログラムのレビューをして欲しい。ChatGPTを使ったらプログラミングの学習のパートナーになるのでは...?」と思い立ちました。自分も学習始めの頃は「エラーの内容が英語で書かれているし、何を指摘しているかよくわからない!もういや!」となっていましたが、ChatGPTならもう少し人間に寄り添ってくれるかもしれません。少し実験してみました。

実験

ChatGPTに、以下のような形で少々雑なリクエストを出してみました。人間にこんなお願いをしたら「んな初歩的なこと俺に頼むな」「は?そんなもんググったら一発だろ」「本読め」と罵詈雑言を浴びせかけられること間違いなしでしょう。この誰かに頼みごとをするというハードルがグッと下がるのが、AIの良いところですね。

image.png

そうすると入門用の例題を7つほどつらつらと紹介してくれました。確かに初心者にはちょうどいい難易度かもしれません。

image.png

と、いうことで1番目の問題「1から10までの整数を順番に出力するプログラムを書いてください。」に対して、下記のようなクソコードを投げてみました。さて、どうなるか...

image.png

以下がChatGPTの回答です。うーんさすが...正解ということを判定するのはもちろんのこと、もっとスマートな解答例まで教えてくれる...優しい...

image.png

わざと間違った出力をするプログラムを渡してみる

では、以下のような「エラーではないけど、所望の答えと異なるプログラム」を与えてみましょう。このプログラムでは1〜10だけでなく11も出力されてしまうので、回答的には間違いになります。是非指摘して欲しいところですが...

i=1
while(1):
    print(i)
    if(i>10):
        break
    i=i+1

どきどき...
image.png

うーんこれはダメでした。きちんと誤答であることを指摘してくれません。しかし、しれっと正解のコードを出して訂正してくるあたり、相手を傷つけない優しい性格なのかもしれません。

image.png

いちおうこのことをChatGPTに指摘してみました。ちゃんと自らの非を認めているようだ。これは、なかなかプライドの高くなってしまった人間にはできることではないですね。AIならではの素直さ・謙虚さが伺えます。

image.png

エラーを含むプログラムを渡してみる

次に「エラーが出て実行不可能なプログラム」として、以下のようなプログラムを渡してみましょう。このプログラムでは5行目で"="で比較をしているのでSyntaxErrorが発生しますが、さてこれは指摘してくれるでしょうか。

i=1
while(1):
    print(i)
    if(i=10): # =で比較しているのでSyntaxErrorになる
        break
    i=i+1

おぉ...ちゃんとエラーを指摘してくれました!しかもエラーの発生箇所と、その解決方法まで教えてくれるとはなんとお優しい...

image.png

ChatGPTへのお願いの仕方を変えてみる

もしかしたら冒頭のお願いで「もしエラーがあったら指摘して欲しいな」しかいっていないので、エラーしか指摘してくれないのかも。

というわけでこういうお願いを追加。

image.png

するとエラーだけじゃなくてプログラムの出力結果が所望のものでは無いことも指摘してくれうようになりました!お願いの仕方で教師としての精度が変わるのかもしれません。

image.png

まとめ

今回はプログラミングの学習パートナーとして、ChatGPTが使えるかどうかを実験してみました。結果としてまだ少し粗さはあるものの、こちらのお願いの仕方次第で、かなりの精度でプログラミング学習をサポートしてくれるパートナーになりうると思います。なんといっても、こちらがプログラムをかけるまで、じっと何も言わずに見守ってくれるのが嬉しいです。書籍やオンライン教材などはどうしても学習が単調になりがちですが、ChatGPTを使うことでレビューやディスカッションを行えるようになり、プログラミング学習がより捗るかもしれません。
何より、プログラミング学習初心者がぶつかる「エラーの内容が英語で書かれているし、何を指摘しているかよくわからない!もういや!」という、大きな障壁が取り除かれるかもしれません。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?