One of the main challenges on teaching cloud technologies in collages is how to assess student. For other IT courses, educators can collect some files such as source code and give a grade to students. However, for cloud tech educators, it is hard to use the traditional approach to handle the assessment. Two main problems, firstly it is hard to check each student work one by one manually which is time consuming and error-pone. Secondly, it is not a good idea to get a grade based on a “snapshot”, as students may use IasC tools such as ARM template or terraform and every student gets full mark, but they know nothing!
In fact, for vocational training, my course IT114115 Higher Diploma in Cloud and Data Centre Administration in Department of Information Technology (IT) of the Hong Kong Institute of Vocational Education (Lee Wa.... Our Goal is to ensure our students are skilled to be highly effective cloud engineers. All our students know how to do it well and within the region employers are ready to pay students for the roles but they all want know "who is the best?".
Educators need to have access to the student work and see their code, as part of the Microsoft Learn Educator Programme I have been developing an opensource serverless application – Microsoft Azure Automatic Grading Engine.
The engine includes 2 main functions:
Educators need to complete 3 tasks:
In this example we simply want to test if two students have successfully created a vnet within their Azure Subscription.
If you want to define a assignment named "vnet" and the class with 2 students. graderUrl is the url of Azure Function running Nunit test and return xml result. You just need to create and upload vnet.json as below.
{
"graderUrl": "https://xxxx.azurewebsites.net/api/AzureGraderFunction",
"students": [
{
"email": "xxx@vtc.edu.hk",
"credentials": {
"activeDirectoryEndpointUrl": "https://login.microsoftonline.com",
"activeDirectoryGraphResourceId": "https://graph.windows.net/",
"clientId": "fjfjlfjl;afjlafjal'fjalds;f'",
"clientSecret": "lfakl;fkdf;kal;fkalfak;",
"galleryEndpointUrl": "https://gallery.azure.com/",
"managementEndpointUrl": "https://management.core.windows.net/",
"resourceManagerEndpointUrl": "https://management.azure.com/",
"sqlManagementEndpointUrl": "https://management.core.windows.net:8443/",
"subscriptionId": "183966e3-8333-4764-9c74-a0eb4f883571",
"tenantId": "7edb05ab-42e9-4348-b893-2ba625a350c6"
}
},
{
"email": "yyy@stu.vtc.edu.hk",
"credentials": {
"activeDirectoryEndpointUrl": "https://login.microsoftonline.com",
"activeDirectoryGraphResourceId": "https://graph.windows.net/",
"clientId": "xsxhskjdjksjdlsdjlksjdlsjd",
"clientSecret": "gkjvkjv;ldjv'lvdvmdfhsdkfjsdl",
"galleryEndpointUrl": "https://gallery.azure.com/",
"managementEndpointUrl": "https://management.core.windows.net/",
"resourceManagerEndpointUrl": "https://management.azure.com/",
"sqlManagementEndpointUrl": "https://management.core.windows.net:8443/",
"subscriptionId": "183966e3-8333-4764-9c74-a0eb4f883571",
"tenantId": "7edb05ab-42e9-4348-b893-2ba625a350c6"
}
}
]
}
For grading, students we need to process that the grader has read only access credentials to the students Azure subscription, each student has to create a service principal permission for the app.
For the engine, it is just a simple Azure Function app with consumption plan, This process has been developed so that it can even run inside Azure student subscription plan with very low cost. We have carried out a number of tests using this with Azure for Student subscription.
You need to use Visual Studio 2019 and follow the following video. How to deploy Azure Automatic Grading Engine
Project GitHub Repo https://github.com/microsoft/AzureAutomaticGradingEngine
You can full control Microsoft Azure programmatically and educators can now spend time on preparing a better course instead of wasting on grading Azure assignment manually.
We have been using this kind of automatic grading tools for a few years. Students definatley benefit a lot both in technical and soft skills. Firstly, students must work honestly, seriously, and quickly. As a result, their technique is in industry standard. Also, using auto grading solutions is more fun for most students and you can treat this like a game. We have seen many students trying to get mark as fast as possible. Part of our process is that we do share their mark to employers and employers loves to refer that mark than the students GPA.
Also, it is possible to use the engine for Azure Competition Game. For upcoming features we all add a game like dashboard and allow students to gamify the journey of leaning Azure. We also plan to add Chaos component and we can have trouble shooting assignment, but every student will get different bugs within certain scope.
Project collaborators include, Chan Yiu Leung (Hades), So Ka Chun, Lo Chun Hei, Ling Po Chu, Cheung Ho Shing and Pearly Law from the IT114115 Higher Diploma in Cloud and Data Centre Administration.
Cyrus Wong is the senior lecturer of Department of Information Technology (IT) of the Hong Kong Institute of Vocational Education (Lee Wa... and he focuses on teaching public Cloud technologies. He is one of the Microsoft Learn for Educators Ambassador.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.