
Ask HN: Programming for students (English as a second language) - marak830
Hi everyone,
I was wondering if anyone has some good links for teaching students programming.<p>I&#x27;m now working as an esl teacher at a pilot project school (basically we can run any sort of program we want, test it&#x27;s effectiveness and then impliment it once it has proven it&#x27;s success), and one of the courses we have is programming.<p>Currently they are learning scratch which has been fairly successful, and a few of my higher ability students I have been introducing them to web design(front end only at the moment).<p>The issue I&#x27;m seeing is the switch between something like scratch(block based drag and drop coding - primarily) and a more traditional coding system. I need a step up from scratch that isn&#x27;t full on coding.<p>I am considering a hardware based solution(say lego mindstorm or a MakerBot), which give a real world example of their code at work.<p>So, HN community, does anyone have any experience and is able to offer some tips or links to something like this?<p>Cheers.<p>(PS thanks to everyone who previously pointed out to me about my insane cheffing hours, I found a great job that let&#x27;s me actually see my family!)
======
mimixco
Scratch is full-on coding, albeit with visual blocks.

Underlying all Von Neumann machines is the same type of register/instruction
pointer architecture, so any means of controlling that kind of a computer
winds up in assembly (actually, machine language) code.

The best way to help your students is to explain _this_. If they understand
how the computer actually and physically operates, then programming is reduced
to the semantics of the language at hand.

IMHO, the next best language to teach them is JavaScript because of its
ubiquity and usefulness. Those kids are gonna need jobs. Besides, they'll be
impressed that they can control what you see in a web browser and that's
arguably just as compelling as something like Lego Mindstorms.

~~~
marak830
Re: first half: I agree, but these are esl students, I'm dealing with not just
teaching coding (which they are amazing at once they get the underlying
fundamentals), but also the English language around it (code block, function,
variable, heck even start function and move Sprite).

Re:second half: if live to teach them Java, but while the few advanced
students are getting there, I need to find more real world applicable
examples. Hence I'm looking more towards Lego mind storm or MakerBot.

I do agree with you though, I just need something in between. (Maybe I worded
my post wrong, I'm sorry if that's the case).

~~~
mimixco
Dear God, please don't teach them Java! JavaScript (technically called
ECMAScript but no one uses that term in casual conversation) is a very
different language and unrelated to Java despite the similar name.

As far as ESL, all popular programming languages are based on English-language
statements so the kids will have to deal with that regardless. Just explain to
them what the language keywords mean in their own language.

~~~
marak830
Re: teaching in their own language: no. The best way to teach a new language
is to immerse the student in that language, you don't explain unknown words in
their language, you build their language knowledge to be able to learn the new
words.

Re:second part: did the above say JavaScript? I read as Java haha.

Atm my path is scratch - unknown - HTML/unity/(their path choice)

~~~
mimixco
It's going to be hard if you don't explain to someone who speaks Spanish that
10 PRINT "HOLA" is _imprimir_. You're not teaching conversational English
(where I would totally agree with you). This is programming. The words used in
statements should be immediately understood in one's native language. If they
aren't, then translate them, I say.

BTW, Unity is a development environment that supports several programming
languages -- three, I think. JavaScript is one of them. But Unity also has a
_lot_ of overhead in that you must understand 3D rendering, animation
timelines, etc. I would not recommend sending a beginning programmer there.

What's the harm in helping students develop a simple web page with some kind
of interactivity? That's useful, immediately gratifying, and doesn't require
learning any additional frameworks or design tools.

~~~
marak830
Actually I do teach English, we have a core class for more traditional
teaching then project courses where we use English in an active environment
(programming, cooking etc).

We looked into front end, and while a few students enjoyed it, the majority
weren't interested enough. That's why we're looking into MakerBots and such to
give them a more physical object to code.

