見出し画像

【C言語】 プログラミングを始めるならハーバード大の「CS50x」がオススメ

「CS50x」はハーバード大学が無料で公開している、コンピューターサイエンスの初級クラスで、アメリカの42のPiscine受講者たちも「役にたった」と太鼓判をおしている講座。

今回は、CS50xをオススメする理由をまとめてみました。


①C言語へのとっかかりとして最適

42では、Piscine中にプログラミング言語の「C言語」を使用します。

一般的にC言語は、初心者にはとっつきにくく、習得が困難な言語といわれています。

それでもC言語を学べば、他のどんなプログラミング言語でも学習が容易になるといわれるほど、他のプログラミング言語に影響を与えてます。

そんな「習得が難しいけど、役に立つプログラミング言語」であるC言語を学ぶために役に立つのが「CS50x」。

いままで自転車に乗れなかった人が、自転車の乗り方を学ぶには「補助輪」があれば、地面に倒れることなく、自転車を乗るのに必要なバランス感覚を学ぶことができます。

C言語を学ぶに際しての「補助輪」をたくさん用意してくれているのが「CS50x」です。

たとえば、そもそものプログラミングの考え方を学ぶために、子ども向けのプログラミング教材「Scratch」を導入で使用。

また、C言語で理解がムズかしい箇所を、理解ができるように簡単なものに置き換えて説明されていたり、次に説明する「プログラミング環境を整える必要がない点」も、「補助輪」として役に立っています。

②プログラミング環境を整える必要がない

プログラミングを始めようとすると、まずは自分の持っているパソコンにあったソフトウェアを用意しなければなりません。

パソコンのOSによって、必要なソフトウェアのバージョンが違ってきたりと、用意するにも一手間。

そんな手間が省けるように、授業では「CS50 IDE」というプログラミング環境が用意されています。

「CS50 IDE」を使えばウェブ上でプログラミングができるので、誰でもすぐにプログラミングを始めることができます。

持っているパソコンがWindowsなのか、Macなのか、またはどんなOSで、OSのバージョンは何かなど、煩わしいことは一切ありません。

もちろん授業自体も教授が「CS50 IDE」を使用して進行するので、教授と同じように操作すれば、同じように動かすことができます。

ちなみにIDEとは、Integrated Development Environmentの略で、日本語にすると「統合開発環境」。

なんじゃそりゃ?って感じですよねw

基本的には以下の3つがが含まれており、プログラムを開発するためのツールがひとまとめになったものだと考えていただければと思います。

・ソースコードを記述するエディタ
・ソースコードからプログラムを生成するコンパイラ
・コードの不備を発見し、修正するデバッガ

実は、ぼくは42のPiscine中もずっと「CS50 IDE」を使ってPiscineの課題を解いていました。

というのも「CS50 IDE」を使い慣れていましたし、デバッガー(プログラムのおかしいところを見つけるお手伝いをしてくれるもの)もついているので、作ったプログラムが正しく動かないときに、割と簡単にミスを見つけることができました。

ちなみに、周りの他のPiscine受験生たちはVS code(Visual Studio Code)の使用者が多かったです。

③英語学習もできる

当然といえば当然ですが、「CS50x」はハーバード大学の授業なので、講義は英語で行われます。

そして、プログラミングをするに際して、英語を使えることは大きなメリット。

まずメジャーなプログラミング言語は英語圏で生まれていますし、ウェブ上では英語での情報が充実しています。

そして、たとえプログラマー同士が英語ネイティブでなくても(例えば日本人やフランス人)、オンラインコミュニティでは基本的に英語でコミュニケーションが行われます。

プログラミングを学ぶ上で英語での情報収集と、コミュニケーションが行えることは大きな意味があります。

それではどうしたら英語が学べるか?

答えは簡単で、英語もプログラミングと同じように「ツール」にすぎないので、使いながら学ぶのが一番。

日本人が英語を喋れない理由は、単純に「日常で使う機会がないから」です。

日本国内で市場が成立しているので、英語が喋れなければ仕事につけない!ということもありません。

(もちろん、通訳や、海外の取引が必要である場合は別ですが。)

あえて英語が必要な環境、英語をツールとして何かを学ぶ環境を作ることが、英語力を伸ばす鍵となります。

日本語でも「CS50x」を受講できます

おまけですが英語が全くわからなくても問題ありません!

「CS50x」の講義は日本語翻訳もされているので、日本語で学ぶことも可能です。

日本語翻訳ページへのリンクを貼っておきます。


匿名のコメ・質問はmondまで👍 https://mond.how/ja/hovinci_jp