This sprint we have added a new test block to AutoTest v2 for code structure testing! The "Code Structure Test" block uses Semgrep, a popular code structure testing framework. Using this test block allows you to select a version of semgrep to use, specify the file(s) to test and the specify a pattern to match against. Using the Positive match block allows you to check for code structures that your students should have used in their assignment while the Negative match block lets you search for code that should be avoided.
This sprint we we made three key changes focused on bringing more usability to the UI. We have improved the submission list firstly by making it possible to view the assignment description directly rather than having to go to the settings, and secondly, by making it possible to sort submissions by section. Additionally we have improved the plagiarism checker by making it possible to filter cases using the search bar and by making it possible to load more than 100 cases.
This update includes the most recent addition to the "cg" commands suite, "cg checkstyle". This new command improves the the usage of checkstyle in CodeGrade by offering a simple way to install checkstyle and, run and parse the output of checkstyle tests. More information about the use of this command can be found by running "cg checkstyle --help" in a Script block in AutoTest v2.
This update expands on the "cg" command in AutoTest v2 (a pre-installed command for parsing test output). The update adds the option to parse JUnit XML files directly to render the output of unit tests by using the command "cg unit-tests junitxml".
Additionally, the "cg comments generic" command can now generate a score based on the comments that were generated. This feature is enabled simply by setting the --score flag. The impact each comment will have on the score can be customized with the --deduction-<severity> PERCENTAGE flag.
We are making it easier to use custom test frameworks in AutoTest V2 For Code Quality tests, we have created the “cg comments generic” command. You can provide a regex to this command to match any line in the test output and use that to write comments easily to your students’ submitted files. You can read more about how to use this feature here!
Additionally, code quality tests in ATv2 now also place comments on students’ code while they are working in the editor.
The new "Run if" block in AutoTest v2 allows you to determine if your test cases run or not depending on whether tests pass or fail. Select a rubric category and if the percentage of points achieved meets your set criteria, the tests wrapped inside this block will be run, otherwise they will be skipped.
You can now export plagiarism reports in PDF format for ease-of-sharing. The report is beautifully rendered with LaTeX formatting and soon we’ll add more information to this!
When you set up a lock date in CodeGrade's general settings, a pop-up banner will now appear that allows you to grant students the permission to make submissions after the deadline. This makes the process much quicker as you no longer need to find the permission settings in the course management page.
You can now share your assignments with other CodeGrade teachers or import assignments from the community into your own course! The Community Library makes it simpler for new users or users without the time to set up courses to set up their own course in CodeGrade.
You can access the Community Library at the bottom of the general settings of an assignment in the “Danger Zone” next to the assignment importer. Soon you will also be able to publish your assignments to the Community Library. If you already want to share assignments, just reach out to us at support@codegrade.com.
You can now run Flake8 on your students' Python submissions and automatically generate comments on their code.
You can now connect a template GitHub repository to CodeGrade. Enabling this feature will force your students to create a new GitHub repository from the template you have selected rather than selecting an existing repo. You can use this feature by enabling GitHub/GitLab as a submission method and then toggling the "Enable template repository" option. You will then be prompted to provide the URL of the template repo.
Note: You must make sure the GitHub repo you select as the template must be a template repository. This can be set in GitHub by going to settings and checking the box called "Template Repository" under the General Settings.
It is no longer required to set a deadline for your students to create submissions. Previously, students would not be able to create a submission for an assignment without a deadline, whereas now they will instead be able to create submissions indefinitely. Effectively, this change makes it possible to run asynchronous assignments. This is especially useful if your course allows students to make submissions for any assignment throughout the duration of the course.
You can now set different availability, deadline and lock dates in your assignments for different sets of students (sections) with Schedules.
To use this feature, go to the general settings of your assignment and scroll to the Schedules settings. If you have created sections in your course, you can add a new schedule. By default your assignment will only have a single deadline for everyone. Schedules, like deadlines, can be set up for each assignment.
With the new feature you can:
Note:
We've made an improvement to the way you can import assignments from one course to another. You are now first prompted to select which course you would like to import an assignment from and then you can select an assignment from that course. This makes it much easier and fast to find the assignment you are looking for.
We've made a lot of progress on improving our newly released AutoTest v2. Below are some of the key updates from the last two months:
We have improved how you can publish (and synchronize) the grades and feedback to your students. There is now a dedicated toggle on the Assignment Management page. Furthermore, the availability of an assignment is now managed through the "Available" field, which has three options: "Unavailable", "Always Available" and "Available at [DATE]".
This update replaces the Assignment State. Existing assignments are automatically migrated to use the new fields.
You can now use our completely new automatic grader which runs on a new infrastructure and has a completely redesigned user interface. Read more about AutoTest V2!
You can now bulk enroll users into CodeGrade if you are using CodeGrade without an LMS. Simply upload a CSV file with the name, username and email of the students you wish to enroll and your students are enrolled.
If your students don't have an account yet, they will receive an email to register for an account with the details you specified.
This release brings the highly anticipated start of the private beta for the CodeGrade Editor! Furthermore, we have improved experience of CodeGrade on Apple devices, and made setting up your unit tests for .NET and PHP even easier.
This release allows you to personalize CodeGrade even more: Dark Mode can now be toggled automatically and you can select your default Submission Page tab. Additionally, we added many of your small feature request to make your experience even better!
This release improves our peer feedback feature: it is now possible to let groups peer review other groups. Happy new year from all of us at CodeGrade!
This release brings revamped general feedback! It now supports the same awesome features as the inline feedback, such as snippets, markdown and discussions.
We've redesigned our dark mode for this release, making it both prettier and easier on the eyes! But that's not all, it is now also possible to grade submissions in percentages.
API Changes
As this is a major release some API routes have been changed and are not backwards compatible.
This release improves the integration between CodeGrade and GitHub and Gitlab, making it easier than ever to setup git assignments. It is now also easier to setup unit-testing in CodeGrade.
This release brings an updated continuous rubric category, where you can now define a lower and upper boundary. Besides that, the assignment state design has been updated and it's been moved to the general settings.
This release introduces anonymous grading, which hides the student name for teachers while grading. Besides that, you can now also copy entire courses and assignments and we have improved the submissions list with more information.
CodeGrade Orchid brings a big update to AutoTest: setup caching. Caching will make autograding quicker, even for configurations with a performance heavy setup. We have also published a new Filesystem version with this release.
This release makes it easier to allow late submissions using the lock date, making it possible to allow late submissions up to a certain date. We’ve also updated various software packages in AutoTest, and made it easier to use the CG_INFO information.
This release kicks off our push to make AutoTest even better this year. You can now give even more accurate feedback by customizing AutoTest messages, and the workflow for uploading fixtures has been optimized.
Never hyphenate code. When wrapping lines it could happen that code was hyphenated in the Code Viewer.
API Removals
UI Removals
This release brings many small fixes and improvements, and is the last release on our old infrastructure. We will migrate CodeGrade to AWS on the 28th and 29th of December, during which CodeGrade might not be available.
The Rubric Editor has a new design, which allows you to reorder categories and use markdown. The new Code Quality step in AutoTest allows you to grade and add inline comments to submissions based on code style. This will replace the current Linters integration.
UI Deprecations
CodeGrade now has an Exam mode in which students will be able to log in to CodeGrade and only have access to the course of the exam. Other changes include course archiving, importing of hand-in requirements, and including even more information in the AutoTest Unit Test output.
API Deprecations
With CodeGrade Peer Feedback it is now possible for students to review code of other students, allowing them to learn from each other. Furthermore, it is even easier to integrate existing unit tests in AutoTest, by utilizing the new “Unit test” step type.
With our new Feedback Sidebar, you can now view all previous feedback from a student in the course, while grading the current submission. It is now also possible to get submission metadata in AutoTest, for instance to automate late day penalties. Finally, we have upgraded CodeGrade to the newest version of LTI: LTI 1.3 Advantage!
You can now view assignment statistics on the Analytics Dashboard, giving you insight into student performance. Students can now also comment on their own code, and they can reply to comments placed by teachers.
You can now render HTML pages submitted by students right inside CodeGrade, allowing you to preview webpages or test Javascript more easily than ever.
You can now add Continuous Rubric Categories, which can score anywhere on a continuous scale and work great with AutoTest. You can also now set student submission limits and a cool off period.
The hand in page for students has been completely redesigned, making it simpler and easier to use. You can now import AutoTest configurations and the ESLint linter is now available.
It is now possible to hand in via GitHub or GitLab. You can now also write files back from AutoTest to the Code Viewer to ease manual grading.
AutoTest and Continuous Feedback cooperate even better with this release. Tests are always run immediately after handing in, and even fill in the rubric directly when possible. Teachers can still choose when to make results visible to students.
AutoTest and Continuous Feedback are now more reliable and efficient by fixing many small bugs and tweaks in the back-end. Additionally, a diff-viewer is added to the output of IO tests.
It is now significantly more efficient to run AutoTest or Continuous Feedback by a big improvement in our back-end. Additionally, our latest update adds further improvements to CodeGrade and fixes several minor and rare bugs.
You can now make sure students get near instant automatic feedback using our new extension of AutoTest called Continuous Feedback. To better present this feedback to students, we have redesigned the entire submission page to be more intuitive.
WARNING: Update is not backwards compatible. Previous stop / check points break if not updated to percentages.
You can now automatically grade code of students using our brand new feature called AutoTest. This enables teachers to easily create test configurations and students to automatically get insightful feedback.
You can now set up detailed hand-in requirements for your students, create course snippets and the submission page is easier to and has more information (including the possibility to upload multiple files).
Along with many UI improvements and bug fixes, you can connect grading divisions between assignments and import rubrics from previous assignments.
Minor updates
Packages Updates:
Package Updates
Initial CodeGrade release
-