Seeking guidance on how to assist students who possess a solid grasp of problem-solving concepts, allowing them to intuitively arrive at solutions, yet encounter difficulties when it comes to communicating their understanding through formal proofs and written formats.

These students exhibit a deep comprehension of the underlying principles and can often visualize the solution or approach to a problem. However, they face challenges in articulating their ideas in a structured and rigorous manner. It is crucial to help these students bridge the gap between their intuitive problem-solving abilities and their ability to express their reasoning formally.

I am interested in hearing your suggestions regarding effective strategies or techniques to support these students. How can we help them refine their problem-solving skills by guiding them to articulate their intuitive ideas in a more formal and coherent manner? Are there specific exercises, resources, or approaches that have proven successful in facilitating this transition?

While my primary preference is to focus on undergraduate students, I am also interested in insights and strategies that are applicable to high school-level students. Hearing perspectives from both levels would provide valuable insights for supporting students in their transition towards more formal proof-writing.

Please note that the focus here is not solely on teaching proof-writing techniques but also on empowering students to leverage their existing intuitive understanding to construct sound and logical arguments in written form.

  • 2
    $\begingroup$ I really like this question, and I'm hoping to hear the answers folks give. As a starting point, it might be useful to hear what particular topic you are teaching. [The secondary-education and undergraduate-education tags make me consider a pretty long list.] You're probably keeping this fairly general on purpose, but it would help (me, at least) pin things down a bit to know what math topics you're thinking of and what level of proof-writing you're trying to get students to produce. $\endgroup$
    – Nick C
    Commented Nov 27, 2023 at 14:24

1 Answer 1


I've worked with some of these types of students in the past. One trend I noticed was that these students often have experience with coding, which they tend to enjoy and excel at (since the computer tells them exactly how precisely they have to specify their ideas and will error in obvious ways if they're not being precise enough or they're skipping over important nuances).

When teaching proofs to students who fit this trend, I've had success leaning on analogies to coding as much as possible as a way to get through to them.

  • I tell them to think of the proof as a program that runs in mathematicians' brains. The theorem being proved is like a new "software feature" that can be used in the future, and the proof is like the code supporting that feature. The goal is to "install" this theorem in somebody else's mind by having them "run" the proof.

  • When you're coding at your computer, as long as you've got the right intuition/principles in mind, you can start with a vague, imprecise program and then get it working by running it, getting an error, and tightening up the code in the place where the error occurred. But you don't have an unlimited instant feedback loop like that when you're writing a proof. With human-to-human writing, you generally have one shot, and you have to make that shot count. So you need to be completely explicit with every step of the proof. It's like the code that you're writing is going straight into production, without testing beforehand.

  • As a general rule, if someone could ask "why" or "how" about some assertion in your proof, and the answer to that question is not already contained in your proof, then an error is going to occur when that person tries to "run" the proof (and you won't be around to fix the error). For instance, if you have a mental image that makes an assertion obvious in your mind, you need to communicate that mental image in your proof so that it can be used by the reader as well. Otherwise it's like your program is attempting to import code from a package that is not installed in the environment where the code is running.

  • $\begingroup$ I 100% agree that teaching programming (the real one, not the one with chatGPT, of course) in parallel with math helps a lot. I'm curious however if you also tried some kinds of study groups or other discussion formats where one student had to explain his/her solution to others, and if you did, what was the outcome. $\endgroup$
    – fedja
    Commented Nov 28, 2023 at 0:06
  • $\begingroup$ @fedja my experience in this situation is limited to about 10 or so tutoring students (separately), so no opportunities for any group stuff, but the discussion format you suggest sounds interesting and I'd also be curious to know how it panned out for anyone who tried. $\endgroup$ Commented Nov 28, 2023 at 2:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.