News for hackers. Stuff that matters.
Re:Learn Regex The Hard Way by zedshaw on Wednesday November 30, 2011 @11:56PM (#3298422)
I don't think your opinion is shit, I just think your perspective has changed because you actually can code. The hardest thing for a beginner is just the syntax. If you've never written code before then the symbols in programming are alien as hell. By focusing on seemingly repetitive syntax drills I get them skilled progressively until syntax isn't a problem.

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.

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)
Re:Learn Regex The Hard Way by Locke1689 on Thursday December 01, 2011 @04:47AM (#3299003)
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.