Web Infrastructure Week 2 INFM 603. Agenda Questions HTML CSS JavaScript.

Slides:



Advertisements
Similar presentations
Introduction to Web Design Lecture number:. Todays Aim: Introduction to Web-designing and how its done. Modelling websites in HTML.
Advertisements

HTML Basics Customizing your site using the basics of HTML.
Introducing JavaScript
CREATED BY : VIRAL M.KORADIYA. Anchor elements are defined by the element. The element accepts several attributes, but either the Name or HREF attribute.
INFM 603: Information Technology and Organizational Context Jimmy Lin The iSchool University of Maryland Thursday, September 19, 2013 Session 3: JavaScript.
CSS Cascading Style Sheets. Objectives Using Inline Styles Working with Selectors Using Embedded Styles Using an External Style Sheet Applying a Style.
Cascading Style Sheets
Chapter 8 Creating Style Sheets.
The Web Warrior Guide to Web Design Technologies
Programming Week 9 LBSC 690 Information Technology.
Web Infrastructure Week 3 INFM 603. The Key Ideas Questions Structured Programming Modular Programming Data Structures Object-Oriented Programming.
LBSC 690 Session #10 Programming, JavaScript Jimmy Lin The iSchool University of Maryland Wednesday, November 5, 2008 This work is licensed under a Creative.
Data Structures Week 4 INFM 603. The Key Ideas Structured Programming  Modular Programming  Data Structures Object-Oriented Programming.
Programming Week 5 LBSC 690 Information Technology.
Building Accessibility Into The Workflow Rick Ells Computing & Communications University of Washington Seattle, Washington
Programming Week 5 LBSC 690 Information Technology.
LBSC 690: Session 10 Programming, JavaScript Jimmy Lin College of Information Studies University of Maryland Monday, November 12, 2007.
Web Infrastructure Week 2 INFM 603. Agenda Questions XHTML CSS JavaScript.
Tutorial 3: Adding and Formatting Text. 2 Objectives Session 3.1 Type text into a page Copy text from a document and paste it into a page Check for spelling.
Chapter 2 Introduction to HTML5 Internet & World Wide Web How to Program, 5/e Copyright © Pearson, Inc All Rights Reserved.
Chapter 14 Introduction to HTML
Introducing HTML & XHTML:. Goals  Understand hyperlinking  Understand how tags are formed and used.  Understand HTML as a markup language  Understand.
_______________________________________________________________________________________________________________ E-Commerce: Fundamentals and Applications1.
Headings, Paragraphs, Formatting, Links, Head, CSS, Images
Copyright © Texas Education Agency, All rights reserved. 1 Web Technologies Website Development with Dreamweaver.
Content Management Systems Week 5 LBSC 690 Information Technology.
Copyright © cs-tutorial.com. Introduction to Web Development In 1990 and 1991,Tim Berners-Lee created the World Wide Web at the European Laboratory for.
JavaScript, Fifth Edition Chapter 1 Introduction to JavaScript.
SEG3210 DHTML Tutorial. DHTML DHTML is a combination of technologies used to create dynamic and interactive Web sites. –HTML - For creating text and image.
Structured Programming Week 3 INFM 603. Muddiest Points Emergent behavior of the Web HTML class attribute The details of JavaScript … p.style1 { font-family:arial;
.  Entertain  Inform  Educate  Blogs  Sell  Date  Gamble  Religion.
Programming in HTML.  Programming Language  Used to design/create web pages  Hyper Text Markup Language  Markup Language  Series of Markup tags 
CNIT 133 Interactive Web Pags – JavaScript and AJAX JavaScript Environment.
Web Accessiblity Carol Gordon SIU Medical Library.
NASRULLAH KHAN.  Lecturer : Nasrullah   Website :
SEG3210 DHTML Tutorial. DHTML DHTML is a combination of technologies used to create dynamic and interactive Web sites. –HTML - For creating text and image.
Programming in HTML.  Programming Language  Used to design/create web pages  Hyper Text Markup Language  Markup Language  Series of Markup tags 
 2008 Pearson Education, Inc. All rights reserved Introduction to XHTML.
Emily Gibson The College of New Jersey An Evaluation of Current Software Tools* Evaluation & Repair Software.
INTRODUCTION. What is HTML? HTML is a language for describing web pages. HTML stands for Hyper Text Markup Language HTML is not a programming language,
1 JavaScript in Context. Server-Side Programming.
XP Tutorial 10New Perspectives on Creating Web Pages with HTML, XHTML, and XML 1 Working with JavaScript Creating a Programmable Web Page for North Pole.
Section 508 requirements for Federal Website Design Jon Brundage MDCFUG 4/10/01.
IS1825: Developing Multimedia Applications for Business Lecture 1: Introduction to CSS Rob Gleasure
HTML: Hyptertext Markup Language Doman’s Sections.
Ali Alshowaish. What is HTML? HTML stands for Hyper Text Markup Language Specifically created to make World Wide Web pages Web authoring software language.
Intro to PHP IST2101. Review: HTML & Tags 2IST210.
Web Development 101 Presented by John Valance
ECA 225 Applied Interactive Programming1 ECA 225 Applied Online Programming basics.
Chapter 2: Variables, Functions, Objects, and Events JavaScript - Introductory.
IS-907 Java EE World Wide Web - Overview. World Wide Web - History Tim Berners-Lee, CERN, 1990 Enable researchers to share information: Remote Access.
Technical Communication A Practical Approach Chapter 14: Web Pages and Writing for the Web William Sanborn Pfeiffer Kaye Adkins.
Spiderman ©Marvel Comics Creating Web Pages (part 1)
XP Review 1 New Perspectives on JavaScript, Comprehensive1 Introducing HTML and XHTML Creating Web Pages with HTML.
Department of Computer Science, Florida State University CGS 3066: Web Programming and Design Spring
The Web Session 4 INST 301 Introduction to Information Science.
Department of Computer Science, Florida State University CGS 3066: Web Programming and Design Spring
1 CSC160 Chapter 1: Introduction to JavaScript Chapter 2: Placing JavaScript in an HTML File.
Programming Session 6 LBSC 690 Information Technology.
JavaScript and Ajax (JavaScript Environment) Week 6 Web site:
Tutorial #1 Using HTML to Create Web Pages. HTML, XHTML, and CSS HTML – HyperText Markup Language The tags the browser uses to define the content of the.
Introduction to HTML Dave Edsall IAGenWeb County Coordinator’s Conference June 30, 2007.
1 Making an Accessible Web Site Sec 508 Standards – How Tos Evelyn Li University of Wisconsin-Fox Valley.
 2001 Prentice Hall, Inc. All rights reserved. Outline 1 JavaScript.
Making the Web Accessible to Impaired Users
Chapter 27 WWW and HTTP.
Week 5 LBSC 690 Information Technology
An Introduction to JavaScript
Web Programming and Design
Presentation transcript:

Web Infrastructure Week 2 INFM 603

Agenda Questions HTML CSS JavaScript

Some Muddiest Points How to make and host a Web page (!!) Port address translation How it all fits together –Protocol layers

HTML (data/display) Internet communication protocols RTSPFTP Web Server HTTP (transfer) File System URL (e.g., HTML HTTP URL “The Web”

HyperText Transfer Protocol (HTTP) Send request GET /path/file.html HTTP/1.0 From: User-Agent: HTTPTool/1.0 Server response HTTP/ OK Date: Fri, 31 Dec :59:59 GMT Content-Type: text/html Content-Length: 1354 Happy New Millennium! …

What’s a Document? Content Structure Appearance Behavior

History of Structured Documents Early standards were “typesetting languages” –NROFF, TeX, LaTeX, SGML HTML was developed for the Web Specialized standards met other needs –Change tracking in Word, annotating manuscripts, … XML seeks to unify these threads –One standard format for printing, viewing, processing

HyperText Markup Language (HTML) Simple document structure language for Web Advantages –Adapts easily to different display capabilities –Widely available display software (browsers) Disadvantages –Does not directly control layout

“Hello World” HTML Hello World! Hello world! This is my first webpage! This is the header This is the actual content of the HTML document

Logical Structure Tags Head –Title Body –Headers: –Lists:, (can be nested) –Paragraphs: –Definitions: –Tables: –Role:,,, …

HTML Document Structure “Tags” mark structure – a document – an ordered list – something in italics Tag name in angle brackets <> –Not case sensitive Open/Close pairs –Close tag is sometimes optional (if unambiguous)

Physical Structure Tags Font –Typeface: –Size: –Color: /color_codes/Emphasis –Bold: –Italics:

(Hyper)Links Hello World! Hello world! This is my first webpage! Click here for another page. Another page This is another page. index.html test.html

Hypertext “Anchors” Internal anchors: somewhere on the same page – Students Links to: Student Information External anchors: to another page – CLIS – CLIS students URL may be complete, or relative to current page – 2 File name part of URL is case sensitive (on Unix servers) –Protocol and domain name are not case sensitive

Link Structure of the Web

Images or – –SRC: can be url or path/file –ALT: a text string –ALIGN: position of the image –WIDTH and HEIGHT: size of the image Can use as anchor: – Example: –

Tables eeniemennieminey mocatcha tiger bythetoe

Table Example The caption Header1 Header2 first row, first item first row, second item second row, first item second row, second item See also:

Rendering Different devices have different capabilities –Desktop or laptop computer –Handheld device Rendering maps logical tags to physical layout –Controls line wrap, size, font… Place the title in the page border Render as 24pt Times Render as bold

Tips Edit files on your own machine –Upload when you’re happy Save early, save often, just save! Reload browser to see changes File naming –Don’t use spaces –Punctuation matters

What’s Wrong with the Web? HTML –Confounds structure and appearance (XML) HTTP –Can’t recognize related transactions (Cookies) URL –Links breaks when you move a file (PURL)

The XML Family Tree SGML XML HTMLTEI... XHTML SMIL MathML SpeechML RDF XUL

Some Basic Rules for All XML XML is case sensitive XML declaration is the first statement – An XML document is a “tree” –Must contain one root element –Other elements must be properly nested All start tags must have end tags Attribute values must have quotation marks – Certain characters are “reserved” –For example: < is used to represent <

XHTML: Cleaning up HTML Title of text XHTML Document Heading of Page here is a paragraph of text. I will include inside this paragraph a bunch of wonky text so that it looks fancy. Here is another paragraph with inline emphasized text, and absolutely no sense of humor. And another paragraph, this one with an <img src="image.gif" alt="waste of time" /> image, and a line break.

Defining Blocks of Text … –Named region –Implies a paragraph break, –Can include multiple paragraphs … –Individual paragraph … –Any region –Does not create a paragraph break

CSS Separating content and structure from appearance Rules for defining styles “cascade” from broad to narrow: –Browser default –External style sheet –Internal style sheet –Inline style

Basics of CSS Basic syntax: Example: Causes –Font to be center-aligned –Font to be Arial and black selector {property: value} HTML tag you want to modify… The property you want to change… The value you want the property to take p { text-align: center; color: black; font-family: arial }

Different Ways of Using CSS Inline style: –Causes only this tag to have the desired properties Internal stylesheet: –Causes all tags to have the desired properties … p { font-family:arial; color:blue} …

Customizing Classes Ability to define customized styles for standard HTML tags: … p.style1 { font-family:arial; color:blue} p.style2 { font-family:serif; color:red} …

External Style Sheets Store formatting metadata in a separate file … … p.style1 { font-family:arial; color:blue} p.style2 { font-family:serif; color:red} mystyle.css

HTML Editors Several are available –Adobe Dreamweaver, available from terpware –Microsoft Word, available from terpware You may still need to edit the HTML file –Some editors use browser-specific features –Some HTML features may be unavailable –File names may be butchered when you upload Detailed patterns can make hand-editing difficult

Some Style Guidelines Provide appropriate “access points” –Users’ navigation strategies differ Design useful navigational aids –Search may lead users to the middle of a site Include some indication of recency –Date of last update, “new” icons, etc. Indicate who is responsible for the content –Helps readers assess authority

Some Accessibility Guidelines Design for device independence Maintain compatibility with earlier browsers –Provide alternative pages if necessary Provide alternatives to aural and visual content –Alt tags for images, transcripts for audio Make it easy for assistive devices to work –Give a title to each frame –Use tables only for data, not to control layout

Section 508 (Federal Web pages) A text equivalent for every non-text element shall be provided. Equivalent alternatives for any multimedia presentation shall be synchronized with the presentation. Web pages shall be designed so that all information conveyed with color is also available without color. Documents shall be organized so they are readable without requiring an associated style sheet. Redundant text links shall be provided for each active region of a server-side image map. Client-side image maps shall be provided instead of server-side image maps except where the regions cannot be defined with an available geometric shape. Row and column headers shall be identified for data tables. Markup shall be used to associate data cells and header cells for data tables that have two or more logical levels of row or column headers. Frames shall be titled with text that facilitates frame identification and navigation. Pages shall be designed to avoid causing the screen to flicker with a frequency >2 Hz and <55 Hz. A text-only page, with equivalent information or functionality, shall be provided when compliance cannot be accomplished in any other way. The content shall be updated when the primary page changes When pages use scripting languages to display content or to create interface elements, the information provided by the script shall be identified with functional text that can be read by assistive technology. When a web page requires that an applet, plug-in or other application be present on the client system to interpret page content, the page must provide a link to a plug-in or applet that complies with the above. When electronic forms are designed to be completed on-line, the form shall allow people using assistive technology to access the information, field elements, and functionality required. A method shall be provided that permits users to skip repetitive navigation links. When a timed response is required, the user shall be alerted and given sufficient time to indicate more time is required.

Validation Services HTML cross-browser compatibility – CSS cross-browser compatibility – Section 508 compliance – Try them on 

Programming for the Web JavaScript [Client-side] –Server embeds a program in HTML –Browser runs the program when it gets to it PHP “Common Gateway Interface” [Server-side] –HTML form sends field values to the server –Server passes field values to a program –Program generates a Web page as a response Ruby on Rails [Ajax] –Server sends browser a generic program to run –Browser and server programs exchange XML-encoded data

Software Software models some aspects of reality –Input and output represent the state of the world –Software describes how the two are related Examples –Ballistic computations –Google –Microsoft Word

Programming Languages Used to specify every detail of the model Special purpose –Able to specify an entire class of models Spreadsheets (Excel,...) Databases (Access, Oracle,...) General purpose –Able to specify any possible model JavaScript, Java, Ruby, Perl, C, C++,...

History of Programming Machine language –Language that machine can understand Assembly language –Assembler translates “symbolic” references to machine instructions and memory locations into machine code High-level languages –Compiler rewrites everything in machine code OR –Interpreter performs the specified actions at “run time”

Programming Languages Hardware Machine Language Assembly Language RubyPHPJavaC++JavaScript

Machine Language Everything is a binary number –Operations –Data ADD number to be added (21) memory location to add it to (86)

Assembly Language Symbolic instructions and addresses –Symbolic instruction “ADD” –Symbolic address “SUM1” For instance ADD 21, SUM1

High level Languages Procedural (modular) Programming –Group instructions into meaningful abstractions –C, Pascal, Perl Object oriented programming –Group “data” and “methods” into “objects” –Naturally represents the world around us –C++, Java, JavaScript, PHP, Ruby

JavaScript My first script document.write("Hello, world!")

Variables Data types: –Boolean: true, false –Number: –String: “Hello World” A “variable” holds a value (of some data type) –Represented as “variable names”: x celsiusTemp –Variables are “dynamically typed” at run time If you use it as a string, it’s a string … –Variable names are case sensitive in JavaScript

Operators -xreverse the sign of x (negation) 6+5Addition (numeric) “Hello” + “ World” Concatenation (strings) [note the space] 2.1 * 3 Multiply (treats the int as a float) 4 + “ Horsemen”Concatenation (treats 4 as a string)

Assignment Statements Assignment sets the value of a variable x = 5set the value of x to be 5 [a command, not an assertion!!] x = 5*xMultiply x by 5 and save the result in x x = 5+8/4*2Set x to 5+((8/4)*2) [precedence rules!] x += yx = x + y x++x = x + 1 JavaScript statements end with a semicolon Optional at the end of a line

Some Useful Predefined “Methods” document.writeln(“…”); –String gets rendered as (X)HTML –Include “ ” to force a line break window.alert(“…”); –String is written verbatim as text –Include “\n” to force a line break foo = window.prompt(“…”); –String is shown verbatim as text –Result is whatever string the user enters

Functions (non-object “Methods”) Reusable code for complex “statements” –Takes one or more values as “parameters” –Returns at most one value as the “result” function convertToCelsius(f) { var celsius = 5/9 * (f-32); return celsius; } c = convertToCelsius(60); function convertToCelsius(f) { var celsius = 5/9 * (f-32); return celsius; } var f = 60; c = convertToCelsius(f);

Writing JavaScript Functions Convenient to put it in the section –Use to prevent display of code … <!-- function calculate() { var num = eval(document.input.number.value); … document.output.number.value = total; } //--> …

Scope of a Variable In JavaScript, var “declares” a variable var mystery;create a variable without defining its type var b = true;create a boolean b and set it to true var n = 1;create an integer n and set it to 1 var s = “hello”;create a string s and set it to “hello” Variables declared in a function are “local” Same name outside function refers to different variable All other variables are “global”

More JavaScript Statements Invocation of a function Temperature.toCelsius(104); Return a value from a function return celsius;

Basic Control Structures Sequential –Perform instructions one after another Conditional –Perform instructions contingent on something Repetition –Repeat instructions until a condition is met Not much different from cooking recipes!

Sequential Control Structure a = 2; b = 3; c = a * b;

Conditional Selection Control Structure if (gender == “male”) { greeting = “Hello, Sir”; } else { greeting = “Hello, Madam”; }

Boolean Operators x == y true if x and y are equal [use == not =] x != y true if x and y are not equal x > ytrue if x is greater than y x <= y true if x is smaller than or equal to y x && ytrue if both x and y are true x || ytrue if either x or y is true !xtrue if x is false

Repetition Control Structure Program Example 1: n = 1 while ( n <= 10) { document.writeln(n); n++ } Program 2: For (n = 1; n <= 10; n++) { document.writeln(n); }

Arrays A set of elements –For example, the number of days in each month Each element is assigned an index –A number used to refer to that element For example, x[4] is the fifth element (count from zero!) –Arrays and repetitions work naturally together

Handling Events Events: –Actions that users perform while visiting a page Use event handlers to response events –Event handlers triggered by events –Examples of event handlers in Javascript onMouseover: the mouse moved over an object onMouseout: the mouse moved off an object onClick: the user clicked on an object

Using JavaScript with Forms HTML: Please enter a number: The sum of all numbers up to the number above is JavaScript: var num = eval(document.input.number.value); document.output.number.value = 10; Reads in a value from the first form (eval method turns it into a number) Changes the value in the second form

Hands On: Adopt a JavaScript Program Launch a Web browser – See how it behaves if you are 13 (or 65) View source and read the program Save a local copy Make some changes and see how it works

Programming Tips Attention to detail! –Careful where you place that comma, semicolon, etc. Write a little bit of code at a time –Add some functionality, make sure it works, move on –Don’t try to write a large program all at once Debug by viewing the “state” of your program –Print values of variables using document.write –Is the value what you expected?

Before You Go On a sheet of paper, answer the following (ungraded) question (no names, please): What was the muddiest point in today’s class?