New answers tagged

3

I tried a hybrid of both your suggestions together @Buffy, @Rusi Beginning with induction principle leading to an inductive definition...for lists in haskell. We began by proving that: $$\sum_{i=0}^n i = \frac{n(n+1)}{2}$$ as learnt in school. Then we dwelt a bit on the process and the structure of numbers and how induction indeed proves our claim. That the ...


3

Is Recursion hard? Peter Deutsch, the creator of the smalltalk implementation that inspired the Java-jit (and much else), famously said: To iterate is human, to recurse divine So you and your struggling students are in august company! Now let's turn over to math. And not just math but... Basic school math Here are two identities $$ \begin{aligned} a(b+c) &...


3

I'm not sure this qualifies as an actual answer, but let me suggest that you give yourself a course in Structural Induction. Perhaps you already know of this, of course. But the main idea is that the processing of a data structure (the method invocations) matches the structure of the data itself. Thus, for a binary tree, a method processing an internal node (...


2

Weak recursion skills are, indeed, the big problem here. I also teach advanced high school students, and over the years, I have found that about 15% of students "get" recursion quite quickly, but I haven't found any shortcuts to getting the other 85% to mastery. Instead, we slog through, using a functional language (Racket) for about 8 weeks. By ...


Top 50 recent answers are included