![見出し画像](https://assets.st-note.com/production/uploads/images/101520109/rectangle_large_type_2_f0f1c7796bfc661042fb25754902ea18.png?width=800)
【実際にやってみた】20時間でPythonを習得? ChatGPTが教える効率的な学習法
20時間の法則を使ってPythonの学習をしてみた
こんにちは。AIのいいなりになって生きている山田です。夕ごはんの献立から、新しいスキルの習得まで、なにもかもchatGPTに任せきりです。人は大いなる存在に支配されたがっている、みたいなことをいったのはだれでしたっけ?
20時間の法則とは?
![](https://assets.st-note.com/img/1680145262743-Lbf6AGKnOx.jpg?width=1200)
実は、3月1日から「20時間の法則」に従って、プログラミング言語Pythonの勉強をしていました。平日毎日1時間を勉強時間にあて、約1ヶ月で20時間分の学習を終了しました。土日はお休みです。
以前にTEDの動画をみたときから、一度はチャレンジしてみたかったのです。20時間でスキルが習得できるなんて、うまい話すぎる。
ジョシュ・カウフマンの20時間の法則とは、短期間で新しいスキルを習得するための方法です。彼の提唱する考え方は、「習得の初期段階で最も効果的に学ぶためには、集中して短時間で練習すべき」というものです。この法則によれば、新しいスキルを最低限のレベルで使えるようになるためには、約20時間の練習が必要だとされています。ただし、練習時間は質が重要であり、効率的に学ぶための方法や工夫が求められます。今回私が行ったPython学習も、この20時間の法則に基づいて計画し、ChatGPTのサポートを受けながら効率的に学んでいきました。
とてもいい動画なので、見ていない方はぜひ見るといいです。
ChatGPTとは? AIを活用した学習の新時代
![](https://assets.st-note.com/img/1680150432975-Zux2agYAnt.jpg?width=1200)
ChatGPTは、OpenAIが開発した会話型AIで、質問に答えたり、アドバイスを提供したりすることができます。私はこのチャットボットを使ってPythonを効率的に学ぶ方法を見つけました。これからその体験をお話しします。
3月の半ばまではchatGPTのGPT-3.5モデルで、半ば以降はGPT−4モデルがリリースされたので即日課金して(月額20ドル)、chatGPTのGPT-4モデルで学習をしていました。
無料のchatGPTでも、かなり学習の助けにはなるかと思います。
学習前:山田佳江のスペック(2023年3月1日時点)
![](https://assets.st-note.com/img/1680148981326-hVNVZ6fcRE.jpg?width=1200)
私、山田佳江がプログラミングに対してどのくらいの知識があったかというと、
HTMLとJavaScriptならちょっとわかる。あれでしょ「あなたは何番目のお客様です」とかホームページに表示するやつでしょ。いにしえのインターネットでやったことある!
という程度です。赤ちゃんなみの知識。
あ、そういえば小学生の頃、MSXでBASICとかいうプログラミング言語をやったことがあります。四角とか丸とか描きました。
20時間でPythonを学ぶチャレンジ:スケジュールとカリキュラム
![](https://assets.st-note.com/img/1680150453474-LmA9Ha9zuh.jpg?width=1200)
このチャレンジでは、まずドットインストールのPython講座を見て基本的な文法を学びました。その後、Pythonチュートリアルを読み、具体的なプロジェクトに取り組みました。最後に、AI関連のカリキュラムを学びました。
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回
[x] Python チュートリアルを読む
↑ ここまででちょうど10時間
[x] 1時間:数字当てゲームの作成
randomモジュール: https://docs.python.org/ja/3/library/random.html
[x] 2時間:NASAのAPIを用いて宇宙の画像を取得する
[x] 1時間:天気予報サイトから天気データを取得するウェブスクレイピングツールの作成
requestsライブラリ: https://docs.python-requests.org/en/latest/
BeautifulSoupライブラリ: https://www.crummy.com/software/BeautifulSoup/bs4/doc/
[x] 1時間:CSVファイルからデータを読み込み、解析するデータ解析ツールの作成
[x] 2時間:簡単なToDoアプリ
タスクの追加
タスクの一覧表示
タスクの削除
Flask公式ドキュメント: https://flask.palletsprojects.com/en/2.1.x/
[x] 3時間:AI関連カリキュラム
[x] 機械学習の概要 (45分)
機械学習とは何か
教師あり学習と教師なし学習
代表的な機械学習アルゴリズムの概要
参考URL: https://scikit-learn.org/stable/tutorial/basic/tutorial.html
[x] ディープラーニング入門(45分)
ニューラルネットワークの概要
活性化関数
バックプロパゲーション
最適化アルゴリズム
過学習と正則化
TensorFlowやPyTorchなどの主要なディープラーニングフレームワークの紹介
参考URL: https://www.tensorflow.org/tutorials https://pytorch.org/
[x] 自然言語処理入門(45分)
自然言語処理 (NLP) の概要
テキスト前処理
テキストのベクトル化
NLPタスクの例
NLTKやspaCyなどの主要なNLPライブラリの紹介
参考URL: https://www.nltk.org/book/
[x] 画像認識とコンピュータビジョン入門(45分)
画像認識とコンピュータビジョンの概要
画像データの前処理
CNN(畳み込みニューラルネットワーク)の概要
オブジェクト検出とセグメンテーション
OpenCVやPillowなどの主要な画像処理ライブラリの紹介
参考URL:https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_tutorials.htmlOpenCV公式ドキュメント(英語):https://docs.opencv.org/master/d6/d00/tutorial_py_root.html
このリンクでは、OpenCVを使った画像処理の基本的なチュートリアルが紹介されています。
PyImageSearch(英語):https://www.pyimagesearch.com/
PyImageSearchは、画像処理とコンピュータビジョンに関する多くの役立つチュートリアルや記事が掲載されています。検索機能を使って、特定のトピックに関連する記事を探すことができます。
画像処理入門(日本語):https://imagingsolution.net/
このサイトでは、画像処理の基本的な概念や技術について、日本語で解説されています。OpenCVやPIL(Pillow)などのライブラリの使い方も紹介されています。
といった具合です。後半10時間に実践的なことをいろいろやりました。
数字あてゲームくらいまでは、かろうじて自力でやれている感もありましたが、ウェブスクレイピングあたりから「これはなにをやっているんだ?」状態になり、chatGPTのいいなりでわけもわからず、ひたすらコードを打ち込んでは実行していました。
最後のほうは「AI関連の知識がもうちょっと欲しいなー」と思って詰め込みすぎました。ざっくりなんとかさらった程度です。
ChatGPTの効果的なサポート
![](https://assets.st-note.com/img/1680147795890-56EagAyfFM.jpg?width=1200)
ChatGPTは、私が分からないことがあるとすぐに答えてくれたり、効果的な学習方法を提案してくれました。これにより、迷わずにスムーズに学習を進めることができました。
これは本当にありがたかったのですが、エラーが出るたびに「こんなエラーが出ました」とchatGPTに貼り付けて質問していました。
なんど同じことを聞いても丁寧に教えてくれる先生、ほんとうにありがたいです。人間の先生だったらキレるレベルで質問を繰り返していました。
成果と感想:20時間でどれだけPythonを学べたのか?
![](https://assets.st-note.com/img/1680147531887-NBAkjaNAmj.jpg?width=1200)
20時間の学習でPythonの基本的な文法や構造を理解し、実践的なプロジェクトにも取り組むことができました。ChatGPTのおかげで、効率的にPythonを学ぶことができたと感じています。
結局、山田はpythonができるようになったのか、と問われると「できるようにはなってない」と思います。
例えばトンカチという道具があって「これはなにをする道具?」という状態から「これは柄を持って釘を打つための道具」と理解でき、なんとか使えるようになった状態です。とりあえず釘は打てるようになったけれど、実用レベルではない、まだ大工見習いにもなれない。くらいだと思います。
でも、3月1日の時点では「ターミナルにPythonをインストールできない」「Hello worldがどうしても出てこない」「そもそも実行の仕方がわかっていない」という赤ちゃん状態から、3月30日現在、APIを使ってNASAの宇宙画像を取得したり、csvデータを解析したり(ワインの品質とかを解析してグラフにしました)ディープラーニングフレームワークを使ってみたり、画像処理ライブラリを使って画像をリサイズしたりグレースケールにしたり、といったことを実際にPythonで実行できるようになりました。
かなりすごいスピードで勉強することができたと思っています。まあ、chatGPTのいうとおりに、手とり足取りやっていただけなのですが。
![](https://assets.st-note.com/img/1680141778111-EqIlwt5fvT.png?width=1200)
ChatGPTを活用した学習:今後の展望
![](https://assets.st-note.com/img/1680149855953-lnAnZX9qGk.jpg?width=1200)
ともかく、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のいいなりでしたが、楽しく学ぶことができました。次はなにを勉強しようかなー。
この記事が気に入ったらサポートをしてみませんか?