見出し画像

プログラミングはじめてみた:ハーバード大学のコンピューターサイエンス入門クラスを受講(無料)

4月1日、新しいことを始めるのにぴったりの日にプログラミング学習を始めました。

このnoteでは簡単に、ぼくがプログラミングを始める理由と、プログラミングスクールとして42 Tokyoを選んだ理由、そしてハーバード大学のコンピュータサイエンス入門クラス(以下CS50x)の受講を開始したのでその感想を紹介します。



なぜプログラミングをはじめるのか?


ぼくがプログラミングを始める理由は以下の3つです。

①ロボットやドローン作り、アニメーション作りがしたい

ロボットやドローン作りには子供の頃からずっと憧れていました。

個人的にはアトムではなく、メダロットが作れたらな〜と思っています。

かなり無謀なのはわかっていますがw

あとぼくは個人でアニメーションを作っています。

プログラミングを学びたい理由は、一人で作るアニメーションはとにかく大変なので、AIを使って楽に作れないかと考えたからですw

人を雇えない以上、機械に働いてもらうしかないかなとw


②一生遊べそう

「一生遊べそう」というと、プログラミングスキルを活かしてお金儲けしたあとに一生遊ぶ、というように聞こえるかもしれませんがそうではありません。

(そうなったらなったで最高ではありますがw)

単純にプログラミング学習は一生続くものだと思うので、一生遊び倒せそうだと思いました。


③ 42 TokyoのWebテストに合格したからw

人生にはちょっとしたきっかけが必要だと思います。

ぼくはいままでプログラミングに興味がありつつもなかなか手を出せませんでした。

しかし42 Tokyoには何か感じるものがあり、そのWebテストを受けたら合格することができました。

それをきっかけに、プログラミング学習を本格的に始めようと覚悟した次第です。



なぜ42 Tokyoを選んだのか?


そもそも42 Tokyoとは何ぞやですが、もともとはフランスのパリで生まれたプログラミングスクールです。

特徴は「入学料、授業料無料」と「問題解決型学習」です。

卒業生の中にはGAFAへの就職を決めている人もおり、かなり信頼できる場所なのではと思います。

(ちなみにシリコンバレーにも42はあり、全世界に広がっています。)

42 Tokyoのウェブサイトはこちらより。


私が42 Tokyoを選んだ理由は以下の5つ。


①入学料・授業料が無料

これはでかいです。

ぼくは性分がケチなんです。

本も買った本よりも、図書館で借りた本のほうが、得した気分ですらすら読めます。

普通はお金を払うと、お金をかけた分を取り戻そうと一生懸命になると思うのですが、ぼくは「無料だからしっかり学んで得しよう!」という考えのほうが「お金払ってるから頑張ろう!」より優っています笑

学校へ登校するときの交通費はかかりますが、ぼくのケースでは家から学校まで30分程度の距離なので、そこまで交通費が高くならないのもポイントでした。


②自分が学びたい言語を学べる

ぼくの場合、ロボットを動かすプログラムとアニメ作り用のAIを作りたかったので、学ばなければいけない言語は主にCとPythonです。

42 Tokyoでは最初にCをがっつり学ぶとのことで、自分のやりたい言語とバッチリ合っています。

もちろんPythonも途中から学び始めることができます。

学校がすすむにつれ、途中から自分の学びたい言語を選ぶことができるので、他にやりたい言語がでてきたときにも柔軟に対応できるのがメリットだと思いました。


③就職を絶対のゴールに据えていない

プログラミングについて調べているせいか、最近YouTubeで「プログラミングで転職!」系のあおり告ばかりが流れ、すこしうんざりしています。

42はそれらの他のプログラミングスクールと違い「就職を絶対のゴール」にすえていない点が個人的にグッときました。

42はあくまでも「優れたエンジニアの育成」を目的をしており、ひとの成長に対して本質的で、非常に好感をもてました。


④学生どうしの教え合い

42に先生はいません。

逆に、学生どうしの42では学生どうしの教え合いが推奨されています。

個人的な適性でいうと、ぼくは人に教えをこうのも苦にならず、人に教えるのも好きなタイプなので、42のカルチャーに向いており、貢献もできると思いました。

仲間との協力や、ライバルとの高めあいが好きな人に合っていると思います。

また42には区切られた学期や授業もないので、自分のペースで学べることも大きなメリットです。


⑤問題解決型学習

42には教科書や授業はなく「問題解決型学習」と呼ばれる学習スタイルを採用しています。

「問題解決型学習」では、課題を自分で調べたり、他の学生と協力して解くことを通じてプログラミングを学んでいきます。

ぼくは「視覚」と「身体」をつかった学習が得意な傾向にあるので、ただ授業をきくというのは退屈すぎて集中がつづきません。

自分でどんどん手を動かしながら、課題をこなす42の「問題解決型学習」があっていると思いました。



42 Tokyo のWebテストに合格


42 TokyoではまずWebテスト(簡単なゲーム)を受け、合格したらPiscine (4週間続く入学試験)を受けることができます。

そのPiscineに合格することができたら、晴れて42 Tokyoに入学となります。

42 Tokyoの存在は最近まで全く知らなかったのですが、たまたま書店で見かけた堀江貴文さんの『死なないように稼ぐ。』の中で42 Tokyoについてふれられていました。

家に帰って早速ホームページを見てみると面白そう!と思い、翌日にWebテストを受験しました。


ぼくが42 TokyoのWebテストを受験したのは2021年3月25日(木)の朝7時。

朝7時にした理由は、どうせやるなら受かりたかったので、個人的にもっとも集中できる朝の時間にしました。

しかも試験時間は2時間少々あるので、すこし長丁場です。

テストについては事前準備など必要なさそうだったので(少し下調べはしました)、特に予習などせずにWebテストを受けました。

テストの感想は「ツラいけど楽しかった!」です。

内容について詳しいことは伏せますが、正直なところテスト自体はあまりできた気がせず、合格は厳しいかな〜と思っておりました。

しかし嬉しいことに、翌日の16時に合格発表をメールで受領。

テンションが爆上がりしました!

と同時にプログラミング学習に腰を据える覚悟がめばえました。


合格発表を受け取ったときに、さっそくPiscineの日程を選択。

5月10日からのPiscineにまだ空席があったので予約しました。

日本ではまだ知名度が低いからなのか、すぐに予約ができたのでラッキーだなと思います。

というのも本国フランスでは、1回の応募に20,000人がWebテストを受け、Webテストに合格した3000人がPiscineを受け、最終的に入学できたのは900人とのこと。

とんでもない人数がテストを受けています。

そしてWebテストからPiscine合格まで倍率20倍以上。。。汗

いずれにせよ、来月から42 TokyoのPiscineが始まるので楽しみです!



ぼくのプログラミング経験値(ほぼゼロ)


ブログを書いており、CSSの基礎知識は持っていますが本当に初歩の初歩で、文字の大きさを変えたりできる程度です。

あと昨年、初心者でも習得が簡単なPythonについて学べる『独学プログラマー』という本を読んでプログラミングに挑戦したこともあります。

毎日20分ずつやり、合計5時間ちょっと取り組みましたが本の前半で断念。

基礎的なことは大切だとおもいますが、基礎を本で理解し、じっさいに自分でコードを写して試してみるのは退屈きわまりなかったです。

退屈な学習方法を自分が選択していたというのも続かなかった原因ではありますが、一番大きいのは、やはり覚悟が足らなかったのだと思います。

ということで、ぼくが人生でプログラミングに取り組んだのは5時間程度ですw



ハーバード大のコンピューターサイエンス入門クラス(CS50x)を受講開始


そもそもなぜCS50xを受けようかと思ったかというと、過去42に入学した人の「事前にCS50xで勉強しておくといい」というコメントを見たからです。

先人のアドバイスに従うのが学習を最短で進むルートでもあると思うので、素直に受講を開始しました。

iTunes Uなどが広がり、有名大学のオンライン無料講座は珍しくなくなりましたが、さすがはハーバード大と呼べる授業です。

David教授のプレゼンのうまさにシビれ(死語?)、大学生の時にこんな授業うけたかったわ!と思いました。

コロナの影響でハーバードの学生はZoomを使って遠隔で授業を受けています。

たまにその学生たちが画面に映るのですが、何か食べながら受講している生徒もいて、アメリカらしさを感じましたw

電球や電話帳を使って、プログラミングの考えを視覚的に説明され、非常にわかりやすいです。

授業で学んだことはたくさんありますが、一番重要なことは「プログラミングの本質は問題を解決すること」ということ。

「より大きな問題」を「時間をかけず」に解決することが、良いプログラミングだと学びました。

授業の後半では子供用のプログラミング学習教材である「Scratch」での実演もありました。

宿題も「Scratch」を使った作品を作ることです。

過去生徒が作った作品も見ることができるのですが、レベル高いです!

特に下記は最高に面白いゲームです。

https://scratch.mit.edu/projects/26329347/



CS50x受講方法


CS50xのページはこちらから見ることができます。


もしプロジェクトの提出やフィードバックを得たいならedX (エデックス)への登録が必要です。

edXは、マサチューセッツ工科大学とハーバード大学によって創立された教育プラットフォームです。

edXに登録すると、受講したことを証明する資格(certificate)の発行もオプションで選べます。

資格の発行には $199 (一度無料での受講をした後に、ページ上部にて15%引きのクーポンが発行され、$169.15になりますw)かかります。

ぼくは資格に興味がないので、無料で受けています。

edXはこちらから。
https://www.edx.org/course/introduction-computer-science-harvardx-cs50x



ちなみに授業はYouTubeでも見ることができます。https://www.youtube.com/watch?v=YoXxevp1WRQ



4/1のプログラミング学習まとめ

・3時間(累計8時間)
・edXのアカウント作成
・Githubのアカウント作成
・eDのアカウント作成
・CS50の動画1本(Week0)見終わる


この記事が気に入ったら、サポートをしてみませんか?
気軽にクリエイターの支援と、記事のオススメができます!
9
書狂プログラマー⚡️昨年は366冊の本を買い、本棚崩壊中⚡️「岩波文庫」が人生最高のソリューションだと思っています⚡️プログラミングを習い始めたばかりなのに、プログラマーを名乗る早とちり人⚡️