初心者向け◎ ChatGPTをつかった「AIプログラミング」独学勉強法!
こんにちは! なつめ(ライター)です。
WordPressプラグインの開発が佳境を迎え、てんやわんやな深夜。息抜きもかねて、執筆(現実逃避)していますw
ChatGPTを家庭教師にすれば、センスに関係なく誰でも、プログラミングの独学は可能! AI時代ならではの勉強法を、超わかりやすく解説していきますね。
3行で要約
③を別の言葉であらわすと、「頭」で4割わかったらコードを試してみる工程です。「試す」は「写す」ですが、場合によっては紙とペンを利用しても構いません。手をうごかすことで、言外に含み隠されている「何か」を汲み取れる訳です。
1.AI時代は「問題」ではなく「解答」が起点だからこそ、愉快痛快!
サブスクって「2ヶ月無料(解約しないと3ヶ月目から、月額1,980円ね!)」のように、お試しが長いと、ついつい入っちゃいますよね。
気づけば解約を忘れ……
例えばSpotify。アプリからの解約が無理なせいか、春にはやめよう.....そう思ったのに2024/7月現在も、がっつり使っちゃっています。
ですがChatGPTにお願いすれば、2分後にはサブスク管理アプリの爆誕! です。
サンプルコードとの向き合い方は後ほど解説しますが、小規模なアプリなら初心者でも2分で完成してしまう。これが、AIのおおきな特徴! ですがつくって満足! 愉快痛快! では、「プログラミング」は身につきません。
まずはAIが教えてくれたコードを、動かして遊ぶ。いったん動いたなら、頭と体で8割は理解する。
これぞ解答を起点とした、AI時代の逆算独学法といえましょう。
Python版・サブスク管理アプリ
コードを掲載しますので、興味があえばPythonをWindowsやMacにインストールして、いったん動かしてください。
うげぇ~って感じた場合は、読み飛ばしてもOKですよ!!!
(以下、うげぇ~注意⚠️)
import tkinter as tk
from tkinter import messagebox
from tkinter import ttk
import datetime
# サブスクを保存するためのリストを作成
subscriptions = []
# サブスクを追加する関数
def add_subscription():
name = entry_name.get()
price = entry_price.get()
end_date = entry_end_date.get()
# 入力のバリデーション
if name and price and end_date:
try:
# 日付のフォーマットチェック
end_date_obj = datetime.datetime.strptime(end_date, "%Y-%m-%d")
subscription = {"name": name, "price": price, "end_date": end_date}
subscriptions.append(subscription)
listbox_subscriptions.insert(tk.END, f"{name} - {price}円 - {end_date}")
entry_name.delete(0, tk.END)
entry_price.delete(0, tk.END)
entry_end_date.delete(0, tk.END)
except ValueError:
messagebox.showwarning("Input Error", "Please enter the end date in YYYY-MM-DD format.")
else:
messagebox.showwarning("Input Error", "Please enter name, price, and end date.")
# サブスクを削除する関数
def delete_subscription():
selected_index = listbox_subscriptions.curselection()
if selected_index:
listbox_subscriptions.delete(selected_index)
subscriptions.pop(selected_index[0])
else:
messagebox.showwarning("Selection Error", "Please select a subscription to delete.")
# メインウィンドウの設定
root = tk.Tk()
root.title("Subscription Manager")
# サブスク名のラベルとエントリ
label_name = tk.Label(root, text="サブスク名")
label_name.grid(row=0, column=0, padx=10, pady=10)
entry_name = tk.Entry(root)
entry_name.grid(row=0, column=1, padx=10, pady=10)
# サブスク価格のラベルとエントリ
label_price = tk.Label(root, text="月額いくら?")
label_price.grid(row=1, column=0, padx=10, pady=10)
entry_price = tk.Entry(root)
entry_price.grid(row=1, column=1, padx=10, pady=10)
# 無料期間終了日のラベルとエントリ
label_end_date = tk.Label(root, text="無料お試しっていつまで?(例:2024-08-08)")
label_end_date.grid(row=2, column=0, padx=10, pady=10)
entry_end_date = tk.Entry(root)
entry_end_date.grid(row=2, column=1, padx=10, pady=10)
# サブスクを追加するボタン
button_add = tk.Button(root, text="サブスク追加!", command=add_subscription)
button_add.grid(row=3, column=0, columnspan=2, pady=10)
# サブスクを表示するリストボックス
listbox_subscriptions = tk.Listbox(root, width=50)
listbox_subscriptions.grid(row=4, column=0, columnspan=2, padx=10, pady=10)
# サブスクを削除するボタン
button_delete = tk.Button(root, text="とりま削除!", command=delete_subscription)
button_delete.grid(row=5, column=0, columnspan=2, pady=10)
# メインループを開始
root.mainloop()
今回はTkinterは「ティーケーインター」を使って、マウスで操作できるようにしています。TkinterはPythonの愉快な標準装備! ほんのちょびっと勉強すれば、デスクトップアプリを作成できてしまうすぐれものです。
Pythonをインストールすれば、どのPCでもかんたんに動かせます。
これらの《?》こそ、プログラミングの独学を成功させる《エントリーポイント》です! 幸いChatGPT4は、無料で家庭教師をしてくれます。このビックチャンスをフル活用し、「頭」で4割、「体」で4割! 合計80%の理解を目指しましょう。
では上記のようなコードを、どんな質問で理解・体得すればいいのでしょうか!? プログラミング初心者を対象に、詳しく解説していきますね。
2.コードの解像度を上げ、「頭」でつかむ
繰り返しになりますが、ChatGPTが教えくれたコードは、頭で4割・体で4割理解するのがポイント! まずは頭でつかむための、質問(プロンプト)を紹介します。
日本語入力ソフトに登録しておくとはかどりますよ!
質問(プロンプト)のコツ: 《?》を《わかった》に!
例えば「こう」と入力すると、Google日本語入力で、「の意味を高校生でも分かるように、ベストプラクティス、かつ最もシンプルなサンプルコードでカリスマ講師のように教えて」と表示されるように設定します。
このショートカットを利用し、
と、GPTに質問してみます。
ぜひコピペして、あなたのGPTにも質問してみてください。
GPT先生の体験授業を通じて、Tkinter(ティーケーインター)の「シンプル解説」を確認しておきましょう。
Tkinterの説明
Tkinterを使ったシンプルなサンプルコード
import tkinter as tk
# ウィンドウを作成
root = tk.Tk()
root.title("Hello, Tkinter!") # ウィンドウのタイトルを設定
root.geometry("300x200") # ウィンドウのサイズを設定
# ボタンがクリックされた時の動作を定義
def on_button_click():
label.config(text="Button Clicked!")
# ボタンを作成
button = tk.Button(root, text="Click Me!", command=on_button_click)
button.pack(pady=20) # ボタンをウィンドウに配置し、パディングを設定
# ラベルを作成
label = tk.Label(root, text="Welcome to Tkinter!")
label.pack(pady=20) # ラベルをウィンドウに配置し、パディングを設定
# メインループを開始
root.mainloop()
今回は「うまく質問し、頭と体で理解!」が目的なので、この小さくてシンプルなコードを理解してみましょう。
実行すると,,,
ここから本格的に《?》を《わかった》に転換していきたいですね! いまは筆者が同時通訳者になったつもりで、GPTに次のように質問します。
ギャルGPTの活用術は、下記のnoteを参考にしてください。
さっそく「ギャルGPT」が、初心者に寄り添った解説を、コード内に書いてくれたようです!
import tkinter as tk # Tkinterをインポートするよ!これでGUIを作る準備OK
# ウィンドウを作成
root = tk.Tk() # メインウィンドウを作るよ!
root.title("Hello, Tkinter!") # ウィンドウのタイトルを設定するよ!ここはウィンドウの名前だよ!
root.geometry("300x200") # ウィンドウのサイズを設定するよ!幅300ピクセル、高さ200ピクセルだよ!
# ボタンがクリックされた時の動作を定義
def on_button_click(): # ボタンがクリックされたら何するか決めるよ!
label.config(text="Button Clicked!") # ラベルのテキストを「ボタンクリックされた!」に変えるよ!
# ボタンを作成
button = tk.Button(root, text="Click Me!", command=on_button_click) # ボタンを作るよ!「クリックして!」って書いてあるよ!
button.pack(pady=20) # ボタンをウィンドウに配置するよ!上下に20ピクセルの余白をつけるよ!
# ラベルを作成
label = tk.Label(root, text="Welcome to Tkinter!") # ラベルを作るよ!「Tkinterへようこそ!」って書いてあるよ!
label.pack(pady=20) # ラベルをウィンドウに配置するよ!上下に20ピクセルの余白をつけるよ!
# メインループを開始
root.mainloop() # ウィンドウを表示して、ユーザーの操作を待つよ!これがないとウィンドウがすぐ消えちゃうよ!
なんと! 気持ち的にもわかりやすいですね。上記解説内に《?》があれば、それもGPTに質問し、《わかった》に転換していきましょっーーー!
3.40%わかったら、「体」にインストールする
次は実際に「素読」をします。
素読とは元々漢文や文章術などの学習法を指し、「よく意味はわかんないけど、先生のお手本を試してみる」やり方です。
日本語でも新しい言葉を身につけるときって、辞書でなんとなーくの意味をつかみ、会話や文章などで「素読する(試す)」と、血肉になっていきますよね。
このnoteの冒頭では、あえて耳慣れない言葉で挨拶をしてみました⤵︎ ︎
「佳境」ってあんまし使わない「新語」ですよね。この文脈ですと、佳境は「ある状況の頂点」を意味します。
物語が佳境に入る
プロジェクトが佳境を迎える
といったイメージ!
ですがこうして佳境の意味を「頭」でわかっても、会話や文章などで、つかってみないと身につきません。
プログラミングは「頭で4割」理解したならば、「体でも4割」を覚える。そうしてはじめて、"マイリス"に入る、というわけです!
シンプルで小さなコードを、頭と体で理解するたびに、ポケモンカードをGETできる感覚! と言えましょう。
まとめ: 小さく分ければ楽勝!
大きな《?????》を、小さな《?》にわけて、かんたんそうな(弱そうな)やつから、ガンガンGETして、手札を増やしていけば◎! 初心者でも驚異的に独学がはかどります。
ChatGPTは、20万円、30万円のプログラミングスクールを越える家庭教師ですからね!
やばい! コーラのみたい!! (唐突)
▼関連記事▼
以上、なつめ|ライターでした!
ここまで読んでくださり、ほんっとーにありがとうございます。感想・質問コメントも大歓迎ですよ。 ではまた!