Dynamic Website Building Instruction and Practical Experience Group Study

From ThePlaz.com

Revision as of 03:45, 15 February 2007 by ThePlaz (Talk | contribs)

Jump to: navigation, search

Dynamic Website Building Instruction and Practical Experience is a proposed class for the 2007-2008 school year at Haverford High School. For me that would be 11th Grade.

Contents

Course Description

Participants will learn the tools to create a dynamic website and then put their skills to use to contribute to an actual open source web application. For the first half of the quarter, participants will be taught how to build dynamic web applications using the open source scripting language PHP along with the MySQL relational database system. For the second half of the quarter participants will work on the development of the administration interface for "SeniorQuoter". SeniorQuoter is an open-source web application to collect senior quotes for high school yearbooks. This web application, including participant contributions, will be made freely available to the general public.

Although not a focus of the course, along the way participants will learn to recognize and embrace web standards including XHTML, and CSS to make the site available on the widest array of browsing platforms including future devices such as cell phones and gaming consoles. In addition, participants will lay out a user interfaces for the administration console, requiring an effective design to best communicate with the user. Participants will also need to structure their relational database in an effective way to balance simplicity and stability. Lastly, students will learn the value of open-source and free software in powering today's world especially through the GPL.

Homework assignments during the first half of class will frequently test participant's ability to think critically. An example nightly question is "How to write a program which would greet visitors differently depending on the week." These problems test student's understanding of the topics covered by having them solve such simple problems both theoretically and via actual PHP code. The second half of the course extends this problem solving to an entire application and provides practical experience to implement what they have learned.

Difficulty

The topics covered during this experience are not normally taught in high school. Relational database management is complex and normally only taught in the latter years of college. The opportunity to put new found skills to benefit society ususally is first reserved for the senior project at a college or university. Problem solving and coding requires knowledge, thought, and concentration. Debugging forces one to know the code, understand it, and fix it. Thus this course requires a significant commitment of time and energy which only serious students should pursue. Potential participants looking for an easy way to fill a credit should look elsewhere. This course will not be "nap time with a soundtrack".

Previous Knowledge

Participants are expected to have a general knowledge about computers and the internet before taking this course. Knowledge of HTML and CSS is very helpful, but not required. At Haverford, the "Web Communication and Design" class provides much of this foundation, however lacks some of the latest material. Previous programming experience is also helpful, but not required. Students signing up for this course are encouraged to learn how to write programs for their TI-83+ calculators before taking this class.

Outcomes and expectations

At the end of the course students should:

  • Have a knowledge of how to build a web application by witting PHP scripts and integrating with it a MySQL database
  • Be able to solve complex problems with programming including at are more abstract level by providing the foundations applicable in any language or on any platform
  • Have contributed to the administration interface of SeniorQuoter
  • Be able to lay-out a functional user-interface for ease of use neatly and cleanly to best communicate with users
  • Recognize the versatility of semantic markup when writing XHTML code
  • Know the usefulness and richness of free and open source software

Software Requested

Hardware

  • One PC per person with place to save stuff without it getting deep freezed
  • Smart Board, if possible, to show examples and lead discussion (rear projection if possible, please)

Textbook

If possible to get one per person please!

External Progress Check

The code for SeniorQuoter, along with past revisions is available in a Subversion repository at http://seniorquoter.svn.sourceforge.net/viewvc/seniorquoter/