« Return to AACT homepage

AACT Member-Only Content

You have to be an AACT member to access this content, but good news: anyone can join!

Need Help?

Students’ grades should reflect what they know and can do, and students should have multiple opportunities to demonstrate proficiency in course content standards. This is not a new idea in education, and it goes by many names: assessment for learning, standards-based grading, mastery learning, etc.

While this concept has attained widespread acceptance in theory, it creates several significant hurdles in practice. One of the greatest such obstacles for chemistry teachers is the assessment of lab work. Reviewing and correcting an entire stack of lab papers is obnoxious enough, but the workload can double or triple when students start re-attempting assessments or re-submitting reports to improve their scores. Of course, we want to recognize our students’ additional efforts to demonstrate proficiency, but how do we do it with a sustainable grading workload?

© faithiecannoise/Bigstock.com

For once, technology can help. With a little bit of preparation, you can program Moodle (a widely available and free learning management system used by many schools) to correct students’ lab calculations and provide immediate feedback. Moodle can be complex and intimidating for novice users, so having a solid working knowledge of Moodle quizzes is helpful; this method is recommended for intermediate-to-advanced Moodle users. Here, I will walk through an example using a simple stoichiometry exercise used with my 11th grade general chemistry students.

The problem

First, students are asked to calculate the expected yield (in g CO 2) from reacting 0.075 mol HCl with a certain mass of sodium bicarbonate. Students are allowed to select any mass between 4 and 6 grams; for all such masses, sodium bicarbonate will be the limiting reactant (although this is not disclosed to students and they must deduce it themselves). Students weigh their beaker before and after the reaction to determine the mass of CO 2 evolved. The specifics of the lab exercise are not important; this method can be used to assess practically any calculations based on student-collected data.

Technology requirements

Ideally, each student should have their own computer, tablet, or smartphone, although sharing devices among 2–4 students is feasible. Your school must have a Moodle server, and the plugin “multinumerical question type” created by Nicholas Dunand, which is available free in the Moodle plugins directory, must be installed and enabled. The plugin is supported by Moodle versions 1.9 through 3.3. Teachers generally do not have the administrative privileges required to do this, so contact your IT support department. Additionally, you must have a Moodle course set up and your chemistry students enrolled in that course.

Setting up Moodle

Under the Course Administration menu, click on “Question bank,” then on “Questions.” Create a new question of the “Multinumerical” type. My question text for this problem is shown in Figure 1.

Figure 1. Sample text describing a question.

The problem numbers refer to the paper handout I give my students for data collection, and are included here only to help students as they transfer their data from their paper onto the computer.

The next field we need to complete is “Parameters.” Under Multinumerical question, type specific options. This is where we name the variables that the program will prompt students to enter. Note that spaces are not allowed in variable names. The students will see these names, so we should call them something recognizable, as shown in Figure 2.

Figure 2. Sample text describing parameters.

The “Constraints” box is what sets the “Multinumerical” question type apart from Moodle’s built-in calculated question type. Students enter multiple values, which can then be checked individually or compared with each other using formulas. For example, a student could be prompted to measure the mass and volume of an object and then calculate and enter its density; the computer can check that the measurements are within a specified reasonable range, and then check that the value entered for density is the same as the mass divided by the volume. “Constraints” work a bit like Excel formulas, but they have their own finicky syntax requirements, which are detailed on the plugin’s documentation page on moodle.org. The best way to check that you’re doing it right is through trial and error, inputting known correct and incorrect values, and seeing that the computer is marking accordingly. Here are mine:

mass_NaHCO3 = [4;6]

This line of programming checks that the student’s starting mass of NaHCO3 is within the limits prescribed by the lab exercise directions. Of course, you can adjust these to any values you want.

vol_HCl = 75

This line checks that the student used exactly 75 mL of 1.0 M HCl as directed in the procedure.

theo_CO2 = [(mass_NaHCO3*.523866)-0.05;(mass_NaHCO3*.523866)+0.05]

This line calculates the expected theoretical yield given the student’s starting mass of the limiting reactant, NaHCO3. Because of the 1:1 stoichiometry of this reaction, the mass of CO2 produced should be equal to the ratio of the molar mass of CO2 to the molar mass of NaHCO3, which is 0.523866. If we simply used mass_NaHCO3*.523866 as our third line, the computer would mark as incorrect any student answer that’s off even slightly from the expected value. We can accommodate rounding errors by using the range function with square brackets and a semicolon, as shown on the following line. Here, we instruct the computer to accept any answer within 50 mg of the expected theoretical value.

actual_CO2 = [(mass_NaHCO3*.523866)-0.13;(mass_NaHCO3*.523866)+0.13]

A finding of 0.13 g CO2 would represent an approximately 5% error for a student using 5 g NaHCO3. If desired, this figure could be replaced with a formula that actually calculates 5% of the expected mass, but this makes little difference to the student. For an acid-base reaction, 5% error should be easily achievable for a high school student, even without particularly careful technique; this value can be adjusted depending on the expectations of the instructor and the nature of the reaction.

percentyield = [((actual_CO2/theo_CO2)*100)-.1;((actual_CO2/theo_CO2)*100)+.1]

Finally, we check that the student has correctly calculated the percent yield based on their own data, again with a built-in allowance for rounding errors.

Each constraint should be entered on its own new line in the box, as shown in Figure 3.

Figure 3. A description of constraints.

The next text field, “Per constraint feedback,” is optional but may be used to provide guidance to students for each of their entries. Each line should correspond to the same line in the “Constraints” box, and must be of the format:

feedback for correct input|feedback for incorrect input

where “|” is the “pipe” symbol, found on the same key as the backslash on most keyboards. Here is mine:

You used the correct mass of sodium bicarbonate|It looks like you used too much or too little sodium bicarbonate, or you made a mistake zeroing your balance, or maybe it was not set to grams You used the correct volume of HCl|You didn't use the correct volume of HCl--read the lab directions carefully Good job, you calculated the theoretical yield of carbon dioxide correctly|Your theoretical yield is incorrect. Did you determine the limiting reactant first? Is your "fishbone" set up correctly? Ask Mr. LB for help. Good job, your actual yield was within 5% of the expected mass|Your actual yield seems off, probably due to experimental error You calculated your % yield correctly|You did not calculate % yield correctly. Did you do actual / theoretical? Did you remember to multiply by 100 to convert to a percentage?

Next, create a new quiz on your course page using the “Add activity or resource” button, and edit the quiz, adding your new question. You can include other questions too, like multiple-choice items to assess overall understanding of the lab exercise (e.g., “Which reactant was limiting?” or “Which of these potential sources of experimental error would be expected to DECREASE your percent yield?”)

In the top part of Figure 4 is a sample response that would be scored 100% correct, with the feedback a student would see after submitting it appearing below. Figure 5 shows a partially correct response and corresponding feedback. Students receive immediate feedback without having to wait for a teacher to check their calculations; this can even be done from home. This also gives students the opportunity to make corrections and resubmit their calculations without any extra grading on the teacher’s part.

Figure 4. Sample correct answer and response.
Figure 5. Sample incorrect answer and response.

There are several advantages for students and teachers using this approach. Teachers, freed from the repetitive task of checking calculations, can devote more time to providing high-quality feedback on other parts of the lab report. Students receive immediate feedback and can quickly verify that they’ve done their calculations correctly, rather than waiting days or weeks to have graded papers handed back. Finally, the entire classroom community benefits from the culture of persistence and continuous improvement that this technique supports.


Thanks to Nicolas Dunand for programming the Multinumerical plugin and making it freely available, and to my students for being my guinea pigs on this project!