Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Building CS50 on GitHub

CS50
October 11, 2017

Building CS50 on GitHub

CS50

October 11, 2017
Tweet

More Decks by CS50

Other Decks in Education

Transcript

  1. This is CS50 • CS50 ◦ 800 students at Harvard,

    200 students at Yale • CS50x ◦ 1M registrants online • CS50 AP ◦ 150 high schools, 5,000 students
  2. Solutions 1. Students do work. Homegrown tool. 2. Students submit

    work. Homegrown tool. 3. Teaching fellows review work.
  3. Solutions 1. Students do work. Homegrown tool. 2. Students submit

    work. Homegrown tool. 3. Teaching fellows review work. Homegrown tool.
  4. Solutions 1. Homegrown tool 2. Improved homegrown tool 3. New

    homegrown tool 4. New-and-improved homegrown tool
  5. Solutions 1. Homegrown tool 2. Improved homegrown tool 3. New

    homegrown tool 4. New-and-improved homegrown tool 5. GitHub
  6. Solutions 1. Homegrown tool 2. Improved homegrown tool 3. New

    homegrown tool 4. New-and-improved homegrown tool 5. GitHub + homegrown tool
  7. Solutions 1. Homegrown tool 2. Improved homegrown tool 3. New

    homegrown tool 4. New-and-improved homegrown tool 5. GitHub + homegrown tool
  8. Solutions 1. Homegrown tool 2. Improved homegrown tool 3. New

    homegrown tool 4. New-and-improved homegrown tool 5. GitHub + Docker
  9. Submitting Work 1. submit 2. cs50submit 3. GitHub:FI 4. CS50

    Submit with CLI 5. CS50 Submit with GUI
  10. Submitting Work 1. submit 2. cs50submit 3. GitHub:FI 4. CS50

    Submit with CLI 5. CS50 Submit with GUI 6. submit50
  11. Submitting Work 1. submit 2. cs50submit 3. GitHub:FI 4. CS50

    Submit with CLI 5. CS50 Submit with GUI 6. GitHub
  12. Submitting Work 1. submit 2. cs50submit 3. GitHub:FI 4. CS50

    Submit with CLI 5. CS50 Submit with GUI 6. GitHub 7. GitHub + Docker
  13. Reviewing Work 1. Paper 2. PDF 3. CS50 Submit 4.

    GitHub.com 5. GitHub.com + homegrown tool 0:-)
  14. Why • Client • Server • UI for code review

    • Permissions model ◦ CS50 ◦ CS50x ◦ CS50 AP • Post-commit hooks • ...
  15. What • Client • Server • UI for code review

    • Permissions model ◦ CS50 ◦ CS50x ◦ CS50 AP • Post-commit hooks • ...
  16. Resubmitting • git clone --bare hello /tmp • git symbolic-ref

    HEAD refs/heads/hello • git add --all • git commit --allow-empty --message • git push origin refs/heads/hello
  17. Tagging • git clone • git checkout refs/heads/hello • git

    commit-tree HEAD^{tree} -m 20171011T230000Z • git push origin refs/tags/20171011T230000Z
  18. GitHub + Docker 1. Student pushes code to GitHub 2.

    Post-receive hook informs CS50 of submission 3. CS50 informs ECS of submission 4. ECS clones repo, autogrades branch 5. ECS informs CS50 of scores
  19. tl;dr • CS50 at cs50.edx.org • CS50 IDE at cs50.io

    • submit50 at github.com/cs50/submit50 • check50 at github.com/cs50/check50 • Slides at cs50.ly/universe17