2019/08/30

40代・数学苦手プログラミング初心者の「ウェブカツ」式プログラミング学習記録 40日目:学習方法の見直しについて考えた


オンラインのプログラミングスクール「ウェブカツ!」受講でプログラミングの勉強を始めて40日が経ちました。

〇プログラミングの勉強を始めた経緯はこちらです→

〇ウェブカツを選んだ理由はこちら→



今はぶっちゃけ「プログラミングわかる!楽しい!」って状況ではなく、「思うように進んでない、ちゃんと理解できてないなぁ」って気持ちがあり、この先どうやったらいいんだろうとちょっと悩んでます。やっぱりプログラミングは一筋縄じゃいかない😥😥 
なので本記事ではこれまでを振り返りつつ、勉強法について考えてみます。

この記事の内容:
------------------------------------------------
1.ウェブカツ受講状況・学習状況の確認
2:学習ペースの振り返り
3:学習方法の振り返り
4.これからどうやって学習を進める??  
------------------------------------------------ 

1.ウェブカツ受講状況・学習状況の確認です。

受講日数:40
受講時間とペース:73時間30分 (1日平均1.8時間 ↓前回より40分ダウン)
受講講座:HTML / CSS 部入門 23回 鬼練全て (1)
                    JavaScript / jQuery部入門 全14回 (1) と鬼練13 ←今ココ

こんな風にやってます。PCは減らして1つにしました。

ここで「現時点での率直な感想」を。
HTMLCSSは説明をなんとか理解できたけれど、JavaScriotjQueryに入ったら関数とか出てきて、急に数学っぽくなってしまった(イメージ)。そういえば、HTML/CSSは「マークアップ言語」で、プログラミング言語でさえなかった。JavaScriptなどのプログラミング言語ってやっぱり数学っぽいのか… 高校時代の数式を前にしたときの感情を思い出しかけ(数学チョー苦手)、なるべく無視して流そうと努めてます。

そうは言っても14回のレッスンはひとまず、ほぼ「へー、そういうものなの」って納得しながら進めました。ところが問題は、JavaScriptの「鬼練」という基礎力強化の練習から。開発者ツールのConsole.logに言葉を表示させたりして最初は「面白いな~」と思っていたのですが、解説の中で入って来た「キャスト」などの新しい概念がよく分からず、それが前提で「こうだから、こうなりますね」の説明内容をきいても「ちょっと待って、なんでそうなるの?」と困惑状態。理解してないので、ここに具体的な内容を書くこともままなりません。正直「まだこの段階でこうなるのはヤバいよ😱」という気持ちと、「このまま進んでも蓄積がないからますます分からないことが増えるだけでは」という思いで、今は悶々とした心境です。


2:学習ペースの振り返り

前回ブログで「休日は5時間、仕事がある日は1時間」を目標にしました。でもこれはなかなか難しかった。休日に予定が入って思ったより時間が取れなくて4時間になったり、3時間半だったり。でかける予定がない日は「家事に時間取られる」「モチベーション」「体調」で集中できないことがありました。「寝る時間を早めにする」という目標もまだまだです。特に夜にツイッターを見るとついつい遅くなります。

ただ来週もこの夏最後の家族旅行でプログラミングに割ける休日が少ないので、そこは割り切って、できる日になるべく多くやろうと思います。

あと<進むペース>ですが、遅いです😓ツイッターで見てる他のウェブカツ生の誰よりも遅くて、へこみます。私より速い人が「みんなよりペース遅くて焦ってる」って言ってるツイートを見てへこみ、ここにいるプログラミング学習してる人ってほぼみんな自分より若いじゃん、とへこみ。。

ツイッター、あんまり見ない方がいいのかも。進捗報告しないといけないし、有益な情報やアドバイスも得られるし、励まされたりもするんだけど、人と比べてしまうとね。

ツイッターって、諸刃の剣かもしれません。ウェブカツの女性割引の利用者は進捗報告は義務ですし、実際メリットも大きいので、プログラミング学習やってる方の多くがやってると思うのですが。たしかウェブカツ講師のかずきちさんは「自分は人と比べがちで落ち込むタイプと分かってたので見なかった。そういう人は見ない方がいいかもしれませんね」みたいなことをおっしゃっていた(今はあんなに強くてムテキそうなのに…笑)。でも自分の学習の進捗報告に「いいね」ってしてもらったりすると嬉しいし、他の人との接点があるからこそ自分もやらなきゃと思う。ツイッター、上手に利用したいですね。

話がずれましたが、ペースについては、ある程度は仕方ない。環境や能力は個人差があるので、他人と比べる意味はありませんね。理解力がないだ遅いだと自分を責めると落ち込んでモチベーションにも影響するので、「1か月前の自分より進歩してるじゃん😃」と思うことにします。


3:学習方法の振り返り

相変わらず、動画を観ながらコードとノートを書いてます。ノート書かなくていいのか未だによく分からない。でも書かないと、その場では理解してても忘れてしまうので。例えば…

jQueryの書き方:

$(function(){
 //ここに処理を書く
});

命令(処理)の書き方:

$(‘セレクタ’).メソッド(引数);

こういう学んだことプラス、レッスンで出て来たコード全てとその意味もノートに。
(コード量がさすがに多かった日はプリントアウトしました↓)
コードも増えたけど解説はコードより長い…(笑)


ちなみに、ノートに書いても忘れております。今も見返して「あっそうだった」と。だからノート取りは必要。習ったら覚えるのは学習の基本だけど、その基本の量が膨大なので。ウェブカツのレッスンでも「ここはこうするんでしたよね?」(習いましたね?覚えてるよな?)ときかれますし。笑
ただなんとなくわかります。英語学習での「単語の意味を覚える」等とはやり方が違うってことは。

プログラミング学習 = 「暗記」ではなく「考え方を身につけていく」

だと、どこかで読みました。

「どうしてここでこの式を入れるのか (処理をするのか?) 」の理解は暗記では無理で「応用」しなきゃいけないし、その考え方が基盤にあって自分でコードを書く(=生み出す)ことができるようになるんでしょうね。この辺、数学っぽいんだよな。


4.これからどうやって学習を進める?? 

鬼練でつまづいて、今後どうやるか悶々としてたら、昨日あるウェブカツ生さんのブログで、レッスンの進め方についてのウェブカツ顧問からのアドバイスを知ることができました! この記事の中で一番重要なので赤字表示で!

「一度見ただけで理解できたら天才です。
一旦、同じコードを書いて手に慣れさせる。
→ 仕組みは分からなくとも動くことだけ確認したら、次に進む。
→ 一旦その部の全部のレッスン観終わった段階で、また戻って見直しながら書いてみる。
→ 少しずつ理解できたら、自分なりにカスタマイズする。
→ 最後に、見ずに書く。」

あれ、「ノート取る」って、書かれてない。。。。。。。。😅

「見ずに書く」ってとこまで、みんなやってるのかな!?(私、できてない)
それからこれも昨日知ったんですが、「一つの部が終わるごとにアウトプットするように」、とも顧問は言っておられるそうです。アウトプットって。何かを自分でゼロから作ってみるってことよね。

「アウトプットが大事」

ってプログラミングの先輩方全員が言うこと。ウェブサイト作ってみる、とか。でもそれだけで1週間ぐらいまたかかっちゃいそうで、ただでさえレッスン進むペース遅いのに…てのは言い訳で、やるべきなんでしょうね。。逃げたらあかんなぁ。

というわけで、学習はウェブカツを作られた顧問の言うように進めてみます!

それからjQueryがあんまり分からないので、鬼練をしてからもう一度ウェブカツのレッスンを観て、あとProgateものぞいてみます。(鬼練は分からなかったらとりあえず進む作戦。)さらにレッスンの進度が遅れちゃうけど仕方ない、落とし込む方が大事と思うので。とにかく手を動かします。

昨晩「もうよく分かんない…プログラミングって難しい」と夫に愚痴ったら、
「こうなること分かってて始めたんでしょ?」と。励ましかよく分からないけど。「500回ぐらいは絶望します」とマナブさんも言ってたな。。誰もが通る道かぁ。

(ちなみに夫はピアノ調律師ですが、専門学校を卒業後7年間は毎日「もうやめたい」と思ってたそうです。うまくできず、分からなくて。24年目の今「これが天職」と言ってて。私じゃ7年はもたんわ…そんな彼から見たら、私の苦労なんてへなちょこだろうな。夫の仕事の話ブログ記事はこちら。よろしければ
本日、日本公開の映画「羊と鋼の森」バンクーバー(私の夫)編

さぁ、気を取り直してやりますか。(まずはお昼ご飯だ)

長くなりましたが、読んでくださってありがとうございました。


〇初心者向けオンラインプログラミングスクール:「ウェブカツ!」
〇Twitter フォロー歓迎です! Twitter:  Sophie

2019/08/12

プログラミングをウェブカツで学ぶ初心者が学習スタートからの3週間を振り返り!

ウェブカツ(女性割引)でプログラミングの勉強を始めてから22日目になりました!そして昨日、最初の部活「HTML/CSS入門」を(やっと)終え、現時点での「振り返り」と「今後に向けた反省点や改善点」を考えます。

 
動画用とコーディング用のPCを2台使ってお勉強

----------------------------------------------------------------

①これまでの振り返りと改善点:「学習時間」「学習ペース」「学習方法」

②これまでプログラミングをやってみて気づいたこと。
「コードで間違えやすいとこ」
「毎日の中で勉強ペースを作る大切さ、気持ちの持っていき方」

------------------------------------------------------------------------------------------------

①振り返りと改善:「学習時間」「学習ペース」「学習方法」

●学習時間:一日平均 2.2時間・・・まだ少ない。

ウェブカツでは、「1週間15時間勉強して、5カ月でコース全てを終える」という模範が示されています。もちろん個人差はありますが、私の12時間足らずでは、ちょっとそれに満たないです。もっとプログラミングに割ける時間は、もっと作れたと思います。(ここ反省。)
もともとプログラミングの勉強を始めるときに、「パート週に3日+翻訳+家族と過ごす1日」を差し引いたら、1週間に18時間ぐらいはできると思っていて、理想では20時間でした。

もっと勉強時間は増やさないと、と思っています。私はウェブカツの基準よりもプログラミング習得に時間がかかるから(学習ペースの面から)。
理想は、仕事の日も1時間は時間を確保して、休日は5時間
また、夜に勉強すると寝不足になり、翌日は頭がボーっとしてなかなか取り組めないという悪循環に陥ったので、「夜は11時には寝る」も目標にします。

●学習ペース:21日かけて最初の部活HTML/CSS入門を修了

ペースとしては、遅いなぁ。。Twitterで他のウェブカツ生の進捗報告を見てると、5日ぐらいで部活1つ終えてたり、2時間でレッスン4,5個やってたりする人もいる。私はそこまではできないけれど、もう少し速めなければと焦ってます。なにしろウェブカツの部活はあと「18」もある!!これでは、いつ終えられるんだろう。

けれど「スピード」を優先して動画やコーディングをさらっと流して全く理解できてなかったら、やったことにならないとも思う。これまで「理解」を最優先してきたんだけど、バランスが大事なのかな。どこを変えればもっと効率的にできるのか?理解はどこまで犠牲にできる?ここはまだ、効果的な改善策が浮かびません。。

●学習方法:動画をちゃんと理解するのが優先。ノートを取っている。↓
これ。ノートこまめに取りすぎか?


理由は、「一度で覚えられないから後で見直すため」と、「頭を整理したい」から。

でもこれって、「練習(コードを書く)」よりも「勉強(理解)」に寄っている?

このやり方は自分の過去の勉強方法の延長です。学校で成績が良かったのは授業で「ノート」がちゃんと取れていた科目でした。その場で頭が整理できる。後から見ても分かる。テスト前に復習できる。なのでメリットが大きい方法でした。

けどプログラミングでは、失敗するやり方として、「勉強ばかりしてしまう」ことがよく言われます。「完璧主義者ほどプログラミングで挫折しやすい」ともききます。私にはどれがベスト化、向いているのか分かりませんが、経験者の方がとにかくよく言っているので、たぶんそうなんだろうなぁ。

ちなみにプログラミングをやってる皆さん(特にウェブカツ生)は、ノートはほとんど取らないのでしょうか?(それだと忘れないかしたら?)2時間でレッスン4,5個こなす人はノート取ったりしてないと思いますが。。プログラミングの正しい学習法、教えてほしい!
が、とりあえず「コードを書く」「アウトプットする」のが大事というのは先輩方が共通しておっしゃることなので、

対策:「ノート書く量を減らす」でしょうかね。スクリーンショットとか利用して。

鉄則!!「プログラミングは勉強ではなく練習をする。コードをとにかく書くこと。できれば毎日書くこと。その時に分からなくても、理解が後からついてくることが多い」

②これまでプログラミングをやってみて気づいたこと。

●「コードで間違えやすいポイント」


書いたコード通りに表示されない時、原因の99.9%はコードの書き間違い(初心者)だそうですね。私がこれまで「なんでこうなる(ならない)の?!」と目を血走らせて探し出した間違いは、

<付け忘れ> コロン ;    px    #
<タグの閉じ忘れ>
<数字の0と英語のオー O の間違い>
<スペースを入れてはいけないところがある> 〇 a:hover × a: hover
<全角は使えない>

こんな感じ。

余談ですが、私がプログラミングに興味を持ったきっかけは、「機械は素直に(正しく)反応する」ことに魅力を感じからでもあります。人間だと、その場の感情や性格で反応しがちで、自分が正しく行動したと思っても期待通りの反応が返ってこないことが常にあるから。でもいざこの相手(コンピューター)に向き合うと、本当に正直というか融通が利かないというか、「はい、その通りでございますね・・・(私が間違えてました)」って思うことばかりで(笑)プログラミングは別の意味で、忍耐が必須だよ。

●「毎日の中で勉強ペースを作る大切さ、気持ちの持っていき方」

ウェブカツでは「野球選手は毎日バットを振る」「夢でうなされるまでやって、初めて『やった』といえる」という教訓がありますが、私はまだほんの入り口なのに夢の中にプログラミングが出てきます。やらなかった日は怒られる夢。画面が正しく表示されないまま寝た時は「なんで?」と思いつつコードを書いている夢。プログラミングを始めてから、常にどこかプレッシャーがあるようです。他のウェブカツ生の方も「コード書かなかった日は悶々とする」と言ってて、同じなんだ、とホットしました。プログラミングを始めてから、いつもそれが頭にある。「楽しい」と感じるときもあります。ウェブカツの「鬼練(特訓シリーズ)」で一つずつ、理解を積み上げることができた時とか。
何もしないよりもコードを書いている方が気持ちが軽い。そして分かること、できることが増えると楽になったり楽しくなったりする。なので「動画1分だけでも観る」「コード一行でも書く」のが、結局は早道なのだと思います。

(外国語を学ぶときもそうですが、間を開けないと、忘れないのですよね。あと、使わないと話せるようにはならないし。似てるなぁ)

目標の「稼げるエンジニア」になってからも、一人でプロとして仕事するんだからプレッシャーはあると思います。だから今から自分が楽になる練習して、良い方法を見つけるのも大事そう。そうだ、Twitterで仲間とつながると、その良いきっかけがもらえたりしますね。「この気持ち(経験)は私だけじゃないんだ」って安心したりもします。

長々と書きましたが、読んでくださってありがとうございました。

プログラミングの日々はまだまだ続きます! 


〇初心者向けオンラインプログラミングスクール:「ウェブカツ!」
〇Twitter フォロー歓迎です! Twitter:  Sophie