[Edu-sig] Python + JS == more than their sum()
Wes Turner
wes.turner at gmail.com
Sun Nov 27 10:46:45 EST 2016
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.engelberg at 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,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/edu-sig/attachments/20161127/4a07e089/attachment.html>
More information about the Edu-sig
mailing list