Course tooling for computer science
Coursework on real GitHub, managed from one place
UCF-Code-Connect turns a Canvas roster into per-student GitHub repositories, grades them with Actions, and sends the marks back — all inside an organization you control.
How it works
- 1
Import your Canvas roster and share one invite link.
- 2
Students sign in with GitHub and claim their own name from the roster.
- 3
Create an assignment from a template; every student gets a repository.
- 4
Autograded scores collect, and a CSV goes back to Canvas.
What it does
Your organization, your repositories
Assignments are generated into a GitHub organization you own. Students work in real repositories, with real Actions and real pull requests — not a simulation of them.
Canvas roster in, grades back out
Import a Gradebook CSV and get a diff preview before anything changes. Export a file Canvas matches on the identity columns it gave you, so nobody is imported twice.
Individual and group work
One repository per student, or one per team with a GitHub team behind it. Late joiners are added to the existing team rather than getting a second repository.
Autograding on every push
A workflow runs your tests and reports a score per student. It pulls results rather than having repositories push to you, so grading survives the app being offline.
Feedback pull requests
An open pull request per student, pinned to the starting state, so its diff always shows the whole submission and you can comment line by line.
Deadlines and extensions
Per-student and per-team extensions, an optional lock at the deadline, and the commit SHA at the deadline recorded so late pushes stay visible either way.
Getting access
Accounts are not self-serve. Which door you use depends on who you are.
Students
Use the invite link your instructor gave you. It signs you in and lets you claim your name from the course roster. There is nothing to set up here first.
Faculty
Teaching staff join by invitation from an administrator. If you have an invitation link, open it and accept — that is the whole process.
Interested in using this for your course? Ask for an invitation.
