Back To: [Winthrop] [CBA] [CS&QM] Jim McKim
Welcome to Winthrop.edu

Homepage for Introduction to Web Application Design (DIFD 141)

Spring, 2012

[Announcements] [Assignments and labs] [Homework assignments] [Notes]

[Student Projects 08s] [Student Projects 09s] [Student Projects 10s]

Syllabus

Announcements:

Assignments and labs:

The goal for the lab on 2/9 and 2/14 is to add documentation to the code and then play a complete game of hangman on a single word puzzle, including changing the image on each bad guess. Make sure both partners have access to all new code and images at the end of the first day.


The goal for the lab on 2/7 is to learn about if..else statements along with more javascript and use that knowledge to play hangman. Well, as long as the puzzle is just one letter.


The goal for the lab on 2/2 is twofold. First we want to move to the "standard" version, put together by Krissy and PatrickR. Then we want to get the selection of letters into our hangman project. Rather than type 26 slightly different html elements, we'll use Javascript.


 

The goal for the lab on 1/31 is to understand how javascript may be used to dynamically change elements on the page.


The goal for the lab on 1/26 is to design and implement your style sheet for the hangman game.  I have a copy of the mockup you gave me last time and I'll compare that against what you accomplish today. Some of you may want to negotiate to do something a little different for various reasons. We'll handle those on a case by case basis. For comparison purposes you can find a version similar to what we did in class today (Thursday) here (html) and here (css).

In addition work on your directory structure and file names. This will facilitate partnerships in the future. Somewhere under your birdnest account, have a hangman directory. Inside that directory have hangman.html, hangman.css, and an images subdirectory. All images should be in the images subdirectory. Make any necessary changes in code to reflect the new structure.


The goal for the lab on 1/24 is to move away from the table layout so that in the future we can rearrange the elements on the page by changing only the style sheet. Note: Straight lecture will be short today, then work with your partner to design a layout, just on paper for now, for the future Hangman game. Come up with a theme that will drive the styling (and perhaps the content) down the road. Beyond that the main criteria are: 1) The result should not look like a table , 2) It should include at least all the major sections we have now, namely Title, Categories, Links, Game, and Certificate areas, 3) The gaming area should be large compared to the others. Show where the letters, blank puzzle, and messages will go and think about their styles. Hand in your paper designs before you disappear today. Make sure both names are on it.


The goal for the lab on 1/19 is to introduce styles and style sheets to our Hangman project.


The goal for the lab on 1/17 is to continue reviewing HTML skills with a particular emphasis on lists and tables. We'll also set the stage for an early version of Hangman.


The goal of the lab on 1/12 is to make sure your master.html code meets the strictest standards, fix any problems, and add a bit more HTML to the page. Finally we'll want to move your code to your birdnest accounts.

 


The goal of the first lab (1/10) is to review HTML skills from earlier courses. A secondary goal is for me to collect some info about you. So....


Homework Assignments:

Most out of class assignments will be reading or tutorial assignments from the web and covered in the announcements section. However, if you fail to finish a lab during the allotted class time then your homework is to complete that lab before the next class. This may entail meeting with your partner outside of class. Note that such "meetings" could take place via electronic means.

Notes: Following are notes from the first class meeting.

1/10: On working with a partner

In lab use strict paired programming. One person drives (does all the typing), the other kibitzes (makes suggestions on what to type, catches errors, etc.)

Outside of lab, the ideal would be that you physically meet, use the same paired programming technique. But the ideal might not always be possible. Use your best judgment.

No sharing of code with anyone except your current partner. Get help from your partner, from me, from passive sources such as your text, tutorials on the internet, etc.

Implicit in every assignment is that you work hard with your partner. If you're the stronger person on a team I expect that you explain as you go, solicit suggestions from your partner, and so on. If you're the weaker person on the team I expect you to demand such explanations and work hard to contribute. Every time we switch partners I will ask you to evaluate your previous partner, so I will get a pretty good idea of who's behaving appropriately and who's not.

 

1/10: XML vs XHTML vs HTML

Everybody knows what HTML is: Hypertext Markup Language. The actual markup is specified by tags and tells us how information is formatted on the page. Original HTML was developed with some guidelines but with no real standards attached. Typical guidelines include paired tags always having a beginning and an end, proper nesting, etc. Also, HTML is limited in the number and kinds of tags that can be used.

XML was developed to provide standards to existing HTML users but also to provide a standard for writing new tags. By adhering to the standards, we can (theoretically) be assured that the code we write will be displayed by all existing and future browsers in the same way. And we can be assured that new tags developed for specialized applications will all be interpreted in the same way. Another name for XML is eXtensible Markup Language, but this is a misnomer. XML isn't a markup language; it's a set of standards to which we expect markup languages to adhere.

XHTML is HTML that conforms to the XML standard. For right now, for us, that means being careful that paired tags have beginnings and ends, that code is properly nested. Right now browsers are forgiving, but it's not clear they should be (eventually that sloppy code will bite you) or that they will remain so in the future.

We will probably not use XML to invent new tags in this course, but we may use XML tags that others have invented. Some of these are used in news feeds, for example.

1/10: Block elements vs Inline elements

Block elements always start on a new line and usually have content. Examples include paragraphs, headings, and tables.

Inline elements, sometimes called text elements, are usually expected to be inside block elements. Examples include anchors, line breaks, and spans. A span element does nothing by itself; it just spans some content. By applying attributes to the <span> tag you can affect that content.

1/20. We talked about id attributes. Then spent some time at http://www.w3schools.com/html looking at lists and tables. We then went on to a short example of an internal style sheet. See http://www.w3schools.com/css for examples.