Web Programming - Spring 2007

Class Links

Overview

Web Programming is a course designed to give new-comers and seasoned web designers a common space in which to explore the web, specifically in the back-end, on servers, databases, and feeds/web services. This class explores multiple ways for programmers, artists and designers to access dynamic content on the web.

Throughout the class, we will be focusing on PHP as our server-side programming language, using it to produce pages which are gathering content from mySQL databases, aggregating content from outside XML/RSS feeds, reading email, etc. We will also be exploring how to handle sessions in a website, so that certain information will be carried with the user across a website, and will be exploring some of the finer points of database design.

In reality, there are more tools and techniques available today that we have time for in the scope of the semester. The goal of this class is to enable incoming interests of the students, and enable them to become the gurus of a particular area of dynamic web-design. Students will be encouraged to share various tools and code snippets. Along with weekly instruction in class, students will be left with a storehouse of tools at their disposal as they continue building projects in the future.

Class Meetings

The class times will be split three ways. First, every week there will be time to present a particular topic of dynamic web-design (introduction to PHP, database design, session management, etc). Second, there will be in-class time to experiment and become familiar with the concepts. Third, students will be encouraged to scour the web for outside tools, libraries, and code snippets, which they post to our class wiki, and present them to others in the class. This is an important part of any seasoned programmer’s daily tasks and will be good practice during the course of this class.

Weekly Assignments

Weekly tasks will be assigned, which are to be posted to the class wiki. Any finished assignments not posted to the class wiki page will be considered unfinished/uncompleted, so make sure to post the link there weekly.

Grading

Grading is split up as follows:

  • 30% - In class participation and weekly assignments
  • 20% - research and investigation (posted on the wiki)
  • 20% - midterm project
  • 30% - final project

Schedule

  • Week 1 - Syllabus, Overview, Introduction to Back-end Web Development. Simple Introductions to PHP.
  • Week 2 - Further Exploring PHP, pre-existing PHP functions. Using Forms. Introduction to mySQL.
  • Week 3 - NO CLASS
  • Week 4 - Database Normalization. Further mySQL, phpMyAdmin.
  • Week 5 - Updating, Deleting in mySQL. Session Management.
  • Week 6 - Review database concepts. More Intricate mySQL requests.
  • Week 7 - Guest Speaker.
  • Week 8 - Introduce Midterm project.
  • Week 9 - See Midterm progress.
  • Week 10 - SPRING BREAK - NO CLASS
  • Week 11 - MIDTERM PROJECTS. Present projects, give feedback.
  • Week 12 - Extended PHP Functionality: Email, Validation. Introduction to XML and RSS.
  • Week 13 - Introduce Final Project. Introduction to Client-Side Programming with Javascript.
  • Week 14 - Server Goodies and Utilities. htaccess and crontabs.
  • Week 15 - Check Final Project Progress - Extended uses for javascript, RSS, and web services. Integration with other applications, flash, java.
  • Week 16 - FINAL PROJECTS - Present projects, give feedback.

sign up for the class mailing list by sending a blank email to: webprog-s07-join@forums.grayfuse.com