Re:Learn Regex The Hard Way
by YuriNiyazov on Thursday December 01, 2011 @03:43AM
(#3298881)
I agree that syntax is the hardest thing. Based on my experience tutoring, I would add the following (which was surprising to discover at first): the second hardest thing is the order of evaluation. I've seen students write down
a = do_something1(do_something2())
and be unable to explain that do_something2() actually happens before do_something1(), and to see that the code is loosely equivalent to b = do_something2()
a = do_something1(b)The worst is when you're teaching C and you have to explain that
void * a = do_something1(do_something2(), do_something3());
is not equivalent to int b = do_something2();
int c = do_something3();
void * a = do_something1(b, c);
Re:Learn Regex The Hard Way
by YuriNiyazov on Thursday December 01, 2011 @05:07AM
(#3299055)
Because the order of evaluation of arguments is not defined?
Re:Learn Regex The Hard Way
by drmohundro on Thursday December 01, 2011 @08:36AM
(#3299650)
I'm a CS grad, but I had zero knowledge of programming when I entered college - I knew some basics about HTML and I could fix some basic computer issues but that is it. I remember trying to open an executable in Notepad and thinking to myself, "uh oh, this is going to be really hard."
I was still struggling with syntax issues into my second year of school. It's not a good feeling to be debugging null pointer issues and data structures when you're not confident with the syntax.
Another thing you might be missing is under each exercise is a real piece of programming they're learning. For example, with string formatting I'm actually teaching the concept of named variables. Later on I use the fact they've actually been using named variables to then teach the concept explicitly and then they get it quicker.