Latest / TanaRadio / 311 日記 | 実践したあとに基礎を学ぶ
Transcript
- 0:002026年1月13日火曜日午前8時半を過ぎたところです。
- 0:08たなです。
- 0:10声日記を収録したいと思います。
- 0:13今は実家に来ていて、朝の家事を進めているところで、
- 0:20洗濯機一回回しまして、干し終わったところで、ちょっと休憩しているところで収録をしています。
- 0:29さて、今学期の最後の講義の音源から少し切り取ってリストの方にアップロードさせてもらったんですけれども、
- 0:49その中にですね、新しい学び方ということで、もう準備はしないでいきなり実践を始めてしまうということを言いました。
- 1:03学生にもこれを言ったんですけれども、
- 1:07そうしますと必ず返ってくる反応がですね、
- 1:13そうは言っても基礎が大事なんじゃないかと。
- 1:18基礎ができていなければ、いくら実践をしたところでダメなんじゃないか。
- 1:23だからまずは基礎を勉強すべきなんじゃないか。
- 1:27そういう反応がよくくるんですね。
- 1:32基礎が大事っていうのはもうずっと昔からいろんなところで言われてますので、
- 1:38常識になっているわけですけど、
- 1:41私はその常識をひっくり返そうというか、ひっくり返して試してみたところうまくいったという話をしたんですね。
- 1:49じゃあ基礎は学ばなくていいのかっていうと、そんなことはなくて、やっぱり基礎は大事なんですよね。
- 1:56要するに順序の問題です。
- 1:59基礎から学ぶんじゃなくて、後から基礎を学ぶっていうですね、そういう方法がいいんじゃないかなというふうに私は思っているんです。
- 2:07私はまず1ヶ月間実践をやってみて、
- 2:12AIと一緒にソフトウェア開発をやってみてですね、
- 2:18まあまあ私が満足いくようなものが出来上がって、
- 2:22もうあんまり新しい機能を付け加える必要もなくなってきたので、
- 2:27そのソフトウェアをまずは使ってみようということで今使っているんですけれども、
- 2:32そうしましたらやることなくなっちゃうわけですね。
- 2:37ですけど、このプログラミングっていうのは毎日やったほうがいいと思うんですね。
- 2:45途中休んでしまいますとまた忘れてしまいますので、続けたほうがいいと思うんですが、
- 2:53でも無駄に機能を増やすっていうのは良くないことですから、
- 2:58ちょっと方向を変えましてですね、ここで基礎を学ぼうかなというふうに思ったんですね。
- 3:05私はClaudeにですね、私の相談相手ですけれども、
- 3:11Claudeにこういうプロンプトを投げてみました。
- 3:14ちょっと読んでみますと、
- 3:17「システムも機能が充実し、あまり新機能の必要を感じなくなってきました。
- 3:23そこで今まではプログラムの中身をほとんど理解しないまま、
- 3:28指示書をCursorに渡すだけで開発を進めてきましたが、
- 3:32指示書の中身の意味も理解したいと思い始めました。
- 3:36とは言っても全くプログラミングについては素人で、
- 3:41どこから手をつけていったらいいか分かりません。
- 3:44私が開発を進めているシステムのコードの意味が大体分かるということを目標にして、
- 3:51全くの素人が学ぶための学習プログラムを考えることはできますか?」というプロンプトです。
- 3:59そうしましたらば、もちろんAIはそれに答えてくれるわけですけれども、
- 4:08最初に言ってきたのはこういう言葉でした。
- 4:12「素晴らしい目標ですね。実際に動くシステムを作り上げた経験は、
- 4:18コード理解の大きなアドバンテージになります」というふうに言ってくれました。
- 4:24この経験というものが理解の助けになるということですね。
- 4:30これ私がそう考えていたことなんですが、それをAIも当然理解しているわけです。
- 4:38そしてAIが提案してきた学習方法はこういうものです。
- 4:46「学習戦略:「逆算学習」アプローチ
- 4:51一般的な入門書(Hello World→変数→…)ではなく、
- 5:00TanaLaboのコードから逆算して学ぶのが最適です」というふうに言っているんですね。
- 5:08「なぜ逆算が良いか」ということで、従来の学習と新しい学習の対比をしてくれています。
- 5:18まず「×従来の学習順序:基礎文法→概念
- 5:27→練習問題→実践」、こういう流れだと。
- 5:33だけどこれは「(退屈で挫折しやすい)」というふうに括弧して書いてあります。
- 5:38それに対して「✓あなたに最適な順序:」というのが書いてありますが、
- 5:43こちらは「実際のコード→なぜ動くか→必要な知識→応用」という流れです。
- 5:59これは「(面白く続けやすい)」というふうに括弧の中に書いてあります。
- 6:04これも私が全くそう考えていたことなので、私の期待を十分理解した上でプログラムを考えてくれました。
- 6:16その後に書いてあるのが6週間学習プログラムということで、
- 6:226週間を使って私がAIとともに書いていったコードの中身が理解できるようになる、そういうプログラムを作ってくれています。
- 6:40Week 1からWeek 6までずっとかなり細かく予定表を学ぶべき内容だから、いわゆるカリキュラム、シラバスに相当するものですが、これが書いてありまして、
- 6:58これがあっという間に一瞬のうちに出てくるというところがすごいと思うんですけれども、
- 7:06中身を読んでも私は十分には理解、今のところできないわけですけれども、この通りに学んでいけば多分理解できるようになるんだろうなと思って、
- 7:18Week 1、第1週のDay 1、第1日の内容を昨日学んでみたということです。
- 7:28ちなみに一番最初にやったことは何かと言いますと、
- 7:35Cursorというコードエディターの中にプログラム、コードがあるんですけれども、
- 7:42まずはそこにあるフォルダ、ディレクトリとも言いますね、ディレクトリの構造を理解してみようということで、
- 7:52どんなディレクトリがありますかということで聞かれて、
- 7:58Cursorのディレクトリの部分(の画像)をコピー&ペーストで返しましたらば、
- 8:06このディレクトリはこういう意味があるんですよということで、それぞれのディレクトリに入っているファイルの意味を教えてくれました。
- 8:18そして、私が何度も聞いているけど十分に理解できていないAPIというものですね。
- 8:27これ未だによく分かっていないので、このAPIって何ですかって聞いてみたらば、
- 8:33それで聞くときに何かに例えて分かりやすく説明してくださいって言ったんですね。
- 8:40そうしましたところ、APIっていうのはこんなものですよっていうことで、
- 8:45例えで説明してくれたんですけど、いくつかありましたが、
- 8:48例えば一つはレストランでお客が料理を注文する、そのときのウェイターみたいなものだと。
- 8:59お客がウェイターに注文して、ウェイターが厨房に行って料理を作ってもらい、
- 9:07それができたら運んでくると。その注文を受け運んでくるというのに当たるのがAPIだと。
- 9:15あるいは図書館に行って利用者が書庫にある本を請求して、それで図書館員がそれを持ってきてくれる。
- 9:28その利用者とそれから書庫の間に立って仲介する役がAPIだと。
- 9:39こんな例えを使ってくれたので非常にイメージしやすかったですね。
- 9:44ここでいう実際のプログラムっていうのはデータベースっていうのがあるんですけど、
- 9:54データベースとそれから利用者っていうか、実際にウェブに表示されるところですね。
- 10:03そこの仲介をするのがAPIだということのようなので、なんとなく今までよく分からなかったんですけど、
- 10:13少しイメージができたかなという感じで、もちろんそのAPIの中身のコードはどうなってるのかとかですね、
- 10:21そういうことをこれから学んでいくんだろうと思うんですけど、まずはざっくりとイメージを作っていくっていうのが大事で、
- 10:29それが第一日でできたかなというふうに思っています。
- 10:35これをいきなり基礎が大事だっていうことで、最初にAPIとは何かみたいなことで説明があっても、
- 10:44多分なんとなくピンとこないところがあると思うんですよね。
- 10:50ですが実際に動くプログラムを作っているところからこれを聞きますとですね、かなりよく分かるということで、
- 11:02基礎っていうのはある程度経験を積んでから学ぶのがいいということを実感したということです。
- 11:12それではまた。