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.

Policies

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.

Posted in Teaching | Tagged | 2 Comments

DML Conference 1st Draft

Here’s a quick blurb of a first draft for the DML Conference panel proposal… More to come later :):

Digital Media and Learning as a Post-Academic Field

DML, as with many new fields, finds itself in the interstices of traditional academic practices. It draws clearly from a range of disciplines old and new: sociology, anthropology, education, communication, computer science, psychology, and many others. As such, it brings together theories and methods that must be reinterpreted. Likewise, it brings together practices and makes space for new kinds of practices. Those most likely to engage in research involving learning with new media technologies are often working at the margins of existing institutional structures, and bring that experience to their research practices.

Our panel will discuss the role of post-academics–those who work both in institutions of higher learning and in their penumbra–in the development of the field of digital media and society. To what degree does studying these technologies and their role in learning require us to engage with them in our own research and teaching, and what does this practical engagement affect our ability to influence scholarly discourse within institutions? Speakers will engage questions of open scholarly communication, collaborative research, and the participation of our subjects, our students, our colleagues, corporations, and publics in practices that have traditionally been considered privileged and segregated.

Posted in Research | Tagged , , | 1 Comment

#g20 Tweets

I‘ve created this blog entry mainly as a way of providing access to some files related to the work Maria Garrido & I have been doing on the twitter conversation surrounding the G-20 meeting in Pittsburgh in September of 2009.

Briefly, our aim was to examine Tweets that included the #g20, and figure out how leadership structure may have emerged. However, the data may be useful to others as well.

If you make use of the materials you’ve found here, please cite this web page, including both Alex Halavais and Maria Garrido as authors.

Tweets and RT net

The core data is simply a collection of tweets that were collected using The Archivist based on a search for the hashtag #g20 from midnight, September 20 to midnight September 29, 2009. The Archivist should be able to store this in both XML and CSV formats, but for some reason the CSV seemed not to work every time. The files were also collected in various overlapping chunks, in order to provide redundancy, and so then needed to be merged without duplicates. This zip file includes that data:

g20.zip [1.8 Mb]

Note that the tweets in g20tweets.csv is not sorted in any way. It also lacks a header line. The items are:

User, date/time, tweet ID, user image, status

The python script (warning: IANAP) used to munge this together is included, along with a .net file of the re-tweet network that can then be loaded and massaged in Pajek, and the script used to maket that file.

Linked

Anything from the g20-tweets.csv that started with http:// was stored (using get-http.py), and wget used to archive a copy of it. In total, 6,653 different URLs were extracted. Note that wget does not retreive flash video, and so it’s likely this was lost. (There were claims in the Tweets that YouTube was removing videos of police actions.) Other sites may have been unreachable. Finally, URL shorteners no doubt meant that the same site was posted under a range of different URLs.

g20tweetweb.zip [108 Mb]

Note, I haven’t really even looked at that archived material yet, so, it’s As-Is.

Update 7/12/2012: Please note that I’ve removed the above links in case they clash with new Twitter terms of use around sharing twitter data sets. These were collected before any such changes occurred, but being responsive also to privacy concerns. If you are a researcher interested in the data, please just contact me.

Update 4/12/2013: Congratulations to Jennifer Earl and crew on an interesting piece of research that incorporates these data: This protest will be tweeted: Twitter and protest policing during the Pittsburgh G20.

Posted in Research | Tagged , , , , , , , , , , , , , , , , | Leave a comment

iPod Touched Education

See lkl for more information.

Posted in Teaching | Tagged , , | Leave a comment