What you are setting up
| Piece | What it does | Cost |
|---|---|---|
| GitHub account | Your identity for every lab and the project | free |
| Classroom 50 (classroom50.org) | Gives you a private repository for each lab and grades it automatically. Built by the team behind Harvard’s CS50. | free |
| GitHub Codespaces | VS Code in your browser, opened from your lab repository, with the C compiler, the CS50 library and the tests ready | free within your monthly quota |
Nothing is installed on the lab computers or your laptop. A browser is enough, and your work is saved on GitHub, so you can continue at home.
Create a GitHub account
⏱ 3 minGo to github.com/signup. If you already have an account, use it.
- Choose a username you would be happy to put on your CV. Recruiters look at GitHub profiles.
- Add your university email to the account (Settings → Emails). It makes the student benefits easier to get.
- Optional but recommended: apply for the free GitHub Student Developer Pack. It includes extra Codespaces hours and many professional tools.
Accept the course invitation
⏱ 1 minThe instructor invites you to the GitHub organization FiratUniversity-IJDP-SoftEng using your email. You receive an email from GitHub with the subject “… invited you to join FiratUniversity-IJDP-SoftEng”. Open it and click Join.
No email? Check spam. Still nothing? Tell the instructor the email address and GitHub username you use.
Sign in to Classroom 50
⏱ 2 min- Open classroom50.org and click Sign in with GitHub. Authorize the app.
- You should see FiratUniversity-IJDP-SoftEng under your organizations. Click Open.
- Under My classrooms, find introduction-to-computer-science and click View assignments.
You are ready. Each week the lab page tells you which assignment to accept.
Try Codespaces once
⏱ 3 minCodespaces opens from a repository, so you will do this for real in the first lab. What to expect:
- On your lab repository page: green Code button → Codespaces tab → Create codespace on main.
- VS Code opens in the browser. The first start takes a minute or two while
gcc,make,valgrindand the tests are installed. - The terminal is at the bottom. That is where you type
make hello,./hello,python3 check.pyandgit push.
Your codespaces are listed at github.com/codespaces. They stop by themselves after 30 minutes without activity. Delete old ones there when the lab is graded, to save your quota.
The weekly loop
Once set up, every lab works the same way:
- Accept the lab on classroom50.org → your repository is created.
- Open it in Codespaces.
- Solve the TODOs; compile with
make, run with./program, and runpython3 check.pyas often as you like. - Push to submit:
git add -A,git commit -m "…",git push. Every push is graded; the score appears under Releases.
Other ways to work (optional)
- cs50.dev. Harvard CS50’s free VS Code in the browser, with the CS50 library and
makepreconfigured. Perfect for following the CS50 lectures and problem sets. For graded labs, Codespaces is simpler, because it opens your own repository with permission to push already set up. - Your own computer. Install a C compiler (macOS:
xcode-select --install; Windows: WSL withsudo apt install gcc make; Linux: your package manager), Git, VS Code and Python 3, thengit cloneyour lab repository. Everything else is the same. - Google Colab. Runs the exploration notebooks, including the C ones (each lab page has an Open in Colab button). It is not suited to the graded files.
- Command line fans. Classroom 50 also has a CLI:
gh extension install foundation50/gh-student, thengh student accept FiratUniversity-IJDP-SoftEng introduction-to-computer-science lab02andgh student submit. See the Classroom 50 student guide.