CS50 for Japaneseを進めるにあたって

cs50.jp

2022/09~2023/05に2021年版の内容を履修した。指示された通りにやっているのにうまくいかない部分がいくつかあったので、今後やってみる人に向けて環境周りの差分を挙げておく。

本家サイトはこちら。

cs50.harvard.edu

edX等を使っている人にはあまり参考にならないかもしれない。あくまでも上記の日本語版サイトのみを使って進める方向け。

エディタ

日本語版の指示にあるCS50 IDEは非推奨(deprecated)なので、移転後のCS50 codespacesを利用する。

出典:Lab 1: Population Growth - CS50x 2023

  1. https://code.cs50.io にアクセスする
  2. GitHubアカウントでログインする
  3. ブラウザのタブでVS Code codespacesが起動する
  4. (Chromeの場合) アドレスバーのアイコンをクリックすると、デスクトップアプリ(のような感じ)でVS Codeが起動する

check50を使う

labやpsetでフォルダ構成を指定される時もあるが、従わなくても別に問題ない。check50コマンドは実行時のカレントディレクトリにチェック対象のファイルがあればきちんと動作する。

日本語の手順では「コマンドを入力した後、GitHubのIDとパスワードを入力してログインする」とあるが今は違う。

最新版のCS50 IDE(VS Code codespaces)を使っている場合は認証しなくても大丈夫らしい。

下のようなメッセージが表示される時はアクセストークンを生成しなければならない。

Make sure your username and/or personal access token are valid and check50 is enabled for your account. To enable check50, please go to https://submit.cs50.io in your web browser and try again. For instructions on how to set up a personal access token, please visit https://cs50.ly/github
  1. https://cs50.readthedocs.io/github/#personal-access-token にアクセスする
  2. 書かれた通りの手順に従ってアクセストークンを生成する
  3. アクセストークンを適当なファイルに保存する
    • 私はテキストファイルに貼り付けてデスクトップに置いていた
  4. check50で認証を求められた場合は保存したアクセストークンをコピペする

ソースコード

動画中に出てくるソースコードは本家サイトで配布されている。

cs50.harvard.edu

それぞれの週のページを開き、動画下のLecture > Source Code > Zip をクリックすると一括でダウンロードできる。

ただしcodespacesにインポートする手段は特にないので、実行したい場合はcodespaces内のファイルへ中身をコピペしなければならない。

(対応必須) week5 DataStructures Problem Set(Speller)

Speller – CS50 for Japanese: コンピュータサイエンスの入門

日本語版で配布されているソースコードで実装すると、valgrindコマンドを実行した時にエラーが発生する。

unhandled dwarf2 abbrev form code 0x25

Makefileに書かれたコマンドに誤りがあるらしいので、最新版のソースコードをダウンロードして実装する。

wget https://cdn.cs50.net/2022/fall/psets/5/speller.zip

出典:Speller - CS50x 2023