コードの学習について知っておくべき重要なことが2つあります。
- ほとんどの人は実際には「コードを学ぶ」ことを望んでいない
- コードを学ぶことはもはや1つのことを意味しない
この2つを知ることは重要です。そうしないとコーディングについて教える方法が間違っていて、人々は学ばないからです。
最初の点は、何度も何度も見てきたことです。 コーディングの方法を学ぶと私に言う人は、学び始めると、地獄のようにつまらないと思うのです。
考えてみれば、これはかなり明白なことでしょう。 コードの知識それ自体は、それを使って何もできないのであれば、価値はありません。 したがって、ほとんどの人にとって、コードを学ぶ最大の動機は、何かを構築することです (僅差でより高い報酬の仕事を得ることですが)。
かつて、コードを書くためには、コンピューターに関するほとんどすべてのことを知らなければなりませんでした (それゆえ、「コンピューター サイエンス」という用語があるのです)。 その後、物事は抽象化され、本当に必要でない限り、特定のトピックに飛び込む必要がなくなりました。 たとえば、現時点では、Web アプリケーション開発者として、システム管理についてほとんど知る必要がありませんが、それは Heroku や Amazon Web Services などのツールによってほとんど行われているからです。
そのため、人々がコードの書き方を学びたいと言ったとき、ほとんどの先生は、データ型、言語のさまざまな構造、および学生がコンピューターについてより深く理解できるように、そうあるべきだと仮定したところから(常にそうしてきた)始めます。 彼らは何かを作りたいのです。 そして、何かを構築するために、コンピュータやコーディング全般についてすべてを学ばなければならないことを、もはや当然と考えるべきではありません。
たとえば、誰かがすでに優れたバックエンド開発者と働いている場合、彼らにフロントエンドを教えることは理にかなっているでしょう。 なぜなら、それが彼らにとって最も役に立つからです。彼らは実際に、やりたいことをより速く成し遂げ、後の時点でバックエンドを学ぶことができるようになります。 そうすることで、生徒の認知的な負担を減らし、より早く学習できるようになります。
Web 用に開発する場合、特に次のことに対処しなければなりません:
- HTML
- CSS
- JavaScript
- バックエンド プログラミング
- データベース
- ホスティング/DNS
ここには学ぶべきことがたくさんあるんですよ。 そして、そのほとんどは、Web 開発以外にはまったく関係ありません (明らかにデータベースとアプリケーション構造を除く)。
私が思うに、ほとんどのコーディング教育には、おとり商法があります。 それは次のようなものです:
生徒。 “コーディングの方法を学びたい” (
教師: 「よし、データ型から始めよう」
学生: 「(2週間後)
先生: 「これで効率的なアルゴリズムを設計できるようになったよ」
生徒: 「
教師として、人々がコードの書き方を学びたいと言うとき、彼らはしばしば、Web またはモバイル アプリケーションを作りたいということを本当に意味していることを認識する必要があります。 それは、彼らにとっては、それがコーディングであるからです。 問題は、それを要求する方法を知らないことです。 ですから、彼らが言うことをすべて額面通りに受け取ってはいけないのです。
数年前に見た劇で、司祭が「困難な状況でも真実を伝えなければならない」と言っていたのを覚えています。 司祭が「困難な状況でも真実を語らなければならない」と言うのですが、その司祭が話している相手が尋ねます。 “しかし、もし誰かがあなたに質問をして、真実が彼らを傷つけるとわかっていたらどうしますか?” 司祭は答えます。 「
教育においても、行間を読んで、人々が本当に望んでいることを見極めなければなりません。
ですから、教育者として、また専門家として、人々を正しい方向に導き、迷わせないようにするのは私たち次第なのです。
学生として:学びたいことを学ぶ
自分の学習冒険でできる最善のことの1つは、多くのことについて少しずつ学ぶことです。
ここ1ヶ月で「30日でコードを学べる」と言うのは、たった30日でHTML(JavaScriptまたはPython)を十分に学び、コードで会話できるようになり、就職活動で目立つことができるようになるという意味です。 そんなことはありません。 私は15年以上コーディングをしていますが、まだ知らないことがたくさんあります。 「コードを学ぶ」とは、言語のあらゆることを知ることではなく、会話できる程度に、そして頭脳と創造力を駆使して世界に足跡を残せる程度に知ることなのです
。