見出し画像

「英語で学ぶ」入り口にプログラミングをお勧めする理由

1年間、紆余曲折しながらプログラミングを独学してみて、これは「英語の勉強」から離れるきっかけにいいかもしれない、と思い始めました。

少し前までは外国に住んでいながらも、日本での長年の価値観でTOEICや英検といった資格試験の上級を取ることを目標にしていました。

が、英語プログラミングを始めて、英語学習の目的は「(資格試験は目安に過ぎず)翻訳されていない情報が自分で取得できること」なのだということをリアルに感じました。

英語でのプログラミング学習をお薦めする理由

理由1:PCさえあればできる

日本語でもプロゲートなど、無料でできるプログラミング練習プラットフォームはありますが、英語のプラットフォームの数とサポートと情報量は全く桁が違います。

理由2:場所によらない(アンコールワットでもできる)

アンコールワットでプログラミングは極端ですが、第三回廊(アンコールワット頂上)にMacBookを持ち込んで「この感動を現場から」とブログを書いている人もいるので、物理的にはできます笑。

オンライン向きの学習内容、向かない学習内容というのはあると思います。プログラミングやコンピューターそのものを学ぶのはとてもオンラインと相性がいいです。

理由3:プログラミングと英語の相性がいい(というか、プログラミング自体がほぼ英語)

これはプログラミングを始めてから気づいたことです。

例えば、Python。日本ではAIとかマシンラーニングのイメージが強いのかな?と日本語の記事を読むと思うのですが、アメリカの中学生用のコンピューターサイエンスの参考書に初めに登場するプログラミング言語はPythonでした。理由は「簡単だから」とのことです。口語英語と近いのです。

また、小学生がプログラミング導入ででよく使う「スクラッチ」ですが、日本語版と英語版を並べてみると一目瞭然、日本語と英語の語順が全く違うことに気づきます。

日本語教育で使えそうだ…笑

結局はプログラミングは英語を使い、動詞・目的語の順番で書かなくてはいけないのだから、プログラミングの視点から見ると「文法ごちゃごちゃな日本語」は最初からパスしてもいいのかもしれない…と思い始めました。

理由4:「英語で仕事」につながる

現在の仕事でのプロジェクトチームは複数国籍で、チャットやメール、メッセージなど仕事に必要な連絡は、共通語としての英語です。

私は今のところプログラマーではありませんが、学んでいることは社内のどこかの人が関係しているのだろうと思ったりしています。

外国語と同じように即効性はないと思うので、習慣にして続けてやめないようにしたいです。

理由5: 新しい学問なので、英語ノンネイティブ向き

コンピューターサイエンスは新しい学問なので、全世界の人が(先進国の人も途上国の人も、都会の人も地方の人も)一斉に学んでいます。

今までハンデと思っていた条件がなくなり、英語さえある程度できれば、やるかやらないかというところまで来ているかもしれません。

その英語も、世界の人が共通語として使っているので、英文科で必須のキリスト教や西洋文学などの知識は無くて大丈夫です。ノンネイティブに優しい分野です。

英語プログラミングへの手順

手順1: まず英語力を上げる

逆説的ですが、ある程度の英語力は先にあげておくとストレスが少ないと思います。目安は、

1. 日本語でのプログラミング経験があれば、英検2級/TOEIC700点くらい(英語の知識をプログラミング知識で補える)
2. プログラミング全く経験無しなら、英検準1級〜1級/TOEIC900点くらい(いきなり英語だけでもなんとかなる)

私のなんとなくの感覚です

英語プログラミング学習の習慣がつき、うまく回り始めると、どちら(英語とプログラミング)のスキルも加速度的に上がる実感があります

ですが、その良いサイクルに入るまでの挫折を防ぐために、別々に勉強した方がいいボーダーラインが、上の1と2あたりかなと思いました。

さて、これ以降は「参考までに」聞いてもらえるとありがたいです。
英語学習と同じく、プログラミング学習にもロードマップは溢れています。私が2022年の1年間独学でやってみて、この手順がいいかなと思った順番を書いてみます。

手順2: プロゲートの日本語版と英語版の両方のアカウントを作り、無料版を両方やる

プログラミング学習で有名なプロゲートは、日本語版英語版を同一アカウントで切り替えることができません。アカウントを作る前に英語か日本語か選べますが、一旦アカウントを作るとずっとその言語で続けないといけないようなのです。

なので、両方のアカウントを作ります。

日本語の補助輪を外す

「英語版をやって、わからなかったら日本語版で確認する」
「日本語版をざっとやって、英語版でもう一度同じ内容をやる」
「デュアルモニタで、右の画面で日本語版、左の画面で英語版をやる」

など、いろいろな方法があります。段々と無理なく日本語を減らしていきます。

内容は英語版も日本語版も同じで、英語版は元々日本語だったものを英語に翻訳したようです。そのため、言語が英語でも日本ユーザーフレンドリーです(実際、英語版もインドネシアなどのアジアのユーザーが多いそうです)

プロゲートをやっていた頃の投稿はこちらです。

手順3: Code.orgで英語圏の幼稚園〜高校の世界に慣れる

アメリカの子供にコンピュータサイエンスを普及させる目的で、NPOによって作られたCode.org は、実際の英語圏の世界を覗くのにとても良かったです。

スクラッチに似たブロックプログラミングです。
コースがしっかりしているので、順番通りにゲーム的に進めていくと、いつの間にか条件分岐やループなどが感覚的にわかるというものです。
マインクラフトやアナ雪のキャラクターなどが出てきて華やかな反面、後半はかなり手応えのある課題でした。(とうとうエルサの雪の結晶は自分では作れず、チート動画を見ました笑)

この頃の投稿はこちらです。

手順4: Codecademyで好きなプログラミング言語を学ぶ

そして1年経ってCodecademyを使い、やっとプログラミングっぽいことをしています。

今はコマンドライン(マウスを使わず文章によってコンピューターに指示をすること)を学習中で、まだこれはプログラミングとは言わないのかもしれません。

厳密にはプログラミングではないかもしれません。
そして、よく見るとだいぶ間違えています…それもsculptingのスペリングで笑
章が終わると褒めてくれます。地味に嬉しい。

Codecademyは画面構成がシンプルで、とても見やすいです。また、「〇〇日続けたよ!」などちょっとした励ましも嬉しいです(表示させないこともできます)。

競合のプラットフォームはW3SchoolsFreeCodeCampなど色々あるのですが、今のところはCodecademyがとても気に入っているので、これで学習を続けようと思っています。


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