Advanced Web Languages - Spring 2007

Class Links

Overview

Advanced Web Languages 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. That said, 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 meditations will be offered during each class period. Throughout the course of the semester, it will be required that you complete at least seven of these and publish them online, to be viewed by others in the class. These will be small snippets of projects that can be completed during class. This will allow you the opportunity to pick and choose the projects and tutorials that fit best with your interests. There will also be some web-based readings recommended each week (a handful that will be in your interest to read, while others just to further general knowledge of the subject).

Grading

Grading is split up as follows:

  • 30% - In class participation and meditations (at least seven documented meditations online)
  • 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. XAMPP and server structure.
  • Week 2 - Further Exploring PHP, pre-existing PHP functions. Using Forms. Introduction to mySQL.
  • Week 3 - Database Normalization. Further mySQL, phpMyAdmin.
  • Week 4 - Introduce Midterm project. Discuss Sessions, Update and Delete mySQL statements.
  • Week 5 - See Midterm progress. Review database concepts.
  • Week 6 - MIDTERM PROJECTS - Present projects, give feedback.
  • Week 7 - SPRING BREAK - NO CLASS
  • Week 8 - Guest Presenter
  • Week 9 - Open Subjects: Error Checking, File Uploading, Email, MVC. Integration with client-side programming, AJAX, CSS
  • Week 10 - Integration with client-side programming, AJAX, CSS. Introduce Final Project.
  • Week 11 - PASSOVER - No Class
  • Week 12 - Open class for review, additional concepts, in-class troubleshooting, based on need.
  • Week 13 - Open class for review, additional concepts, in-class troubleshooting, based on need.
  • Week 14 - FINAL PROJECTS - Present projects, give feedback.

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