Advanced Web Languages

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 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 have the challenge of bringing in outside tools, libraries, and code snippets they have found online, and present them to others in the 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
  • 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 (I/O, IMAP, XML, mySQL, etc, based on interest). The Anatomy of Functions.
  • Week 3 - Databases. Introduction to mySQL, phpMyAdmin, normalization.
  • Week 4 - Introduce Midterm project. Discuss objects, encapsulation and Tool Building.
  • Week 5 - See Midterm progress. Review database concepts.
  • Week 6 - MIDTERM PROJECTS - Present projects, give feedback.
  • Week 7 - Introduce Libraries, APIs. Assign research project. Session Management, MVC.
  • Week 8 - Present reseach (1st half). Integration with client-side programming, AJAX, CSS
  • Week 9 - Present reseach (2nd half). Continue client-side techniques, and review older concepts. Introduce Final Project.
  • Week 10 - Open class for review, additional concepts, in-class troubleshooting, based on need.
  • Week 11 - FINAL PROJECTS (1st half) - Present projects, give feedback. Review and troubleshooting.
  • Week 12 - FINAL PROJECTS (2nd half) - Present projects, give feedback.

sign up for the class mailing list: http://forums.grayfuse.com/listinfo.cgi/advweb-fall06-grayfuse.com