Draft Web Programming Syllabus

Completely redoing the required Web Programming course. Here is the draft syllabus. Obviously, still need to build the core site, exams, etc.

Overview and Objectives

The aim of this course is to provide you with the skills needed to implement your designs and create a standards-compliant, functional web site. In particular, you will be learning:

  • how a web site works, and how it comes to be displayed in your browser;
  • how to create xhtml code that will structurally represent your documents on the web;
  • how to use CSS to apply design choices and layout to your document;
  • the basics of using PHP to provide some dynamic content that is stored in databases or content management systems;
  • a little about how javascript and jquery can be used to enhance the functionality of your site.

Given how much we hope to learn during the semester, it is perhaps equally important to understand what this course is not intended to do. It is not intended to teach you:

  • how to organize a website–that is, elements of information architecture, writing for the web, or taxonomies;
  • how to design a website–that is, choices relating to color, type, layout, creating graphical elements, etc.;
  • website usability–that is, how to specify, test, and work with users to create a better site;
  • non-standard extensions of the web–in particular, things like Java applets and Flash;
  • development tools–most particularly Dreamweaver, which may be useful under certain circumstances, but is not a necessary part of standards-based development.

That is not to say that we will entirely ignore these things, or that they won’t have any bearing on our discussions. And, in fact, you will have to make design and usability choices as a part of the work in the course. But our focus is on implementing those choices: moving from the ideas you have on paper and in your head to a functioning website.

Communicating with the Instructor

My name is Alex Halavais. Many of you have already met me in the Introduction to Interactive Communication course, but in case you have not, I am an Associate Professor of Communication here at QU, and have taught here since 2006. You can find out more about me at my blog: a thaumaturgical compendium.

The best way to reach me is often by email: Alexander.Halavais@quinnipiac.edu. I generally try to reply to emails in less than 24 hours, even on the weekends. If it has taken me longer than this to reply, do not be shy about resending.

You should install the most recent version of Skype on your computer, so that we can have text, audio, or video chats. It is important that you are running the most recent version of the software, as it includes the ability to share your screen, which can be invaluable in looking through problems or code. My Skype account is “halavais”. You are welcome to chat with me whenever I am online, though I may not be able to engage in a full conversation if I am working on (or with) something (or someone) else. But I am always happy to set up an appointment to talk, if I am not immediately available.

I will have regular office hours at the Mt. Carmel campus in Faculty Office Building 23. [More about in-person meetings.]

Texts an Other Materials

There is no required text for this course, other than the materials you will find on course site at WWWti.me. However, many people are more comfortable with a physical book or other text in front of them. Therefore, I will include links to relevent pages at w3schools, as well as pages in:

Elisabeth Freemen & Eric Freeman, Head First HTML with CSS & XHTML. O’Reilly, 2006.

This book is a pretty solid overview, and subscribes to a similar philosophy to mine in terms of constructing sites for the web. There are a number of other books that are also good, and I’ve also used this one for previous courses:

Elizabeth Castro, HTML, XHTML, and CSS, Sixth Edition: Visual QuickStartGuide. Peachpit, 2006.

These will lead the student through the first half of the material covered in the course. The development of WordPress themes and other advanced topics will be linked to other resources both online and off.

There are some pieces of software that are useful for this course, including a good text editor and FTP program, but these are all free.

You will need access to a web server that can support PHP, as well as access to a MySQL database. Note that this means that the QU student webspace is not suitable for some of the work required in the course. If you are a regular ICM student, you should already have an account on the quicm.net server. If you don’t–or if you don’t remember your password–please get in contact with me.

Course Structure: Instructional Content

Unlike other courses I teach, online and off, this course is largely self-paced. The idea is to work through the core materials in time for the end of the course, and ideally beyond the core materials. As a result, you will be engaging in three areas.

First there are a series of posts, with both video and text components, on the companion site for the course: WWWti.me. These are divided into a total of seven units, as follows:

  1. Creating a Website with XHTML
  2. Styling Elements and Basic Layout in CSS
  3. Advanced CSS and Layout
  4. Forms and Basic Templates
  5. Basic CMS Installation and Use
  6. CMS Theming
  7. Databases and Javascript

These must be mastered in order, but may be completed at whatever pace you like. If you already have some facility in some of these areas, you may be able to move through the instruction more quickly.

When prepared, your knowledge of the material in each unit will be demonstrated by completing an exam and practicum. The practicum usually consists of a simple variation of the work included in the instructional component, and is completed before the timed exam. To continue on, students must provide an acceptable practicum, and answer at least 90% of the questions correctly on the exam. If they do not pass the exam or practicum, they may retake it 48 hours later.

60% of the final course grade is based on how much of this material, in total, is completed. Completing 1 results in a D, completing 2 results in a C, completing 3 results in a B-, completing 4 results in a B, completing 5 results in a B+, completing 6 results in an A-, And students who complete all units successfully will receive an A.

I reserve the right, if a substantial number of students are unable to complete the entire set of instructional material, to adjust this grading criteria, but in no case will it be made more strict. That is, if every student receives an A, that is perfectly acceptable, but if none do, I may adjust the grading.

Course Structure: Final Project

In addition to engaging in the didactic content, you are expected to create a substantial website demonstrating mastery of the skills learned in the course. In order to effectively create this site, you are expected to provide the following materials.

1. A sketch of the site

At least five weeks before the end of the course, you are expected to provide a sketch of the site you plan to implement, including an outline providing the number of pages, an inventory of the assets you will need for each of these pages (graphical elements, text, etc.), either a sketch or graphical comps of the layout for each of the pages, and an indication of the back-end you may be using (if any). At this point, you should indicate the difficulty level you are aiming for in the site.

2. HTML comps

At least four weeks before the end of the semester you will be asked to provide a core version of the site, not including any styling necessarily. Real text and images need not be present at this stage, even if they will be included in the final version of the site. The site should load and link appropriately, and each page should produce valid code.

3. Full comps

At least a week before the final deadline, a fully functional and styled site should be presented. This should include all specified functional elements as well as any content (if part of the original plan).

4. Redraft

If there are elements missing from the full comps that would result in it not meeting the initial specification, you must fix these by the project deadline. If they are fixed (or already present in the full comps), you will receive the full agreed grade for the project.

Again, this is a mastery project, and the grade on the project will depend largely on the difficulty of the work undertaken. When proposing your site, you will be asked to indicate the grade you are seeking to achieve. It may seem odd to aim for a grade lower than a B on the project, but difference in the effort, expertise, and time required between a B and an A is substantial, and for those who would prefer to do less, the “B-level” project may be an attractive option.

Any project that does not meet the requirements for a B will receive a zero (F). The only way to receive a grade of D, D+, C-, C, or C+ is if you miss a deadline. Late projects’ final grades are reduced by one-third letter (e.g., from B+ to B), and then another one-third letter for each subsequent 24 hour period.

To acheive a B grade, the site must function correctly, and not produce any errors when run through a validator. It must make use of standard XHTML, and a CSS stylesheet, but that stylesheet need not be at all extensive or include layout. The site must consist of a minimum of three different pages, appropriately linked to one another, and must employ at least one image.

In addition to those requirements, for a B+, a site must include some form of CSS layout (e.g., be multi-column), and styling of a menu of some form. It should make conscious use of appropriate fonts and the textual content should clearly be visually differentiated in different sections.

For an A-, in addition to the elements already described, the site should make use of WordPress, Drupal, or Joomla for the backend, and should employ an original theme. This may be layered on top of existing content (e.g., the student’s ICM 501 blog), if desired, or “lorem ipsum.” However, the templates for the pages should be substantially altered from their existing form.

For an A, in addition to the above elements, the student should employ both jquery and draw in extensive external tools, plugins, or modules to extend the core functionality of the CMS system.

The grade on the final project constitutes 30% of the final grade.

Course Structure: Participation

Generally, participation is measured simply by the comments on the lectures. Simply asking a clear question will increase your participation score. Providing a clear answer will increase it more. Ideally, your contribution here allows me to effectively improve the “text” found on the site. If you actually do a substantial rewrite that I can incorporate as part of the text, on several of the pages, that would constitute a clear “A”. If you merely ask a few good questions, that is enough for a B. Your participation makes up 10% of your final grade.


Help. You are strongly encouraged to draw on each other for help and support. Indeed, part of your grade (participation) is based on how much you do this. There are three caveats here. First, you must write every piece of your final project and be able to explain why it is there. Second, you may receive no help on exams, or discuss the questions openly. Third, you may not pay anyone to aid you in developing work for the class.

Attribution. You should not make use of copyrighted material without permission. When you do make use of work, whether or not it is copyrighted, you should acknowledge the source. When others help you to understand something or make your site work, you should clearly acknowledge that help in the site itself.

Work for other classes. You are permitted to make use of any prep work you did in ICM 501 or 502 to build on in this course. It’s likely that other classes will explicitly allow you to make use of your final project in 505 as well. However, unless such explicit use is allowed, you must have permission of the instructor in order to get credit for the same work in multiple courses.

Incompletes. As noted above, your grade in the course is largely determined by what you manage to complete in the given time period, and for the final project, there are substantial penalties for late work. Please bear this in mind, and recognizing that unexpected events always occur, do your work well in advance of deadlines. Because of the structure of the course, incompletes will not be available.

This entry was posted in Teaching and tagged . Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.


  1. Posted 11/28/2009 at 8:31 am | Permalink

    Sounds like a good draft. Tough grading standards, but you’re known for them anyways. :)
    I’d love to get a copy of the course materials. Are you participating in any Open Courseware initiatives online so I can stop bugging you when I see another cool class to take and just set up my RSS reader for a specific site instead?

  2. alex
    Posted 11/29/2009 at 7:58 pm | Permalink

    Ack, really? I thought the grading standards were pretty easy. Basically, if you do all the work, you get an A. That’s a *way* lower bar than my usual: which requires some level of creativity and, literally, je ne sais quoi. Here, what you have to do is spelled out specifically, all you have to do is manage to complete all the work within the given time constraints. And, in fact, I’ll release the material as I’m doing it, so for those who want to take an early start, they can do so. It’s completely mastery based.

    The videos and evolving text will be posted at wwwti.me. Hopefully, most of it will be done by the end of the year.

Post a Comment

Your email is never published nor shared. Required fields are marked *


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>