It depends on whether or not we are wishing to teach future computer scientists, in which case having a stack with different languages makes sense. However, in a general education middle school and high school context, where we are not assuming that, I think we should stick with one language to standardize upon, with other options being considered a “challenge” (and not the default). The IB Diploma Program asks students to write in pseudo-code, which is an awful lot like Python.
> On Nov 27, 2016, at 18:24, Mark Engelberg <mark.engelb...@gmail.com> wrote: > > I'm going to play devil's advocate and say that I don't think it is wise to > introduce multiple programming languages until fairly late in a student's > programming education. > > Let's imagine the following hypothetical conversation with an English teacher: > > Parent: Do you teach kids how to write high-quality essays? > Teacher: Absolutely. There are a wide variety of tools used in the > professional world, so we teach them all. After kids learn how to write a > pargraph, first we show them how to type it up in Microsoft Word, and how to > apply fonts and colors. Some may go on to become scientists and > mathematicians, so we show them how to type the paragraph in LaTeX. > Sometimes, they may want to share with classmates, so we show them all the > features of Google Docs. And we also like to teach them how to type their > paragraph in emacs in case they ever need to write essays on a unix terminal. > In our advanced class, we show them how to layout the essay with Microsoft > Publisher. We only use the latest... Publisher 2016, of course. Gotta get > these kids ready for the real world. > Parent: Um, you're kind of missing the point. When do you teach them how to > construct a great essay? > > I think most of us can look at this conversation and see the absurdity, but > this is exactly what many teachers tend to do with programming. > > Students do not need to learn multiple programming languages until they are > quite advanced. Students need to learn how to think deeply about modeling > problems with data and algorithms. As long as you pick a decent, > multi-paradigm programming language as their first language, you won't run > out of topics to teach within that language for many years. > > All the time you spend showing kids how to convert the same shallow programs > between different syntaxes is wasted time -- time that could be spent > teaching them how to solve harder problems. > > At some point, students who intend to program professionally do need to learn > a variety of languages, but I think that point comes much later than a lot of > teachers believe. > > > _______________________________________________ > Edu-sig mailing list > Edu-sig@python.org > https://mail.python.org/mailman/listinfo/edu-sig _______________________________________________ Edu-sig mailing list Edu-sig@python.org https://mail.python.org/mailman/listinfo/edu-sig