After you create your first assignment of your new course, a CodeGrade course for that assignment will automatically be created for you. Most management is done via your Learning Management System, and all users and their roles will be correctly mapped to CodeGrade. If you do not use a Learning Management System, you will be able to manually manage your course members in CodeGrade.
Managing your course gives you a lot of flexibility, by managing roles and permissions manually. Furthermore, snippets, group sets and contacting students can be managed on a course level. Finally, you can archive your course after it has finished.
As explained above, most user management is done in your Learning Management System, as CodeGrade just copies its members and their roles from there. If you are not using a Learning Management System, learn how to manually add members to your course in the guide below:
Regardless of how users join your course, you will be able to manually change their roles to our default or custom roles. For instance, to give a teaching assistent more permissions or to allow a subset of your students to hand in after the deadline.
All roles in CodeGrade are completely customizable in our extensive permission system, almost every feature and action in CodeGrade has a corresponding permission for you to toggle.
Snippets can be created on a user or course level. Course-wide snippets are available to all graders of a course and allow for efficient and consistent grading. Furthermore, it's a good practice to think about and set up snippets for common mistakes before the start of your course.
Sets of groups are managed on a course level, this has the benefit that you can reuse the same group set for multiple assignments.
If you want to contact your students inside CodeGrade, the easiest way is to do this on a course level.
After your course has ended, you have the option to archive it. Archived courses become invisible to students and will show up on the bottom of your course lists. This can make it easier to differentiate between different iterations of the same course.