lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]





On Mon, Feb 24, 2014 at 1:00 AM, steve donovan <steve.j.donovan@gmail.com> wrote:
On Mon, Feb 24, 2014 at 8:35 AM, Andrew Starks <andrew.starks@trms.com> wrote:
> We have a non-profit, engineering playground called Leonardo's Basement. My
> goal is to teach programming by starting with Head First C, replacing its
> last project with something involving the Lua C API and then to teach Lua in
> the second half of the class.

I would do it the other way round ;)

C is great, but hardcore and unforgiving!  Unless that's the idea:
learn about the machine on as low-level a basis as possible (Raspberry
Pis are nice for that).  I have a C interpreter hanging around if you
want to give that a try; it was designed for teaching.


First: My typing-as-a-cure-for-insomnia has struck again. The only way to read what I wrote was to think that *I* have a non-profit.[1] The "we" in "we have a non-profit" was "our community." My goal is to host a class there...

Anyway...

Learning C first. Well... not first. Karel The Robot or Scratch or Code.org first. If a kid can get into any of those and has a strong reaction to it, then *maybe* they're into the puzzle... the patterns... modeling... i don't know.

I heard a speaker say that you can't abstract what you don't understand. I don't know if that is truly universal but I do know that it is true for myself. I do not care about what you are trying to train me to do until I understand it. I believe that the process of helping someone understand something is *teaching*.

I have heard it often stated that C is hard and I agree that it takes much more time to understand it than it does to understand _javascript_ or Lua. There are many reasons that this might be true. I believe that the primary one is that C is very simple. Simple is never easy but simple is required for understanding. I *believe* that to really understand what is going on, you have to understand the tools. Once you understand the environment, you can layer on some abstractions and enjoy their benefits.

There are kids that might want to learn programming as a means to something else that they're interested in. That's true with our Lego Robotics team, for sure. Here, I'm interested in reaching the kids that are turned on by programming and patterns and modeling and etc. I'm operating on a premonition that might be provably disastrous. 

I'm wide open to private emails of wisdom. I took a community college CSCI 102 C Programming class form Mr Polzin. It was there that I became obsessed with computers and so that probably colors my perception.


-Andrew

[1] Which I do, but that's for Lego Robotics, and another story. :)