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

Reply via email to