On 1/23/2012 10:52 PM, Froilan Cajayon Mendoza wrote:
Gary,
I think the key to programming the right away is to understand the
logic and structure of solving the problem the right way. This is
where algorithms and data/programming structures come into play.
My first-time-in-programming students sometimes get frustrated because
the first few sessions of my programming class we talk about seemingly
mundane non-programming problems (like describe the detailed steps
you'd take to get from one subway stop to another and note possible
errors). But by training them how to think and solve the problem
logically, it is easier (relatively) for them to grasp the need for,
let's say, a loop or a class, regardless of programming language. The
next step is then to build on specific syntax (or lack thereof in PHP
:)) and nuisances of the language you're teaching (enjoy your Hello
World program), and then you can talk about the tools mentioned in
your post.
Personally, I don't think PHP is a good "first" language, so I expect
people picking up PHP to already have covered "basics". :-)
While PHP can be run from the command line, it's biggest usage is in web
design. So learning PHP involves using MySQL, Javascript, HTML, and
CSS. Since all of that needs to be covered as well, you might as well
do it all right.
Also, "checking bad code" into version control is productive. When
someone is first learning code, they may well 6 or 7 different ways of
doing something. By the time they get to number 7, they may decide that
the third solution was the best. Without version control, it means they
will be making bad filename choices[attempt1.php, attempt2.php,
attempt3.php] or relying heavily on their editors undo function. Wheras
if they were using version control from the start, then they can revert
to the version they saved on the third attempt, and by the time their
done with the course they will have the habit of trying lots of things
and reverting code when needed.
_______________________________________________
New York PHP User Group Community Talk Mailing List
http://lists.nyphp.org/mailman/listinfo/talk
http://www.nyphp.org/show-participation