Dynamic Website Building Instruction and Practical Experience Group Study\Description
Dynamic Website Building Instruction and Practical Experience Group Study Invitation and Description
Have you ever wanted to design a website or build a web application like Tecker, Digg, Facebook, or MySpace? Dynamic Website Building Instruction and Practical Experience is an independent group learning experience in school year 2006-2007 which will guide you in learning PHP and MySQL which are common, open-source tools for web application development. For the first half of the quarter, you will learn, among other like-minded computer enthusiasts, the programming language and database application commonly used on the web. For the second half of the quarter, you will help to contribute to the administration interface of SeniorQuoter, a real open source, installable web application. Group working and collaboration will be a focus as you need to work together produce something lasting. After the quarter, you will have the skills needed to produce a small-scale web application on your own or with a small team.
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 under the GNU General Public License.
Although not a focus of the group study, 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 GNU GPL and Creative Commons.
Work during the first half of group study 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 group study extends this problem solving to an entire application and provides practical experience to implement what they have learned.
The topics covered during this experience are not normally taught in high school. Relational database management is complex and normally only taught in the later years of college. The opportunity to put new found skills to benefit society usually 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 group study 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 group learning experience should not be considered a study hall.
Participants are expected to have a general knowledge about computers and the internet before taking this group study. Knowledge of XHTML 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 group study are encouraged to learn how to write programs for their TI-83+ calculators before this experience.
Outcomes and expectations
At the end of the group study participants should:
- Have 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
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/ Also SeniorQuoter maintains a website with news and documentation at http://seniorquoter.org . There may be occasional blog news posts about work on SeniorQuoter. Also, various tools, as well as packaged releases for free download, are hosted on SourceForge. Finally, ThePlaz.com's wiki (this site) may be used as part of the project, as it is now.