Dynamic Website Building Instruction and Practical Experience Group Study
From ThePlaz.com
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 |
Invitation
Have you ever wanted to design a website or build a web application like Tecker, Digg, Facebook, or MySpace]? Well Dynamic Website Building Instruction and Practical Experience is a proposed class/mass independent study 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.
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 GNU 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 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 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
- Windows XP or Vista
- Mac OS X may also work but will require other software listed below
- HTML-Kit Build 292
- TortoiseSVN
- FTP Client (like FileZilla)
- Firefox
- Web Developer Toolbar Extension for Firefox
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!
- PHP and MySQL for Dynamic Web Sites: Visual QuickPro Guide (2nd Edition) (Paperback)by Larry Ullman
- List Price: $34.99
- Current (2/14/2007) Amazon Price: $20.64 (41% off) & FREE Shipping on orders over $25
- ISBN: 0321336577
- ISBN-13: 978-0321336576
- Product Dimensions: 8.9 x 6.9 x 1.5 inches
- Shipping Weight: 2.30 pounds
- Average Amazon Customer Review: 4.5 stars (out of 5) based on 103 reviews
- Amazon.com Sales Rank: #6,817 in Books
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 and various tools, as well as packaged releases for free download are hosted on SourceForge.