@@ -14,22 +14,41 @@ This extension assumes:
1414 [ assignment
1515 submissions] ( https://docs.moodle.org/501/en/Using_Assignment#Downloading_student_submissions ) .
1616
17- * That folder has a subfolder for each student.
17+ * That folder has a subfolder for each student submission .
1818
19- * Each subfolder has a file ending with the suffix ` _assignsubmission_onlinetext `
20- with a link to a remote repository with the student's solution to the assignment; or
21- it has the actual files with the solution to the assignment.
19+ * Each subfolder has a file ending with the suffix
20+ ` _assignsubmission_onlinetext ` with a link to a remote repository with the
21+ student's solution to the assignment; or it has the actual files with the
22+ solution to the assignment.
2223
23- * Teacher has created an ` agent.md ` file with the GitHub Copilot Custom Agent
24+ In the first case, the assignment in Moodle has been configured to accept
25+ online text only. In the second case, the assignment is configured to accept
26+ files.
27+
28+ * Teacher already has an ` .agent.md ` file with the GitHub Copilot Custom Agent
2429 for grading students' submissions. This extension will copy the file in the
25- appropriate location.
30+ appropriate location, ready to be used by grading command. See [ Grading Agent
31+ Example] ( #grading-agent-example ) below.
32+
33+ * The provided grading agent creates a ` .md ` file in each student submission
34+ folder with the feedback or rationale behind the grade. This extension can
35+ delete those files and file names can be configured.
36+
37+ * The provided grading agent creates a ` .csv ` file in the workspace folder with
38+ a summary of all grades. This extension can delete that file and file name can
39+ be configured.
40+
41+ * The rubric used to evaluate and grade the assignments is provided either in
42+ the grading agent or in a sepparate file referenced by the grading agent. The
43+ rubrics can even be in each student submission -e.g. students cloned or forked
44+ a repo with the rubric in it.
2645
2746## Features
2847
2948* The command ** Grading Agent: Extract Students' Repositories** looks for files
30- with the suffix ` _assignsubmission_onlinetext ` in subfolders and creates a
31- ` students_repos.json ` file with the links to the repositories. A ` .csv ` and a
32- ` .txt ` file with the same information are also created.
49+ named ` onlinetext.html ` in subfolders and creates a ` students_repos.json ` file
50+ with the links to the repositories. A ` .csv ` and a ` .txt ` file with the same
51+ information are also created.
3352
3453* The command ** Grading Agent: Clone Students' Repositories** clones each
3554 repository in a ` repo ` folder in each subfolder. Links to the repositories are
@@ -39,23 +58,22 @@ This extension assumes:
3958 previously cloned repositories.
4059
4160* The command ** Grading Agent: Open Grading Agent** copies the selected file to
42- the appropriate location. See [ Grading Agent Example] ( #grading-agent-example )
43- below.
61+ the appropriate location to be used by the ** Grading Agent: Grade Submission**
62+ command. See [ Grading Agent Example] ( #grading-agent-example ) below.
63+
64+ * The command ** Grading Agent: Configure Chat Auto Approve** configures Visual
65+ Studio Code settings to auto-approve dotnet commands in the GitHub Copilot
66+ chat window.
4467
4568* The command ** Grading Agent: Grade Submission** opens the [ Github Copilot chat
4669 window] ( https://code.visualstudio.com/docs/copilot/chat/getting-started-chat )
4770 and pastes a prompt to use the provided grading agent to grade the opened
48- submission. The user should send the prompt to GitHub Copilot chat window.
49-
50- * The command ** Grading Agent: Configure Chat Auto Approve** configures Visual
51- Studio Code settings to auto-approve dotnet commands in the chat window.
71+ submission. The user should send the prompt to GitHub Copilot.
5272
5373* The command ** Grading Agent: Delete Grades** deletes grade files from the
5474 workspace and student folders. These files are generated from the grading
55- agent, so any name is valid; see the [ grading agent
56- example] ( #grading-agent-example ) below. This extension assumes there is a
57- ` grades.csv ` file in the workspace folder and a ` GRADE.md ` , but names can be
58- configured; see [ configuration] ( #configuration ) below.
75+ agent, and file names can be configured. See [ grading agent
76+ example] ( #grading-agent-example ) and [ configuration] ( #configuration ) below.
5977
6078## Requirements
6179
@@ -73,19 +91,18 @@ assignment submission.
7391
7492Here's a complete grading agent:
7593
76- ``` markdown
94+ ``` text
7795---
7896name: 'Grading Agent'
7997description: 'This agent grades students assignments based on a rubric.'
8098tools: ["read", "search", "edit", "execute"]
8199---
82-
83100# Instructions
84101
85102You're a teaching assistant in a programming course.
86103
87- Your task is to grade student assignments based on the rubric in
88- [ this file] ( ../../README.md ) to evaluate and calculate points.
104+ Your task is to grade student assignments based on the rubric in the `README.md`
105+ file in each student submission to evaluate and calculate points.
89106
90107The assignment is in the folder where the currently opened file is located.
91108
@@ -108,30 +125,36 @@ In addition to the rubric:
108125 instructions.
109126
110127There should be a [grades.csv](../../grades.csv) file, if not, create one. In
111- that file, add a new line with the student identifier and the grade assigned.
112- Folder names and student's identifiers are [ here] ( ../../students_repos.json )
128+ that file, add a new line with the student's name and identifier, and the grade
129+ assigned. Folder names and student's identifiers are
130+ [here](../../students_repos.json)
113131
114132In the assignment submission folder, create a GRADE.md file with an explanation
115133of the score. The language should be Spanish.
116134```
117135
118136In order for this grading agent example to work, there should be a ` README.md `
119- file in the folder opened in Visual Studio Code, or a ` README.md ` in each
120- subfolder, with the instructions for the assigment given to the students and a
121- rubric with the grading criteria.
137+ in each subfolder, with the instructions for the assigment given to the students
138+ and a rubric with the grading criteria. The grading agent can be easily adapted
139+ to use a ` README.md ` file with the rubric in the workspace folder opened in
140+ Visual Studio Code. The rubric can be also included right in the grading agent
141+ file.
122142
123143References to files used by the grading agent are included as markdown links.
124144
125- In this example all grades are collected in a ` grades.csv ` file in the folder
126- opened in Visual Studio Code; it has the format that Moodle uses to import
127- grades.
145+ In this example all grades are collected in a ` grades.csv ` file in the workspace
146+ folder opened in Visual Studio Code; it has the format that Moodle uses to
147+ import grades, but the grading agent can be modified to export in any format;
148+ just use natural langague to describe your format.
128149
129150The feedback for each submission is generated in a ` GRADE.md ` file in each
130- subfolder.
151+ subfolder; again, just use natural language to describe the structure of this
152+ file if needed.
131153
132154## Configuration
133155
134- You can customize the grade file names through Visual Studio Code settings:
156+ You can customize the generated grade file names through Visual Studio Code
157+ settings, to match the ones used in your grading agent:
135158
136159** Workspace configuration** , in ` .vscode/settings.json ` :
137160``` json
0 commit comments