Introduction to Computer Science YMT113 · Fall 2026 Assoc. Prof. Ferhat Uçar

Lab setup: GitHub, Classroom 50 and Codespaces

Do this once, before your first lab. About ten minutes, nothing to install.

What you are setting up

PieceWhat it doesCost
GitHub accountYour identity for every lab and the projectfree
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 CodespacesVS Code in your browser, opened from your lab repository, with the C compiler, the CS50 library and the tests readyfree 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.

1

Create a GitHub account

⏱ 3 min

Go 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.
2

Accept the course invitation

⏱ 1 min

The 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.

3

Sign in to Classroom 50

⏱ 2 min
  1. Open classroom50.org and click Sign in with GitHub. Authorize the app.
  2. You should see FiratUniversity-IJDP-SoftEng under your organizations. Click Open.
  3. 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.

4

Try Codespaces once

⏱ 3 min

Codespaces opens from a repository, so you will do this for real in the first lab. What to expect:

  1. On your lab repository page: green Code button → Codespaces tab → Create codespace on main.
  2. VS Code opens in the browser. The first start takes a minute or two while gcc, make, valgrind and the tests are installed.
  3. The terminal is at the bottom. That is where you type make hello, ./hello, python3 check.py and git 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:

  1. Accept the lab on classroom50.org → your repository is created.
  2. Open it in Codespaces.
  3. Solve the TODOs; compile with make, run with ./program, and run python3 check.py as often as you like.
  4. 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 make preconfigured. 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 with sudo apt install gcc make; Linux: your package manager), Git, VS Code and Python 3, then git clone your 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, then gh student accept FiratUniversity-IJDP-SoftEng introduction-to-computer-science lab02 and gh student submit. See the Classroom 50 student guide.

Troubleshooting