Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

That is the thing, you should not deal with that when you are just seeing for cycle for the first time. You should not be anywhere near compiler flags. The IDE is something you should start with. Text editor + compiler is the harder way. The first class should start with opening IDE and writing something really simple.

Like someone mentioned logo or the old basics - if kids start in that environment they pick it up quite easy. They pick up concepts (wtf variables, yes does not matter how they are named, conditions, for cycle, functions) and there is instant gratification and little complexity. Just playing those games with little robot and arrows that "programs" it or simple scripting language in some game already makes much difference.

Then you can move on compiler and java or C - because basics are out of the way and it is the time to deal with what you call incidental complexity. Basically, one concept at a time. It is a bit as like teaching quadratic equations to people who were never taught normal ones nor much arithmetic.



Logo is great and all, but we're not talking about beginning programming for kids, we're talking about CS degrees.

At some point between Logo and bachelor's degree, you run face-first into that complexity, which is the "wall" the commenter atop this thread was referring to.


> Logo is great and all, but we're not talking about beginning programming for kids, we're talking about CS degrees.

I'd be willing to bet you could create a CS course using nothing but Logo - and it would probably be better for students than what currently exists.

In his book "Mindstorms", Papert discusses the faulty idea that Logo is only for children, and that it isn't a language that can be used to develop complex software.

The fact is, it can. In fact, Logo is pretty close to Lisp in its functionality.

The most complex piece of Logo I've ever seen was a few decades ago in an issue of the Rainbow Magazine (for the TRS-80 Color Computer); it was essentially a game of Monopoly, with full graphics (and probably sound too); I'm not sure if it did any kind of file i/o - but I know Logo supports all of that and more (especially current versions of Logo).

Seriously - if you think Logo is only for kids, you're missing out on a very fascinating language.


> Logo is pretty close to Lisp in its functionality.

Is it? Quote from the Logo Manual, 1974:

All complete LOGO statements are imperatives, so that an operation cannot stand by itself. If you type SUM 17 26, Logo responds with the error message YOU DON'T SAY WHAT TO DO WITH 43. In contrast PRINT SUM 17 26 is a complete statement. The computer will print 43.


Yes, but many students are basically at the logo level at that point. They struggle with basics. Then there is huge sudden jump to compiler flags which you call the "wall". But that is exactly what I call bad teaching. There is no reason for that to be the wall, all you need is not to teach them everything at the same time in lesson one. This is combined with culture which tenda to attribute easily learnable skills to "natural talent" - so students conclude "I am not that talent" and go somewhere where they think they are talent.

I mean, you can teach concepts one at a time and still be demanding and require certain speed. I am not saying it should be easy. You however should separate those concepts from each other and teach them one by one. Otherwise you just relying on them to have it "picked up" randomly which is not an expectation other majors have (like physics or math or biology).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: