5

I experience that my students are fixed to compute with concrete values and are not keen to think in terms of general solution like creating a mathematical function $f(n)$ , needed to write programming functions f(n).

What is a good method of teaching them this lesson, becoming able to think in abstractions like functions on natural numbers?

Raphael
  • 73,212
  • 30
  • 182
  • 400
Gergely
  • 389
  • 1
  • 9

2 Answers2

1

To the extent that this question is on topic here (that is, without reference to literature on mathematical education), I would propose that experimenting with concrete instances is not antithetical to the development of abstract concepts.

In an educational setting in computer science, it should be clearly stated and agreed upon that formal reasoning is the goal, and aquiring an intuitive grasp on things is not enough. After this is established (not trivial, literally counterintuitive), abstractions and concrete examples can help each other, not get in the way of each other.

The thing is, formal reasoning is not something that we do, it is what we are as a field - which is why studying the history of computing is so important. It can be tedious though, unnerving sometimes. It must be gradually developed as a habit. Intuitions are naturally captivating, and that is why we tend to rely on them to motivate our students, but there is something captivating about formalization too. Our challenge is to bring it to the center of the stage.

André Souza Lemos
  • 3,296
  • 1
  • 16
  • 30
0

It is very common that people start with a concrete problem, solve their concrete problem, and then examine how the solution to the concrete problem can be generalized to more general problems. That's a natural way to arrive at a general solution.

You don't want to interfere with that kind of thinking, except that you may strongly insist that the concrete solution to a concrete problem must be made more abstract. Otherwise, you risk that abstract solutions will never be found by many people. People's minds work in different ways. Trying to force everyone to think the same way is only going to end up in frustration for you and the student.

gnasher729
  • 32,238
  • 36
  • 56