STACKing Codes - Automated Assessment in Higher Mathematics
We will learn how to use modern automated assessment tools to prepare materials for courses in higher mathematics.
Description
It is often said that one of the best ways to gain a deep understanding of a topic is to teach it to somebody else. In this project, we will apply this maxim to a 3H mathematics course, designing automated assessment materials suitable for other students to use to help them learn the course. We will use the topic of error-correcting codes (see also this excellent book) as an example course, though it is not necessary to also be taking the Cryptography and Codes course.
Automated assessment is a powerful teaching tool, enabling learners to test their own understanding without the requirement of an external marker. This allows students to get feedback at a pace that would be unfeasible without the use of such tools. This is turn allows for students to immediately test whether they have understood the feedback and hence better understood the material - this is sometimes known as closing the feedback loop. This style of assessment is known as formative assessment (or assessment for learning), as opposed to summative assessment (or assessment of learning). However, producing automated assessments can be challenging, requiring both the pedagogical skills to know what sorts of errors to check for and what feedback to give, as well as the technical skills to produce an assessment capable of checking for these errors.
In this project we will use a tool called STACK, which in turn uses a computer algebra system known as Maxima, in order to assess students’ answers to the questions we design, and to produce feedback which the students can then use to help develop their knowledge. We will consider what makes for an effective formative assessment, as well as how to provide useful feedback to a student - pedagogical skills which are important in teaching, beyond producing automated assessments. Students taking this project will choose a topic from coding theory to learn about, and produce an assignment designed to support other students in learning about this topic.
Prerequisites
Algebra II is a prerequisite for this project. Students taking this project will also be expected to have a good understanding of linear algebra. This project will also require some programming in a system called Maxima - no prior experience of Maxima is necessary.
Resources
- W. Cary Huffman & Vera Pless Fundamentals of Error-Correcting Codes
- T. Lowe, C. Sanguin & I. Jones Getting started with STACK
- The STACK docs
- The Maxima Manual