Assessment in Undergraduate Programming-Based Mathematics Courses


Since 2001, undergraduate mathematics majors and future mathematics teachers at Brock University (Canada) learn through a sequence of three courses to use programming to conduct mathematical inquiries or investigate real-world applications. In this paper, we provide a rich description of the assessment process of mathematics implemented in these courses by examining the assessment of two specific programming-based tasks: 1) a first-year assigned project about a discrete dynamical system; and 2) a second-year open-ended project for which students decide their own topics. We also examine the assessment of the overall course sequence, including the two tasks, from the perspective of computational thinking by use of Brennan and Resnick’s framework extended for mathematical inquiry. By mainly involving programming-based mathematics projects of increased complexity, the overall assessment of these courses provides a concrete classroom implementation that fits Brennan and Resnick’s design scenarios approach to the assessment (in a research setting) of computational thinking.

This is a preview of subscription content, access via your institution.

Fig. 1
Fig. 2
Fig. 3


  1. 1.

    The MICA I-II-III courses were recently re-numbered and modified. In this paper, we refer to the courses as described in the official 2015–16 Brock calendar (, namely MATH 1P40, 2P40, 3P40.

  2. 2.

    Except for one minor element added by Buteau in 2012 as briefly mentioned in Assessing computational thinking for mathematical inquiry in MICA courses.

  3. 3.

    Unlike the other assessment components, the coding quizzes are a recent addition in MICA courses. They were added by Buteau in response to a seemingly newer trend of students completing the MICA I course without sufficient proficiency with programming basics.

  4. 4.

    Mathematical formula may be added by hand to the write-up.


  1. Ben-El-Mechaiekh, H., Buteau, C., & Ralph, W. (2007). MICA: a novel direction in undergraduate mathematics teaching. Canadian Mathematics Society Notes, 39(6), 9–11.

    Google Scholar 

  2. Brennan, K., & Resnick, M. (2012). New frameworks for studying and assessing the development of computational thinking. In Proceedings of the 2012 annual meeting of the American Educational Research Association, Vancouver, Canada.

  3. Buteau, C., Jarvis, D. H., & Lavicza, Z. (2014). On the integration of Computer Algebra Systems (CAS) by Canadian mathematicians: Results of a national survey. Canadian Journal of Science, Mathematics, and Technology Education, 14(1), 35–57.

    Article  Google Scholar 

  4. Buteau, C., & Muller, E. (2010). Student development process of designing and implementing exploratory and learning objects (pp. 1111–1120). Lyon: In Proceedings of the Sixth Conference of European Research in Mathematics Education.

    Google Scholar 

  5. Buteau, C., & Muller, E. (2014). Teaching roles in a technology intensive core undergraduate mathematics course. In A. Clark-Wilson, O. Robutti, & N. Sinclair (Eds.), The mathematics teacher in the digital era (pp. 163–185). Dordrecht: Springer.

    Google Scholar 

  6. Buteau, C., Muller, E., Marshall, N., Sacristán, A. I., Mgombelo, J. (2016). Undergraduate mathematics students appropriating programming as a tool for modelling, simulation, and visualization: A case study. Digital Experiences in Mathematics Education, 1–25. doi:10.1007/s40751-016-0017-5

  7. Buteau, C., Muller, E., & Marshall, N. (2015a). When a university mathematics department adopted core mathematics courses of an unintentionally constructionist nature: really? Digital Experiences in Mathematics Education, 1(2–3), 133–155.

    Article  Google Scholar 

  8. Buteau, C., Muller, E., & Ralph, B. (2015b). Integration of Programming in the undergraduate mathematics program at Brock University. In Online Proceedings of the Math + Coding Symposium, London (Canada), June 2015.

  9. Caron, F., & Ben-El-Mechaiekh, H. (2010). Assessment in mathematics courses integrating technology: Technical/pedagogical challenges and curricular considerations. Discussion panel at the Workshop on Technology Integration in Teaching Undergraduate Mathematics Students, Toronto, ON, Canada.

  10. Clements, M. K., Bishop, A., Keitel-Kreidt, C., Kilpatrick, J., Leung, F. K. S. (Eds.). (2013). Third international handbook of mathematics education (Vol. 27). Springer Science & Business Media.

  11. European Mathematical Society (2011). Position paper of the European mathematical society on the european commission’s contributions to European research [online]. Available:

  12. Grønbæk, N., Misfeldt, M., Winsløw, C. (2009). Assessment and contract-like relationships in undergraduate mathematics education. In University science and mathematics education in transition (pp. 85–105). Springer US.

  13. Grover, S., & Pea, R. (2013). Computational thinking in K–12 a review of the state of the field. Educational Researcher, 42(1), 38–43.

    Article  Google Scholar 

  14. Houston, K. (2002). Assessing undergraduate mathematics students. In The Teaching and Learning of Mathematics at University Level (pp. 407–422). Springer Netherlands.

  15. Hoyles, C., & Noss, R. (2008). Next steps in implementing Kaput’s research programme. Educational Studies in Mathematics, 68(2), 85–97.

    Article  Google Scholar 

  16. Liu, O. L., Lee, H.-S., & Linn, M. C. (2010). Multifaceted assessment of inquiry-based science learning. Educational Assessment, 15(2), 69–86.

    Article  Google Scholar 

  17. MICA URL (n.d.). Exploratory and Learning Objects created by Brock students in mathematics courses [Online]. Available:

  18. Muller, E., Buteau, C., Ralph, W., & Mgombelo, J. (2009). Learning mathematics through the design and implementation of Exploratory and Learning Objects. International Journal for Technology in Mathematics Education, 16(2), 63–74.

    Google Scholar 

  19. Noss, R., & Hoyles, C. (1996). Windows on mathematical meanings: Learning cultures and computers (Vol. 17). Dordrecht: Kluwer.

    Book  Google Scholar 

  20. Ralph, W. (2001). Mathematics takes an exciting new direction with MICA program. Brock Teaching, 1(1), 1. Available:

  21. Scratch (n.d.).

  22. Stacey, K., & Wiliam, D. (2013). Technology and assessment in mathematics. In Third international handbook of mathematics education (pp. 721–751). Springer New York.

  23. Weintrop, D., Beheshti, E., Horn, M., Orton, K., Jona, K., Trouille, L., & Wilensky, U. (2016). Defining computational thinking for mathematics and science classrooms. Journal of Science Education and Technology, 25(1), 127–147.

    Article  Google Scholar 

  24. Wing, J. (2006). Computational thinking. Communications of the ACM, 49(3), 33–36.

    Article  Google Scholar 

Download references

Author information



Corresponding author

Correspondence to Chantal Buteau.


Appendix 1. Third EO Assignment Guidelines and Assessment Scheme (Winter Term 2014)

Your goal is to write a program that allows a user to first input a particular cubic equation and then explore its dynamics on the interval [0,1].

  1. Part 0:

    Participation in the lecture [about the interactive exploration of the dynamical system of the logistic function] with a working program: (5 marks)

  2. Part I:

    Your interactive dynamical system exploration program on a CD (or USB key)

    1. 1)

      The user should be able to enter the parameters a and b for the function g(x) = −2x3 + 3(a + b)x 2 - 6abx + 8

    2. 2)

      Your program should (internally) find the exact maximum M and minimum m of the function g(x) on the interval [0,1]. (Hint: Use the closed interval method)

    3. 3)

      Set f(x) = (g(x)-m)/(M-m). Note that the range of f(x) is exactly [0,1]. At the click of a button, we see the graphs of y = f(x) and y = x appear. (These graphs should just touch the bottom and top of your picture box.) (20 marks)

    4. 4)

      The user should be able to enter an initial value for the dynamical system determined by f and at the click of another button see a table of values appear and the dynamics (cobweb) drawn in the picture box as in parts 6) to 11) of lab#9. (25 marks)

    NOTE: Your program should have an attractive user-friendly interface and good programming style: it should use comments, functions and sub procedures, and should be efficient. (10 marks)

  3. Part II:

    The exploration and hand-written (or typed) report. Your hard-copy report will consist of four parts under the following headings:

    1. 1.

      INTRODUCTION. Write a short paragraph introducing your project. If you use resources (internet, book, article, etc.), give the reference(s) — up to 8 lines (2 marks)

    2. 2.

      MATHEMATICS BACKGROUND USING AN EXAMPLE — up to 2 pages (8 marks)

      1. a.

        Use the two last digits, d1 and d2, of your student number and set the values a = d1/10 and b = d2/10; this defines a specific function g. Use it in the following.

      2. b.

        Using any technology (e.g. Maple), draw the graph of g with domain [0,1].

      3. c.

        Find the maximum and minimum of g, and define f as in step 3 (Part I).

      4. d.

        Using any technology (e.g. Maple), draw the graph of f, and write a sentence or two to explain its relation to the graph of g.

      5. e.

        Select an initial values x0, use your program to compute the first 10 terms of the sequence of the iterative function system based on f, and use the data to explain how the sequence is built. Identify the convergence or divergence of the sequence.

      6. f.

        Draw manually the corresponding cob-web (in the graph of f), and describe how the convergence or divergence of the sequence is visualized.

      7. g.

        Show how to find (algebraically) the fixed points of f (you may use Maple for computations), and plot them in the graph of f. Using your program, classify them (attracting, repelling or neither) and describe in your own words what each classification means.

    3. 3.


      1. a.

        Use your program to find values of a and b so that f(x) has three fixed points. Use any method (including Maple) to prove that they are fixed points. Classify each point as attracting or repelling or neither and give written evidence for your claims. (20 marks)

      2. b.

        Find 3 different pairs of values of a and b and a starting value so that subsequent values oscillate closer and closer to a finite number (between 3 and 100) of values. Describe what happens. (7 marks)

    4. 4.

      DISCUSSION/CONCLUSION. Write a short paragraph concluding your exploratory work (e.g., discuss further about 3a) or 3b); about dynamical systems; about the use of cobwebs, etc.). If you use resources (internet, book, article, etc.), give the reference(s) — up to half a page (3 marks)

Appendix 2. Student guidelines and grading scheme for their MICA I final project

The project consists of an interactive computer environment (in together with a written report. It can be one of three types, all of which being considered equally important:

  1. a)

    an INVESTIGATION of a mathematical conjecture/problem/theorem

  2. b)

    a LEARNING OBJECT designed to teach/test mathematical concepts at a specific grade level (Grades 4–12)

  3. c)

    a “real world” APPLICATION of mathematics

The project should demonstrate sophisticated knowledge of tools.

The interface must be very friendly, self-explanatory and a pleasure to work with.

Written Report. Your hard-copy typedFootnote 4 report will have the following information under the indicated headings:

  1. A)


    Provide the name of your project and state whether your program is an Investigation, a Learning Object or an Application.

  2. A-2)

    TARGET AUDIENCE (for Learning Objects only)

    State your programs target audience.

  3. B)


    State the overall mathematical or pedagogical purpose of your project and provide the necessary background.

  4. C)


    In the case of an Investigation or an Application, give a coherent summary of what you observed. For a Learning Object, describe the experience of at least one student, at the appropriate grade level, who worked with your program.

  5. D)


  6. E)


    Provide a checklist of 5 special features of your program for which you should be given credit

Grading Scheme

  1. 1)

    The mathematical problem or the application is interesting and has a good difficulty level (10 %)

    • There is a clear statement of the investigation; it shows originality and depth

  2. 2)

    The project demonstrates sophisticated knowledge of tools (20 %)

    • the project contains (some of the following): great visualization of data, non-trivial programming of mathematics concepts, sophisticated interface features.

  3. 3)

    The interface is very friendly, self-explanatory and a pleasure to work with. It is well designed in order to investigate the problem. (40 %)

    • easy access to all parameters needed for the investigation, representation of outcomes meaningful to the investigation, the interface is interactive & attractive, communication of navigation is clear

  4. 4)

    Written document: (15 + 15 % special features)


    • PURPOSE & BACKGROUND: clear statement of the mathematical investigation. Describe in details the mathematics

    • SUMMARY OF OBSERVATIONS: provide some data used for your investigation, and state your observations

    • DISCUSSION: discuss your observations and/or interpret your observations in the context of the real-world situation

    • 5 AWESOME FEATURES OF YOUR PROJECT (15 %): list 5 attributes of your project that makes it stunning

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Buteau, C., Muller, E. Assessment in Undergraduate Programming-Based Mathematics Courses. Digit Exp Math Educ 3, 97–114 (2017).

Download citation


  • Assessment
  • University mathematics
  • Digital technology
  • Computational thinking
  • Third pillar of scientific inquiry
  • Constructionism
  • Programming-based projects
  • Classroom implementation