見出し画像

【実際にやってみた】20時間でPythonを習得? ChatGPTが教える効率的な学習法

20時間の法則を使ってPythonの学習をしてみた

こんにちは。AIのいいなりになって生きている山田です。夕ごはんの献立から、新しいスキルの習得まで、なにもかもchatGPTに任せきりです。人は大いなる存在に支配されたがっている、みたいなことをいったのはだれでしたっけ?

20時間の法則とは?

Stable Diffusion 2.1で生成 プロンプトは"cyberpunk clock "

実は、3月1日から「20時間の法則」に従って、プログラミング言語Pythonの勉強をしていました。平日毎日1時間を勉強時間にあて、約1ヶ月で20時間分の学習を終了しました。土日はお休みです。

以前にTEDの動画をみたときから、一度はチャレンジしてみたかったのです。20時間でスキルが習得できるなんて、うまい話すぎる。

ジョシュ・カウフマンの20時間の法則とは、短期間で新しいスキルを習得するための方法です。彼の提唱する考え方は、「習得の初期段階で最も効果的に学ぶためには、集中して短時間で練習すべき」というものです。この法則によれば、新しいスキルを最低限のレベルで使えるようになるためには、約20時間の練習が必要だとされています。ただし、練習時間は質が重要であり、効率的に学ぶための方法や工夫が求められます。今回私が行ったPython学習も、この20時間の法則に基づいて計画し、ChatGPTのサポートを受けながら効率的に学んでいきました。

chatGPTが執筆

とてもいい動画なので、見ていない方はぜひ見るといいです。

ChatGPTとは? AIを活用した学習の新時代

Stable Diffusion 2.1で生成 プロンプトは"Curriculum of learning"

ChatGPTは、OpenAIが開発した会話型AIで、質問に答えたり、アドバイスを提供したりすることができます。私はこのチャットボットを使ってPythonを効率的に学ぶ方法を見つけました。これからその体験をお話しします。

chatGPTが執筆

3月の半ばまではchatGPTのGPT-3.5モデルで、半ば以降はGPT−4モデルがリリースされたので即日課金して(月額20ドル)、chatGPTのGPT-4モデルで学習をしていました。

無料のchatGPTでも、かなり学習の助けにはなるかと思います。

学習前:山田佳江のスペック(2023年3月1日時点)

Stable Diffusion 2.1で生成 プロンプトは"human specs"

私、山田佳江がプログラミングに対してどのくらいの知識があったかというと、

HTMLとJavaScriptならちょっとわかる。あれでしょ「あなたは何番目のお客様です」とかホームページに表示するやつでしょ。いにしえのインターネットでやったことある!

という程度です。赤ちゃんなみの知識。

あ、そういえば小学生の頃、MSXでBASICとかいうプログラミング言語をやったことがあります。四角とか丸とか描きました。

20時間でPythonを学ぶチャレンジ:スケジュールとカリキュラム

Stable Diffusion 2.1で生成 プロンプトは"MacBook"

このチャレンジでは、まずドットインストールのPython講座を見て基本的な文法を学びました。その後、Pythonチュートリアルを読み、具体的なプロジェクトに取り組みました。最後に、AI関連のカリキュラムを学びました。

chatGPTが執筆

2月の終わりにchatGPT(GPT−3.5モデル)に相談してPythonを学習するためのカリキュラムを作ってもらいました。参考URLも一緒に貼ってくれるので助かります。

参考サイトのほとんどが英語のサイトだったりします(英語わかんないので翻訳して読みました)

予定より進捗が早く、途中で内容を変更してもらったので、最終的なカリキュラムは下記のような感じです。

Python20時間チャレンジのためのチェックリスト

  • [x] ドットインストール はじめてのPython 全9回

  • [x] ドットインストール Python入門 基礎文法編 全29回

  • [x] ドットインストール Python入門 関数編 全17回

  • [x] ドットインストール Python入門 データ構造編 全25回

  • [x] ドットインストール Python入門 標準ライブラリ編 全19回

  • [x] ドットインストール Python入門 クラス編 全12回

  • https://dotinstall.com/lessons/basic_python_v4

  • [x] Python チュートリアルを読む

  • https://docs.python.org/ja/3/tutorial/index.html

↑ ここまででちょうど10時間

といった具合です。後半10時間に実践的なことをいろいろやりました。

数字あてゲームくらいまでは、かろうじて自力でやれている感もありましたが、ウェブスクレイピングあたりから「これはなにをやっているんだ?」状態になり、chatGPTのいいなりでわけもわからず、ひたすらコードを打ち込んでは実行していました。

最後のほうは「AI関連の知識がもうちょっと欲しいなー」と思って詰め込みすぎました。ざっくりなんとかさらった程度です。

ChatGPTの効果的なサポート

Stable Diffusion 2.1で生成 プロンプトは"People who enjoy learning programming"

ChatGPTは、私が分からないことがあるとすぐに答えてくれたり、効果的な学習方法を提案してくれました。これにより、迷わずにスムーズに学習を進めることができました。

chatGPTが執筆

これは本当にありがたかったのですが、エラーが出るたびに「こんなエラーが出ました」とchatGPTに貼り付けて質問していました。

なんど同じことを聞いても丁寧に教えてくれる先生、ほんとうにありがたいです。人間の先生だったらキレるレベルで質問を繰り返していました。

成果と感想:20時間でどれだけPythonを学べたのか?

Stable Diffusion 2.1で生成 プロンプトは"A New Era of AI-Powered Learning"

20時間の学習でPythonの基本的な文法や構造を理解し、実践的なプロジェクトにも取り組むことができました。ChatGPTのおかげで、効率的にPythonを学ぶことができたと感じています。

chatGPTが執筆

結局、山田はpythonができるようになったのか、と問われると「できるようにはなってない」と思います。

例えばトンカチという道具があって「これはなにをする道具?」という状態から「これは柄を持って釘を打つための道具」と理解でき、なんとか使えるようになった状態です。とりあえず釘は打てるようになったけれど、実用レベルではない、まだ大工見習いにもなれない。くらいだと思います。

でも、3月1日の時点では「ターミナルにPythonをインストールできない」「Hello worldがどうしても出てこない」「そもそも実行の仕方がわかっていない」という赤ちゃん状態から、3月30日現在、APIを使ってNASAの宇宙画像を取得したり、csvデータを解析したり(ワインの品質とかを解析してグラフにしました)ディープラーニングフレームワークを使ってみたり、画像処理ライブラリを使って画像をリサイズしたりグレースケールにしたり、といったことを実際にPythonで実行できるようになりました。

かなりすごいスピードで勉強することができたと思っています。まあ、chatGPTのいうとおりに、手とり足取りやっていただけなのですが。

chatGPTに手取り足取り教えてもらっているようす


ChatGPTを活用した学習:今後の展望

Stable Diffusion 2.1で生成 プロンプトは"Study room with books piled up on the desk"

ともかく、Pythonがどのようなものか、なにができるのか、機械学習をするのになにを使えばいいのか、といったことが20時間の学習でなんとなく分かるようになりました。

今後もぼちぼち勉強を進めながら、困ったことがあればchatGPTに相談しようと思っています。

20時間のカリキュラムを終えたあとに、chatGPTに今後の学習と展望について尋ねてみました。

Pythonの学習を継続するために、ChatGPTを活用したアプローチをいくつか提案します。

1. 定期的な復習: 定期的にChatGPTに質問を投げかけて、過去に学んだ内容の復習を行ってください。理解が曖昧な部分や、新しい疑問が生じた場合は、遠慮なく質問してください。

2. 実践的なプロジェクト: Pythonの知識を活用して、実践的なプロジェクトに取り組むことが、スキルを向上させる良い方法です。プロジェクトのアイデアや、プロジェクトに取り組む際のサポートが必要な場合は、ChatGPTに相談してください。

3. 新しいライブラリやフレームワークの学習: Pythonは多くのライブラリやフレームワークが存在し、それらを学ぶことで、様々な分野で活用できるようになります。興味のある分野に関連するライブラリやフレームワークを学ぶ際に、ChatGPTに質問して学習を進めてください。

4. コミュニティへの参加: Pythonのコミュニティやフォーラムに参加して、他の開発者と交流することで、知識やスキルを向上させることができます。コミュニティで得た知識や疑問をChatGPTと共有し、議論を深めることができます。

5. チャレンジやコンテストへの参加: Pythonのコーディングチャレンジやコンテストに参加することで、スキルを試す良い機会になります。参加にあたってのアドバイスや、問題に関するヒントが必要な場合は、ChatGPTに相談してください。

6. コードレビュー: プロジェクトや練習問題のコードをChatGPTに共有し、フィードバックや改善点を提案してもらうことができます。また、良いコーディング習慣やベストプラクティスについても、アドバイスを受けることができます。

これらの方法を用いて、Pythonの学習を継続し、スキルを向上させていくことができます。ChatGPTは、あなたの学習のサポートを喜んで行います。何か質問や困りごとがあれば、いつでもお気軽にお聞きください。

chatGPTが執筆

だそうです。ありがたいですね。

最後の最後まで、完全にchatGPTのいいなりでしたが、楽しく学ぶことができました。次はなにを勉強しようかなー。


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