Teaching PHP: Course Curriculum « IT Management

McLaughlin Casey "Teaching PHP: Course Curriculum." Casey A. McLaughlin's Weblog. Posted 3 Aug 2009. Retrieved 6 Sep 2010(http://www.caseymclaughlin.com/2009/08/teaching-php-course-curriculum/)

php-sauceThe problem, succinctly stated, is: How do you best organize 14 weeks of study to teach PHP to a group of motivated College students?

I know they must be pretty motivated, because they’re signing up for the class despite the fact that it starts at 8 am.

This Fall, I will  be teaching a course in Web Application Development at FSU.  The topic will be server-side scripting, and the focus will be PHP.  Since I’ve taught this course before, developing the curriculum won’t take months, but I am nevertheless spending a fair amount of time updating and tweaking for the next go-around.

A quick Google Search for “Teaching PHP” brings up only a few relevant links, most message board discussions.  “Server Side Scripting Curriculum” doesn’t return much either.  Likewise, WaSP have not yet published their recommended server-side scripting course recommendations.

So, I’ve had to come up with a lot of the course unilaterally.  The learning objectives are as follows:

By the end of the course, students will understand:

  • Basic programming skills
  • Web application development principles
  • How to find and use PHP resources on the Internet
  • How to manage tasks, bugs, and revision control mechanisms for web projects

By the completion of this course, students will be able to:

  • Program and deploy simple scripts in PHP
  • Process web-based input and output in PHP
  • Build multi-file PHP applications
  • Connect PHP applications to a database
  • Design a simple dynamic website using PHP, MySQL, HTML, and CSS

After a few iterations of course development, here are the topics I have planned to discuss, in order, thus far:

  • The current “State of the Internet”
  • How the technology works – Web servers and clients
  • Eclipse setup and good  practices for personal workflow
  • PHP basics – Syntax, variables, arrays, functions, iterators, etc.
  • Form processing (GET/POST)
  • Database integration
  • Multi-file application organization
  • Classes and objects
  • MVC frameworks
  • Revision control and associated workflow
  • Basic management: Ticket and bug tracking
  • Web Services – SOAP and RPC
  • XML integration
  • Comprehensive application organization

That’s a lot of information.  Fortunately the students will have object-oriented experience AND database experience.  So, we should be able to leap off the cliff quickly and into the world of iterators, encapsulation, and inheritance.

I’ll post the week-by-week calendar when I finalize it, which necessity dictates will be very soon.  Feel free to grab it and use it for your own courses, or tell me what I can improve on.

Filed under IT Management · Tagged with , , ,

Comments

2 Responses to “Teaching PHP: Course Curriculum”
  1. This is my third semester (over 6 years) teaching a PHP course at Santa Rosa Junior College. Here’s a link the the current class web site, http://www.santarosa.edu/~dpearson/2009fall/cs5513/ . This is first time we’ve offered it as an online class and it is working more like an instructor led correspondence course.

  2. It is now possible to consider alternatives to the web programming models where user interfaces are no longer generated on the server-side. Solutions are technically simpler, more reliable and flexible.

    The elimination of the server-side MVC model serves to refocus a student’s (or solutions provider’s) effort on the growing complexity of user interfaces on the client side.

    The heterogeneous browser environments (and personal computing devices lacking support for browsers) complicate this effort.

    Unfortunately, a lot of history gets thrown out in the courses to teach students how to program. For example, knowing why there was a need for server-side MVC can help students evolve their understanding on the subject, etc.

Speak Your Mind

Add a comment below...
and oh, if you want a pic to show with your comment, go get a gravatar!

Better Tag Cloud