GitHub in the Classroom


Courses using version control will use a combination of GitHub and Classroom 50, supported by GitHub Education. Together, these tools provide the repository, assignment-management, version-control, and development workflow used throughout programming courses.

Programming courses, unless otherwise noted, will use Classroom 50 and GitHub for programming assignments, development, version control, and repository management. Blackboard remains the official submission and grading record. Programming courses are expected to follow strict versioning and committing best practices. Other courses that involve programming may have relaxed requirements, which will be explained within those courses.


Why GitHub in the Classroom?

Programming is not just writing code. Professional software development requires version control, disciplined workflows, testing, documentation, and the ability to manage software as it changes. My courses are designed to keep academic work as close to professional practice as reasonably possible, so GitHub is part of the development process—not simply a place to submit assignments.

This is even more important in the AI-Integrated Classroom. AI can generate code; your advantage comes from knowing how to direct, evaluate, test, modify, and manage that code as a software professional. GitHub makes that development process visible and gives you practical experience with tools and practices you can carry beyond the classroom.

back-to-top


Prepare

You will need a personal GitHub account to participate in programming courses. You do not need a separate school GitHub account, and GitHub Education student benefits are not required. However, eligible students may wish to apply for GitHub Education student benefits for access to additional developer tools and services.

Use the same GitHub account throughout the course. Your GitHub username must match the account registered with your instructor and the account you use when accepting Classroom 50 assignments.

Once your GitHub account is set up, you may read the Git and GitHub tutorial and watch the companion video lecture part 1 and video lecture part 2. The tutorial and video are normally assigned as part of the first programming assignment in most programming courses, so you may also wait until the first assignment to complete it.

back-to-top


Understanding GitHub in the Classroom

GitHub, Classroom 50, Blackboard, and your local development environment each have a different role in the assignment process. Understanding those roles makes the workflow much simpler.

  • Blackboard is the course-management and official submission system. Assignment links are provided there, and your final GitHub repository URL is submitted there when your work is ready for grading.

  • Classroom 50 manages programming assignments. When you accept an assignment, Classroom 50 creates and configures a private GitHub repository for you. Depending on the assignment, it may also configure automated testing and a Feedback pull request. After accepting the assignment, you will interact primarily with GitHub rather than Classroom 50.

  • GitHub contains your remote assignment repository. Your source code, required project files, commit history, and development record are stored there. This is where you push your work and where your instructor will review and grade it. You will also see any automated testing results there if the assignment is configured for autograding.

  • Your local computer is where normal development takes place. You clone the repository once, then edit, test, commit, and push your work as the assignment develops.

When an assignment is complete, you do not upload the project files to Blackboard. You submit the normal GitHub web URL for the assignment repository. Blackboard records that the assignment is ready for grading; the actual programming work, project files, commit history, and Classroom 50 information remain in GitHub.

back-to-top


Assignment Workflow

The following is the normal recurring workflow for a Classroom 50 programming assignment. The linked detailed student guide below explains the complete process, including first-time authorization, screenshots, and repository details. This section is only a high-level summary of the recurring workflow for each assignment.

  1. Open the assignment in Blackboard. Follow the Classroom 50 assignment link provided with the assignment.
  2. Accept the assignment. Classroom 50 creates and configures your private GitHub repository. The first time you use Classroom 50, you may also need to authorize it to work with your GitHub account.
  3. Open the repository on GitHub. Verify that you are using the correct GitHub account and read the assignment instructions provided in the repository.
  4. Clone the repository to your local computer. Use the SSH repository address and work locally on the main branch.
  5. Develop incrementally. Use the normal cycle: edit → test → commit → push → repeat.
  6. Review automated feedback. When autograding is enabled, check the available Classroom 50 results as you work. Treat these results as development feedback, not as the final assignment grade.
  7. Verify the finished repository. Make sure the assignment is complete and tested, all required files are present, all completed work is committed, and all commits have been pushed to GitHub.
  8. Submit the repository URL in Blackboard. Submit the normal HTTPS GitHub web URL from your browser address bar. Do not submit the SSH clone address, a .git URL, an individual file or commit, a pull request, or the Classroom 50 assignment-acceptance link.

back-to-top


Detailed Student Guide

The Assignment Workflow above is intended as a quick reference. For your first assignments, use the complete illustrated student guide:

Classroom 50 Student Assignment Guide (PDF)

The guide provides complete instructions and screenshots for joining the course organization, first-time Classroom 50 authorization, accepting an assignment, understanding the generated repository, cloning with SSH, developing and pushing work, checking autograding feedback, and submitting the finished repository through Blackboard.

New students should follow the detailed guide closely for the first few assignments. Once the process becomes familiar, the Assignment Workflow section above should normally be enough to remind you of the recurring process.

back-to-top


Instructors interested in setting up Classroom 50 should visit the Instructor Resources page and contact me with any questions.