CS50とは
「CS50」は ハーバード大学で実施されているコンピュータサイエンスのコースです。
edX でも無料で受講できます。$199ドル で 修了証の発行 も実施しています。
ドル払いですが、VISA や Mastercard のクレジット決済が可能なので簡単です。
修了証発行の条件は、
「9つの問題セット(つまり、プログラミングの課題)と最終プロジェクトで満足のいくスコアを獲得した学生は、証明書の資格があります。」
となっています。
CS50 for Japanese: コンピュータサイエンスの入門
https://cs50.jp/CS50x 2021
https://cs50.harvard.edu/x/2021/CS50 Docs
https://cs50.readthedocs.io/edX - CS50's Introduction to Computer Science
https://www.edx.org/course/introduction-computer-science-harvardx-cs50xedX 支払方法について
https://support.edx.org/hc/en-us/articles/360038196354-How-can-I-pay-
全体の流れ
- WSL2(Windows Subsystem for Linux)をインストールする
- ストア版 Ubuntu 20.04 をインストールする
- Ubuntu に Docker & Compose をインストールする
- Ubuntu に pip3 をインストールする
- pip3 で CS50 IDE パッケージをインストールする
WSL2(Windows Subsystem for Linux 2)の有効化
- WSL の有効化
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
- WSL バージョン2 で使う
wsl --set-default-version 2
ストア版 Ubuntu 20.04 LTS のインストール
Microsoft ストア から Ubuntu 20.04 LTS をインストールする
https://aka.ms/wslstoreWSL バージョン確認
Ubuntu-20.04 が WSL のバージョン 2で動いていることを確認します。
> wsl --list --verbose NAME STATE VERSION * Ubuntu-20.04 Running 2
[ストア版Ubuntu 再インストール時にエラーが出る時]
https://answers.microsoft.com/ja-jp/windows/forum/windows_10-windows_store/%E3%82%B3%E3%83%BC%E3%83%89-0x80073d05/7f62b276-896f-4077-af6c-a6e076d2abfd
ストア版 Ubuntu を起動すると、最初にユーザーの作成が求められますので、
任意でユーザーIDとパスワードを設定してください。
Docker Engine のインストール
ここからは Ubuntu での操作です。
1行ずつ以下のコマンドを実行してください。
sudo apt-get remove docker docker-engine docker.io containerd runc sudo apt-get update sudo apt-get -y install apt-transport-https ca-certificates curl gnupg lsb-release curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update sudo apt-get -y install docker-ce docker-ce-cli containerd.io
- Docker の起動と hello-world テスト
ストア版 Ubuntu は systemctl が素直に動作しないので service コマンドを使用。
sudo service docker start sudo docker run hello-world
Docker Compose のインストール
最新バージョンを確認する https://github.com/docker/compose/releases
URLのバージョン部分を書き換える。現時点では「1.29.2」。
sudo curl -L https://github.com/docker/compose/releases/download/1.29.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose
pip3 のインストール
sudo apt -y install python3-pip
ide50 のインストール
sudo pip3 install ide50
CS50 IDE の展開と起動
sudo ide50 start
初回は少し時間がかかります。
Running on http://0.0.0.0:1337 :::1337/. Run `ide50 stop` to stop.
と表示されると起動完了です。
ブラウザで http://127.0.0.1:1337 を開くと CS50 IDE が表示されます。
ストア版 Ubuntu にサービスの自動起動の設定がないため、
Ubuntu を起動する度に Docker と CS50IDE も起動する必要があります。
sudo service docker start sudo ide50 start
CS50x のコード実行してみる
各 Week の [Lecture → Source Code → Zip] からサンプルコードがダウンロードでき、
CS50 IDE にフォルダーごとアップロードも可能です。
bash ターミナルから ls コマンドで確認してみてください。