Comm Lab Web

Instructor: Shawn Van Every
Office Hours: Wednesdays from 4 to 5 and Thursdays from 3 to 5. Signup:


The web has become one of our most fundamental mediums. It supports rich interaction between people and machines, people and data, and, most importantly, people and other people. Though the core web interaction is simple, a client sends a request to a server, which replies; services of incredible sophistication and scale have been built around it. In this class, students will learn to lay out and make a page responsive to the user; take user input; and work with a server to receive, store, manipulate, and return that input. Students will use HTML, CSS, the markup languages behind page structure and look; and PHP, a server side programming language. This two-credit course meets for seven weeks.


Grades will be determined according to the following breakdown:
Please see ITP's statement on Pass/Fail which states that a "Pass" is equivalent to an "A" or a "B" while anything less would be considered a "Fail".


It is expected that everyone in the class will create and maintain a blog for their assignments.

Be sure to email me your preferred email address and the URL to your blog.


This class is very participatory in nature and discussions will certainly take place outside of the classroom. Along with the blog, one of the primary vehicles for these discussions (as well as administrative issues) will be the listserv.

Laptops and WiFi

Laptops and WiFi available are valuable tools for use in the classroom. Unfortunately, they can very easily be a distraction as well. Since this class is technical in nature and we'll likely be trying code and looking at online resources laptops use will likely be very useful. We should though be courteous to one another and when we have outside guests, during discussion or student presentations laptops use should be curtailed.

Weekly Assignments

We will have weekly assignments that are relevant to material from the previous class. These assignments are required and you should be prepared to show/talk about them in class. This is 40% of your grade.


Attendance is mandatory. Please inform me via email if you are going to miss a class. Habitually showing up late for class or an excessive number of absences will adversely affect your grade.

Class Participation

This class will be participatory, you are expected to participate in discussions and give feedback to other students both in class and participate with their projects. This (along with attendance) is 40% of your grade.

Final Projects

Class will culminate final projects. You are expected to push your abilities to produce something that utilizes what you have learned in the class that is useful in some manner to yourself or the world. This will comprise 20% of your grade.


Reading assignments will be given out on a weekly basis and in general will be handouts and/or online articles. No books are required for this course.

Class Schedule

Week 1

Introduction: Hello World Wide Web, Client-Server, HTML, FTP/SFTP, and more
  • Email me ( your homework blog URL and preferred email address.
  • Read and respond to Vannevar Bush's As We May Think on your blog.
  • Make a work of hypertext art, fiction, or poetry, put it online and link to it from your blog. (Here is a tiny bit of inspiration)

  • Week 2

    PHP 101 Server-side Programming - Dynamically Generating Web Pages
  • Find a "web" project that inspires you. Link to it and describe why on your blog. (The "web" portion is important, this project should be grounded in the web, not just re-presented on the web.)
  • Make a (creative) calculator using PHP and HTML, link to it from your blog.

  • Week 3

    Command Line, Data storage
  • Using Classes and Objects, create a "templated" display system for multiple objects of one type (blog post, comments, guest book entries, etc..)

  • Week 4

    Debugging, Command Line, Data storage continued
    Last Week's Notes
  • Using Datamapper, create a guestbook or blog posting/display platform.
  • Watch/Blog about: Anil Dash - The Web We Lost

  • Week 5

    Building and Using Web Services: JSON and APIs
  • Generate a web page that *describes* the current weather
  • Final Project Ideas: On your blog, detail your final project idea(s). Start with a description, consider why you want to do this and how you are going to accomplish it. Perhaps draw a system diagram and/or work on the data model.

  • Week 6

    Other Platforms Interfacing with Arduino and Processing
    UX, Design, and CSS
    Final Project Discussion

    Week 7

    Final Project Presentations Homework:
  • Document your final project on your blog. Include a description and a link. Talk about what works and what you would like to do next.
  • Make sure your blog is up to date with previous assignments