デジタルファーストキャンプに入った話その4

D1Cとは異なる分野の講師をしているので、必死に学ぶ立場になってみて考えたことなどを、自分のために書いておきます。

GoogleスプレッドシートでChatGPTを使う

第1タームのノーコード、第2タームのローコード

デジタルファーストキャンプ(以下D1C)は、ノーコード・ローコードでの制作を学びます。
第1タームはノーコードでランディングページやEC機能の実装などをしました。
これは様々なWebページ作成ツールを使って作成できました。
第2タームでは、ローコードを体験しました。
GoogleスプレッドシートにChatGPTのアドインを追加したり、GoogleスプレッドシートにAppScript を追加して slack と連携させたり、Google Colaboratory でPythonコードを書いてオープンデータを取り込んだりWebスクレイピングをしたり。
実際のコードは教材として提供されたものや、生成AIに出力させたものをコピペして使います。
これまで興味があったものの、Webスクレイピングやオープンデータを実際に触ったことがなかったので、超ラッキー!!って思いました。

学習の段階

【段階1 とにかく必死に取り組む】
今回はWebスクレイピングとか Google App Script とか、全部初めてだったので、最初はコードを書いて実行することに必死でした。
教材動画を見ながら一時停止して、画面のコードを自分で書いて実行して。
やっぱり人のデモンストレーションを見てるだけでは理解できないので、手を動かします。
やってみた、動いた、よし!って感じでした。
体系的な知識がないので、できたけどちょっぴり不安が残って、もっと学習して知識を身につけたいという気持ちでした。

【段階2 応用する、何のために?を考え始める】
慣れるにつれて、見本のコードの一部を変更してみて、エラーが出たらWeb検索や生成AIを使って修正を試みました。
うまくカスタマイズできると面白くて、のめりこんでいきます。
そのうち「何もわからないけどコピペしたらできちゃった範囲」を越えて、Web検索と生成AIだけで修正できなくなり、修正に時間がかかるようになりました。
いっそ体系的に理解た方が早い気がしてWebスクレイピングの本を買って読む一方、頭の隅で考え始めます。
「なんでこんなに時間かけて苦労してるんだ?何のためにこれやってるんだ?」
これはノーコードでWebページを作ったときにも思いました。
「こんなに簡単にWebページを作れるのに、なぜ技術者向けの研修であいも変わらず HTML、CSS、JavaScript を私は教えなきゃいけないんだ?」
2~3日の研修で作れるWebページなんて、ノーコードツールで1時間で作ったWebページの足元にも及ばないのに。

どこまでやるかを自分で決める

「何でこれをやっているんだ?」と考えるのは、壁にぶつかって乗り越えられないときだと思います。
そういうときは、自分なりの上限を決める。
時間を決めるとか、学習内容の深さを決めるとか。
必須課題のみ完成させるとか。
この分野の技術者を目指しているわけではないので、どこまで身につけるかを自分で決めればいいと思いました。

一方で、会社の指示で研修を受けるときなんかにも「何でこれをやるんだ?」と考えると思います。
あるいはノーコードツールででWebサイトを作る人が、HTMLやCSSを学ぶような場合とか。
その場合も、自分なりの目標や意味を設定することが必要なんだと思います。
ただ第2タームをやってみて、所々でHTMLやJavaScriptが顔を覗かせました。
ああ、ここで#使うのはクラスIDで指定するからだな、とか。
なるほど学んだことは無駄にならないなぁと実感しました。
いろいろ知っていると、何かあったときの対処の引き出しが多くなります。
そういう、自分が持つスキルに厚みを付けるという目標もありだなと思いました。

独学で挫折しやすいポイント

D1Cで初めて使うツールが多く、いくつか戸惑うポイントが見えました。
独学の初学者がここで躓きそう、ということを備忘録として書いておきます。

環境づくり

アプリケーションのインストールは最初のハードルだと思いました。
迷うところはたくさんあります。
・インストールするexeファイルのバージョン、何選ぶの?
・インストールする時どこに✔入れるの?
・インストール先どこにする?
・インストール後に日本語化するにはどうすればいい?
などなど。
✔忘れただけで、説明通りのそうだができなかったりして、初学者が環境整備するのは結構ハードル高いなと思いました。
今回は主にWeb上でコードを実行したので、インストールなどは不要でしたが、Googleの権限で許可を出すなど、やはり特有の操作があったりして、こういうのはやはり人に教えてもらえる環境が必須だなと思いました。

最初の使い方

最初の画面で何をするのか?
私は結構これではまります。
たとえば Figma というWebアプリがあります。
第1タームでアカウント作成をしたものの、最初の画面で何をすればいいのかがわからず、ずっと放置していました。

ずっとわからなかったのは、思い込みが邪魔していたからです。
Figmaでワイヤーフレームなるものを作ってみよう、と思っていたんですが、どこをどう操作するのかさっぱりわからなかった。
CANVAとかWixなんかは、最初にテンプレート的なものを選ぶようになっていたので、無意識にFigmaもそういうものだと思い込んでいました。
でも「ワイヤーフレームを新規作成」みたいなメニューはないし。
使い方をマスターすべくYoutube で動画も見たんですが、ワイヤーフレームテンプレートみたいなものがあるという思い込みのために、「だからどこ操作すればワイヤーフレーム作れるんだよおぉ~」と思って見てました。

結局、第3ターム開始時に先生がデモをしてくださったのを見て、3秒で思い込みが解けて解決。
こういう思い込みって、自分一人では気づかない。
思いこんでるから、説明が頭に入らない。
ツールを最初に使い始めるときって、この手のことが意外とハードルになると思います。
だからデモを見せてもらうのは大事なんだなぁ。納得。

エラーの修正

自分の経験と、D1Cの同期生のみなさんを見ていて、やっぱりエラー修正はハードル高いんだなと思いました。

エラーに立ち向かう手順は、以下のようになると思います。
①エラーメッセージが出たら、メッセージを読んで修正する。
②エラーメッセージの意味が分からないときは、エラーメッセージを丸ごとコピペしてWeb検索、先人の知恵を借りる。
③それでもわからなければ、書いたコード全部とエラーメッセージを丸ごとコピペして生成AIに「エラーを修正して」と依頼する ← 2023年NEW!
④①~③の内容を簡潔にまとめて人に相談する

①以外は、
・本来やりたいこと
・実行環境(VSCodeで実行するか、Google Colaboratoryなのか、OSとか)
を伝えることもポイントです。
生成AIは、独学者にとって心強い助っ人になりますが、正確な情報を渡さないと正確な答えを出せないのは人間と同じです。
こういう相談のお作法を知っているかどうかで、有効な情報を得られるかどうかが変わってしまうので、開発者を目指す人にはきちんと伝えないといけないと思いました。

またエラーの原因を切り分けられるだけでも違うと思います。
・プログラムコードに不具合が含まれているのか
・プログラム以外の連携している何かが不具合の原因か
・実行の仕方やタイミングがまずくて一時的にエラーになったのか
を、どのように判断するのかということも、技術者になる人には折々に伝える必要があります。

エラーを修正する方が総合的な知識を求められるので、プログラミングを教えるときにはエラー修正を練習問題にしてみるといいかもしれません。
自分が余裕のない初学者の立場になって、改めていろいろ考えました。

忘れる

どんなに頑張っても、時間が経つと忘れます。
GoogleスプレッドシートにChatGPTのアドインを追加したり、GoogleスプレッドシートにAppScript を追加して slack と連携させたり、Google Colaboratory でPythonコードを書いてオープンデータを取り込んだりWebスクレイピングをしたり、いろいろやりましたが、自分の興味の範囲にどれだけとりいれることができるかが、今後の課題です。
使用目的を見出すのが課題かもしれません。

感想

selenium ライブラリの仕様が互換性なく、数か月で変わっていたことが衝撃的でした。
私が知っている世界では、プログラミング言語やライブラリは互換性を保ってバージョンアップするのが常識でした。
C言語経験者の夫に「なんかライブラリの仕様が変わって、エラーが取れなくてさぁ」と愚痴ったら、「互換性があるはずだ」と私が詰められて、けんかになりかけました。
互換性ゼッタイある、というのも思い込みなのでしょう。
WixとかCanvaも、メニューや機能や仕様がどんどん変わっていくので、一年前の動画を見ながら操作していたら、存在しないメニューを選べと言われることがよくあります。
最新っていうものは、一度慣れた操作やコードを見直すこと込みで付き合っていくものなんだと身に沁みました。

またChatGPTをGoogleスプレッドシートに組み込むアドオンが既にいくつも提供されている辺り、世の中のスピードすごいなと思いました。
そして今回、Googleスプレッドシート上に「プログラム研修受講者の日報」を書いてもらったのですが、「記入時間15分程度で」と条件を付けたところ、まぁまぁ薄っぺらい内容の文章が出てきました。
これはChatGPTの能力が低いというより、15分程度の短時間で書いた日報なんてこんなもんだよ、と教えてもらったような気がしました。
講師の仕事をしていると、教育担当の方からは「日報の内容が薄っぺらい」「もっと文章を書かせて」と言われることがありますが、まぁこんなもんだなと。
いつか、受講者が書いた日報を生成AIに読ませて、「この受講者の理解度と困っていることを教えてください」などという使い方ができるといいなと思います。

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