
Using the computer as a tool for thinking in discrete mathematics (2017) - gilad
https://rtalbert.org/computational-thinking-discrete-mathematics/
======
proverbialbunny
I couldn't agree more. Abstraction and decomposition were not talked about in
the programming classes I took, nor were they talked about in the discrete
mathematics class I took.

When I asked teachers why calculus was required for discrete mathematics and
programming I was told, "To create mathematically mature thinkers, which is a
prerequisite for these topics." This seemed foolish to me, because calculus
seems to weed people out who struggle with abstraction and decomposition, not
teach it to them. Instead the topics could be explicitly taught, and
thankfully these topics are taught in some schools.

Over the decades I've seen people who taking programming classes, struggle,
and assume they're not smart enough. By sitting down with them and not only
teaching these topics but demonstrating them in a concrete way, programming
seems to come easily and naturally for these people who once struggled.

Discrete mathematics is incredibly important for programmers. I'd argue it's
the single most important class for a dev. It also helps the student
understand where a teacher or text book is coming from, by seeing how they
structure their lessons, and how they communicate those lessons. The intent
becomes transparent. Discrete mathematics taught me how to read text books in
an effective way. This accelerated my learning of every subject I've studied
since. For this reason, discrete mathematics should be taught easily and
simply in elementary school. We're already teaching programming in elementary
schools, so we're half way there already. Furthermore, the way discrete
mathematics is taught today is difficult. It doesn't have to be. Difficult
subjects can be made easy. The complexity of the subject is not an excuse to
not teach the topic to kids.

~~~
adonnjohn
Are you effectively saying the onus is now on pedagogy to determine the most
effective way to distill those concepts to earlier learners? Just trying to
understand where the actionable side of this starts coming into play.

~~~
taeric
Not the op, but I think it is unfair too say it is on one side.

That isn't right, either. I think it is worth exploring both sides. Surveys of
what interests people, as well as constant trying of methods seems sensible.
Somewhat inefficient, I suppose; but I feel efficiency is a trap. Often used
as a weapon against exploring.

That is too say, fairness is also a trap. As long as we have the resources to
go after methods, we should do so. Challenge people, but don't assume we know
the skills necessary to meet those challenges. Drop timeline requirements, and
just keep upping the challenges with smaller challenges along the way.

~~~
proverbialbunny
Efficiency is a local maxima.

