見出し画像

【Tips08】プログラムの動きを「可視化」する

 プログラミングを学び始めの人が直面する難しいことの1つが、プログラムの動きがわからないという点です。基本的にプログラムは1行ずつ実行されていきますが、以下のような動きはプログラム作成中も作成後も見ることができません。

 例えば、自分で書いたコードが期待した結果にならない場合、何が問題なのかを突き止める必要があります。コードに改めて目を通し頭の中でどう動くかを想像しながら動かない原因を探るのですが、経験の少ない学習者にとってこれは難しいことです。

ChatGPTでソースコードの動きを可視化する

 その解決方法として、ChatGPTに「可視化」をサポートしてもらうことが
できます。作成したプログラムを示して、以下のような質問をしてみましょう。

上記のソースコードの変数a, b, cがどう変化していくかについて、
ビジュアル化して理解しやすく解説してください。

《プロンプト例》

このPythonのソースコードの変数a, b, cの変化をステップごとに
ビジュアル化して説明します。

《ChatGPT回答》

 ここでは、変数への代入と演算を行うサンプルプログラムを引用し、「以下のソースコードの変数a, b, cがどう変化していくかについて、ビジュアル化して理解しやすく解説してください」と質問しました。回答を見ると、ステップごとに変数a, b, cの値がどうなっているか視覚的に表してくれています

 このようにChatGPTは与えられたプログラムを読み取り、それを解析・計算する能力があります。その特性を生かしてプログラムの実行過程を可視化しました。

 プログラムが期待通りの結果にならない場合、その問題点を探る作業をデバッグと呼びます。ここで紹介したChatGPTの「可視化」は、入門者のためのデバッグであるといえるでしょう。

《コラム》1行1行を理解して原理を押さえる

【生成AI時代の学習マインドセット その5】
 「プログラミングスキルが身に付いた」というのは、自分が作成したコードの1行1行が何を行っているかを説明できる状態です。私がプログラミングを教える際は、よくこの方法で理解度をチェックしています。プログラムを十分に理解していなくても、たまたま期待した結果が得られる、ということがよくあります。しかし各行の役割や機能をしっかり理解していないと、その他のシチュエーションに応用することはできません。

学び始めのうちはコードの各行の意味を理解するのは難しく、多くの時間がかかります。またスクールなどに通っていても、講師に1行ずつ説明してもらうのは時間がかかりすぎて気がひけるでしょう。しかし、ChatGPTを使えば、丁寧に1行ずつ解説してくれます。

 各行を理解するには、その処理の裏側、つまり原理を理解する必要があります。原理を理解するというマインドセットは、あらゆる技術の学習で重要です。ChatGPTを活用して各行の処理を理解していくと、原理を押さえるスキルとマインドセットを獲得することができます。作成したプログラムやサンプルコードなど、何を行っているかわかりにくいコードは積極的にその動きを可視化することをお勧めします。


【発売前公開】「ChatGPT×プログラミング勉強法」を20,000文字だけ公開します

目次はこちらから

ご購入はこちらから

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