U48 318 - Advanced Web Site Design and Development
Washington University University College
Spring 2009
Saturdays 9:00 a.m. - noon
17 January - 2 May 2009
Eads 14
Instructor: Scott Granneman
- Adjunct Professor
- Washington University in St. Louis
- Webster University
- Author
- Don't Click on the Blue E!: Switching to Firefox (O'Reilly: 2005)
- Hacking Knoppix (Wiley & Sons: 2005)
- Linux Phrasebook (Pearson: 2006)
- Podcasting with Audacity: Creating a Podcast with Free Audio Software (Prentice Hall: 2007)
- Google Apps Deciphered: Compute in the Cloud to Streamline Your Desktop (Prentice Hall: 2008)
- Contributor, Ubuntu Hacks (O'Reilly: 2006) & Microsoft Vista for IT Security Professionals (Syngress: 2007)
- Former columnist for SecurityFocus & Linux Magazine
- Former professional Blogger for Download Squad
The Open Source Weblog (also see personal blog)
- Full list of publications at http://www.granneman.com/pubs
- Consultant
- Principal, WebSanity
- Contact Info
- scott at granneman dot com
- http://www.granneman.com
- 314-644-4900 (office)
- 314-780-0489 (cell)
Course Description
This course focuses on one of the most important advanced areas of Web development: Cascading Style Sheets (CSS), which allow developers to set the formatting and positioning of Web pages in a standards-based and robust way. Through understanding CSS, Web developers can proceed to the next level of Web development.
Required Texts
Readings will consist of articles, analyses, & ephemera from the Internet. While I'm not requiring any books, I recommend the following as particularly worthy of your attention:
In addition, students will need to sign up with the following listservs:
- GranneClass, the class listserv, hosted by Yahoo Groups. To subscribe, send a blank email to granneclass-subscribe@yahoogroups.com. To review the home page and look at archived messages, go to http://groups.yahoo.com/group/granneclass; note, though, that you must be a Yahoo member (which is free and relatively painless) to use the group on the Web. To send and receive email, you do NOT need to be a Yahoo member.
- GranneNotes, an irregularly-published newsletter about interesting & important stuff in technology and on the Internet. To subscribe, send a blank email to grannenotes-subscribe@yahoogroups.com. To review the home page and look at archived messages, go to http://groups.yahoo.com/group/grannenotes.
Grading
Your grade will be based on the following factors:
- Class attendance and participation (25%): You are expected to attend class prepared to learn and discuss the topics with your fellow classmates. We may also work on in-class exercises, and you are expected to take an active part in those exercises.
- 3 take-home mini-projects (25% each): We will practice CSS in class. At scheduled times, you will have one week to complete an assigned mini-project involving the use of these technologies. Think of it as an open-book test, since you will be allowed to use your class notes and any other resources you can access.
Grades will be based on an average of the above as follows:
100 A+
94-99 A
89-93 A-
86-88 B+
83-85 B
79-82 B-
76-78 C+
73-75 C
69-72 C-
66-68 D+
63-65 D
59-62 D-
0-58 F
Policy regarding academic dishonesty: This course will follow Washington University's policies concerning academic dishonesty. Academic dishonesty will result in failure for the assignment in question and/or referral to the college's Academic Integrity Office, which has discretion to impose a stricter penalty. While academic dishonesty includes cheating on exams and quizzes, it also includes plagiarism in written assignments. Plagiarism is not only passing off someone else's work as your own, but also giving your work to someone else to pass off as their own. It also includes submitting work from another course. While I strongly encourage you to discuss your work with each other in and out of class, and while you may research issues together, your writing should be your own. The papers you submit must be your work alone, and must include citations to all references in your work. Please include the URL, or Web address, for articles and resources found on the Internet.
Accommodation of disabilities: If you have a disability that might affect your ability to complete the required assignments, please contact me during the first week of class to discuss an accommodation.
Netiquette
It is paramount that we respect each other online in our email listserv. Follow this simple rule: disagree with the idea, but not the person. In other words, it's OK to say "That's a bad idea, because ...", and it's not OK to say "You're a bad/stupid/inconsiderate person, because ...". If you have an issue with a classmate's behavior online, please bring it to me privately by emailing me at scott@granneman.com. If you'd like to find out more, please feel free to read The Core Rules of Netiquette, by Virginia Shea.
Background Materials
Following are materials that you should use to brush up on the knowledge you'll need to participate and succeed in this course.
Readings for next class (unless otherwise stated, you will NOT be quizzed over the contents of these readings, or any others):
- Brush up on your HTML
- Brush up on your CSS
- Collections of CSS info to bookmark & peruse
Tentative Schedule
We were going to go over these materials, but since everyone in the class had taken the previous semester's course, we jumped ahead a week. The links below are here for historical reasons and to provide easy access for students.
- Class information
- Software
- Basic HTML structure
- Basic HTML/CSS tools
Topic: Selectors
Date: Saturday, 17 January 2009
Software: TextPad, Firefox
Book: Chuck Musciano & Bill Kennedy's HTML & XHMTL: The Definitive Guide, 4th Edition.
In class:
Slides
Topic: Fonts & formatting
Date: Saturday, 24 January 2009
Software: TextPad, Firefox
Book: More Eric Meyer on CSS
In class:
- General information about, & tools for, fonts & CSS
- font-family
- font-size
- fonts & browsers
- Why browsers display fonts like they do
- font tricks
- <a>
- MozIE
Slides
Topic: Fonts & formatting
Date: Saturday, 31 January 2009
Software: TextPad, Firefox
Book:
In class:
- Abbreviations, Acronyms, & Definitions
- Headers
- Cleaning up CSS
Topic: In-class practice with fonts & formatting
Date: Saturday, 7 February 2009
Software: TextPad, Firefox
Book: Eric Meyer on CSS
In class:
Topic: Floating
Date: Saturday, 14 February 2009
Software: TextPad, Firefox
Book:
In class:
- Floating
- Cool things to do with floats
Topic: In-class practice with floats
Date: Saturday, 21 February 2009
Software: TextPad, Firefox
Book:
In class:
Topic: Media-specific styles & switching
Date: Saturday, 28 February 2009
Software: TextPad, Firefox
Book:
In class:
- Media-specific Styles
- Switching CSS
- Code
- Handouts
Topic: In-class practice with switching media-specific styles
Date: Saturday, 7 March 2009
Software: TextPad, Firefox
Book:
In class:
No class: SPRING BREAK!
Date: Saturday, 14 March 2009
Topic: Lists for navigation
Date: Saturday, 21 March 2009
Software: TextPad, Firefox
Book:
In class:
- IE Conditional Comments
- Lists for navigation
- More, & hopefully better, lists for navigation
- Experimental Menu #2 - Magic Menu series ~ http://www.cssplay.co.uk/menus/magic_menu_two.html ~ Uses a small javascript file to rewrite the order of the link tags for Firefox and Mozilla only. This does require that the menu is placed in a div with an id. The id can have any name you like as long as this is placed in the body 'onload' javascript call. Works in IE5.5, IE6, IE7, Netscape, Opera, Firefox, Mozilla, and Safari.
- Experimental Menu #6 - Magic Menu series ~ http://www.cssplay.co.uk/menus/magic_menu_six.html ~ Uses just CSS, no conditional comments, no behaviors, no hidden .htc file, and no javascript. The only downside is that it doesn't validate because of the use of the Microsoft proprietary 'comment' tag. This tag is used purely for IE5.5 and IE6 to work. Tested in IE5.5 (requires hacks for the faulty box model), IE6, IE7, Firefox, Opera, Netscape, Mozilla, and Safari.
- The ULTIMATE CSS only drop-down menu ~ http://www.cssplay.co.uk/menus/final_drop.html ~ This works in IE5.5, IE6, IE7, Firefox, Opera, Safari, Google Chrome, Netscape 9, and Mac Firefox 1.5 and Safari, though not Mac IE5.x.
- Dropdown with Flyout CSS Menus ~ http://www.cssmenus.co.uk/dropdown.html ~ The dropdown is limited to one level of flyout but this can easily be expanded to cater for multiple level flyouts.
- Create a multilevel Dropdown menu with CSS and improve it via jQuery ~ http://www.kriesi.at/archives/create-a-multilevel-dropdown-menu-with-css-and-improve-it-via-jquery ~ The CSS-only menu is cross browser tested and from what I can tell works with all browsers except for IE6. Internet Explorer needs the addition of our jQuery function to work properly.
- CSS only drop-down menu - further examples ~ http://www.cssplay.co.uk/menus/drop_examples.html ~ These menus should work in IE5.5, IE6, IE7, Firefox, Opera, Netscape 8 etc., though not Mac IE5.x.
- ADxMenu: Horizontal menu, top to bottom ~ http://aplus.rs/adxmenu/examples/htb/ ~ Features the simplest possible HTML, simplest possible maintenance, ready-made CSS for basic work. It works using only CSS in all modern browsers: Firefox, Opera (9+ recommended), Safari, Camino, OmniWeb, Konqueror, IE7. For IE6, there's a small Javascript that circumvents the lack of li:hover support in it. For more info, see http://aplus.rs/adxmenu/.
Topic: Navigation
Date: Saturday, 28 March 2009
Software: TextPad, Firefox
Book:
In class:
Topic: In-class practice with navigation
Date: Saturday, 4 April 2009
Software: TextPad, Firefox
Book:
In class:
Topic: Positioning
Date: Saturday, 11 April 2009
Software: TextPad, Firefox
Book:
In class:
- Postioning: The Box Model
- Intro to Positioning
- Learn CSS Positioning in Ten Steps ~ http://www.barelyfitz.com/screencast/html-training/css/positioning/ ~ A brief tutorial examining different layout properties available in CSS: position:static, position:relative, position:absolute, and float
- An introduction to CSS-Positioning ~ http://www.webreference.com/programming/css_utopia/chap5/2.html ~ Covers: basic box model, padding, margins, borders, display property, absolute & relative ositioning, multiple columns/li>
- CSS Positioning ~ http://www.brainjar.com/css/positioning/default.asp ~ An excellent introduction to CSS-P
- Complete CSS Guide: Page Layout Properties ~ http://www.westciv.com/style_master/academy/css_tutorial/properties/page_layout.html ~ A very good overview of CSS-P, from WestCiv
- Uses for Positioning
- Intro to Positioning Layouts
- Positioning Layouts
- 2 columns
- 3 columns
- 4 columns
- Collections
Topic: Centering
Date: Saturday, 18 April 2009
Software: TextPad, Firefox
Book:
In class:
- Centering
- In-class assignment: CSS Zen Garden
Topic: In-class practice with positioning
Date: Saturday, 25 April 2009
Software: TextPad, Firefox
Book:
In class:
Topic: Goodbye
Date: Saturday, 2 May 2009
Software: TextPad, Firefox
Book:
In class:
Evaluation form ~ https://spreadsheets.google.com/viewform?key=pb3ZUwzv8bbNcQOxB2YSCHw
|