Artician Senior Web Developer & Co-Founder
Category: Technology - Science & Research
Friday March 7th, 2008
On April 1st I'll be teaching a seminar at my university on PHP & AJAX (with Prototype Framework). I'm attempting to do a good job on the "teaching" part since this might actually push for them to add it to the curriculum after I show them what's actually doable with it.
I'm gonna be using a Powerpoint in conjunction with some diagrams I'm gonna draw on the board to explain Client / Server, how HTTP works with PHP, and how it all relates back to actual web development. See Power Point here [pptx].
My approach is to first give some background and explain how much the LAMP stack can scale (PHP,Apache,MySQL,PHP) by showing them sites that rely on it on an everyday basis. Wikipedia, Facebook, etc. All these sites handle millions of visitors an hour and yet are quick and responsive. I'm going to then move onto explaining what Web 2.0 is and what AJAX is without confusing the crap out of people and leaving them even more confused after then when they got there, as most places that try to explain it tend to become. Finally once it's all done I'm going to code from scratch a Content Management System over a series of these seminars in a tutorial fashion.
On the first one if I get through the slide and have time (only 1 hour 30 minutes), I'll do a simple flat files page editor with no login authentication but using AJAX so it will explain includes, $_GET, and $_POST in PHP while teaching AJAX.Request in Prototype as well as onclick event linking.
On the second seminar I plan to add Login authentication to the mix. This will teach headers, cookies, encryption, salting an encryption, and databases using MySQL.
If there's more I'll just keep improving the CMS more and more, maybe eventually showing them URL Rewrites using mod_rewrite in Apache or Lighttpd.
What do you guys think?
Comments
Linux the Operating System
Apache the Web Server
MySQL the Database
PHP the programing language.
There is no question that LAMP had it's start as the cgi-bin most popularized by Perl however the term was invented for PHP and I think that's what it's proper use should be. PHP is by far the most functional programming language in that category for large web applications despite the previous history Perl and Python might have had. They are now relegated mainly towards scripting languages in *nix which is still a very handy skill to have in server management.
As for alternative uses I'll just stick to the wikipedia definition of LAMP,
"Sometimes Perl and Python are used in place of PHP and are often referred to as LAMP systems as well. One review of the platform goes so far as to say "Let the P stand for Programming language like PHP, Perl, Python, and Ruby."[6] Some developers prefer to use the M to mean mod perl or mod python and the P to mean PostgreSQL, reversing the M and the P in functionality. The acronym "LAMR" is occasionally used, to indicate Ruby on Rails in place of PHP.
Another variant designates the M to be Middleware (including Ruby, Perl, Python etc.) and the P to be PostgreSQL.
Other such stacks include unified application development environments such as Apple Computer's WebObjects, Java/Java EE, Grails, and Microsoft's .NET architecture."
http://en.wikipedia.org/wiki/LAMP_(software_bundle)
Artician Senior Web Development
http://akujin.artician.com
Artician Co-Founder / Site PHP & JS Developer
Good luck with the seminar dude!