Answer the question
In order to leave comments, you need to log in
How to teach stupid students functional programming?
Greetings.
Just now they asked to teach stupid (zero level) students how to program. Well, I foolishly included functional programming in the plan, which for students looks like assembling a nuclear reactor at home.
Do you have any experience or advice on solving the problem? Or maybe it's easier to remove this section from the plan completely?
Answer the question
In order to leave comments, you need to log in
I don't quite understand the problem. First class functions, lambda, closure are implemented and actively used in most modern mainstream languages. Many algorithms are much more convenient to express recursively, for example quicksort is classically expressed recursively. That is, individual FP techniques fit perfectly into the usual mental model, without undermining the brain)) It is not necessary to learn to code in Scheme or Haskell.
Well, first you need to know what kind of students. If from a theater school, then they need programming in principle, but if from some kind of physics and mathematics, then those for whom the FP "looks like assembling a nuclear reactor" let them go to the theater school.
Threat I've been progamming for 40 years, but so far FP is a very incomprehensible thing for me. Once I tried to understand Haskell, but did not understand how to use it in real life and gave up.
Take F# . The language is primarily functional and not purely functional. In order to teach the basics of a new approach, that's it. For 1-2 lessons, novice developers will still not be able to give more.
It will be easy to show with simple examples how you can achieve the same result with completely different approaches.
+ do not immediately demand correctly written code, let them learn gradually - step by step, abandoning the habit of using mutability wherever possible.
Engineering students... how to teach FP in 1-2 lessons from scratch? What would you do?
I think here it is necessary to start with bare Lisp
and there to learn Zen , one
must completely abandon imperative thinking
, one must mentally visit the world of "marginal lambda" from a fairy tale about programming languages:
On the deep philosophy of programming (serious p...
I would try to give them a very simple language with a fast development cycle like Elm .
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question