Some people say that Multi-lingual is easier to learn early on. - Pseudocode and ____, - Blockly (visual programming) and ____, - ____ and JS, - ____ and C, C++ - ____ and Java - ____ and OpenGL
The "write head" metaphor and defragmentation may not be good ways to think about learning (particularly learning languages). i.e. striped may be advantageous for multi-linguality? - Language ____ and 3D GAMES (OpenGL, WebGL) - Event-based programming (on_event()) - Language ____ and Web (HTML, JS, CSS) - Data interchange - Patterns of reflection - API: RPC, REST - "Otherwise we'd need to write {data validators,} twice" - JSONschema Everyone learns JS eventually; it may be a good time to mention that == is not the same as === (and that writing one type of language syntax from another is often dangerous (XSS, SQLi) because then there's no longer a data/code (NX bit) separation of concerns). - dis.dis(str) shows the bytecode instructions On Sunday, November 27, 2016, 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. > ReStructuredText docstrings > Sometimes, they may want to share with classmates, so we show them all > the features of Google Docs. > - GitHub, GitLab - Card, Concersation, Confirmation - TDD, CI > > 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. > - Open source - Cross-platform (because, at home,) - Tool dependence - By hand, on paper > Parent: Um, you're kind of missing the point. When do you teach them how > to construct a great essay? > Prewriting, Structute - SDLC, TDD, Agile - https://en.wikipedia.org/wiki/Software_design_pattern - TDD > > 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. > True; but who needs to understand the CPython C API and CFFI? What is gc? > 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. > Maybe a fair point; though hard problems often require e.g. CUDA for GPU parallelism. > 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. > > > - ____ and JS,
_______________________________________________ Edu-sig mailing list Edu-sig@python.org https://mail.python.org/mailman/listinfo/edu-sig