Course Information. Instructor Todd Sproull Jolley 536 Office Hours by Appointment

Similar documents
Course Information. Todd Sproull Jolley 536 Office Hours by Appointment. Monday and Wednesday 10 11:30 AM

Course Wiki. Today s Topics. Web Resources. Amazon EC2. Linux. Apache PHP. Workflow and Tools. Extensible Networking Platform 1

Three Ways to Use CSS:

CPSC 481: CREATIVE INQUIRY TO WSBF

Introduction to Web Technologies

CSC309 Winter Lecture 2. Larry Zhang

Introduction to Cascading Style Sheet (CSS)

CSS: The Basics CISC 282 September 20, 2014

HTML & CSS. Rupayan Neogy

HTML CS 4640 Programming Languages for Web Applications

Web Development IB PRECISION EXAMS

Ministry of Higher Education and Scientific Research

HTMLnotesS15.notebook. January 25, 2015

By completing this practical, the students will learn how to accomplish the following tasks:

INTRODUCTION TO CSS. Mohammad Jawad Kadhim

Title: Jan 29 11:03 AM (1 of 23) Note that I have now added color and some alignment to the middle and to the right on this example.

Html basics Course Outline

CS144 Notes: Web Standards

HTML & CSS. Lesson 1: HTML Basics Lesson 2: Adding Tables Lesson 3: Intro to CSS Lesson 4: CSS in more detail Lesson 5: Review

Web Publishing Basics I

('cre Learning that works for Utah STRANDS AND STANDARDS WEB DEVELOPMENT 1

Cascading style sheets

Introduction to WEB PROGRAMMING

Cascading style sheets, HTML, DOM and Javascript

HTML and CSS MIS Konstantin Bauman. Department of MIS Fox School of Business Temple University

Hyper Text Markup Language HTML: A Tutorial

Web Programming and Design. MPT Junior Cycle Tutor: Tamara Demonstrators: Aaron, Marion, Hugh

recall: a Web page is a text document that contains additional formatting information in the HyperText Markup Language (HTML)

Introduction to using HTML to design webpages

GRAPHIC WEB DESIGNER PROGRAM

Web Technology. Assignment 3. Notes: This assignment is individual assignment, every student should complete it by himself.

What is a web site? Web editors Introduction to HTML (Hyper Text Markup Language)

Introduction to data centers

CS 350 COMPUTER/HUMAN INTERACTION. Lecture 6

A Balanced Introduction to Computer Science, 3/E

CITS1231 Web Technologies. Introduction to Cascading Style Sheets

Static Webpage Development

CSS Scripting and Computer Environment - Lecture 09

CSC 121 Computers and Scientific Thinking

CS134 Web Site Design & Development. Quiz1

Web Site Development with HTML/JavaScrip

Cloud platforms T Mobile Systems Programming

CompuScholar, Inc. Alignment to Utah's Web Development I Standards

Chapter 2. Self-test exercises

Basic Web Pages with XHTML (and a bit of CSS) CSE 190 M (Web Programming), Spring 2008 University of Washington Reading: Chapter 1, sections

Lecture : 3. Practical : 2. Course Credit. Tutorial : 0. Total : 5. Course Learning Outcomes

CSS: formatting webpages

CREATING A WEBSITE USING CSS. Mrs. Procopio CTEC6 MYP1

Index. alt, 38, 57 class, 86, 88, 101, 107 href, 24, 51, 57 id, 86 88, 98 overview, 37. src, 37, 57. backend, WordPress, 146, 148

1/6/ :28 AM Approved New Course (First Version) CS 50A Course Outline as of Fall 2014

Basic CSS Lecture 17

Exam : 9A Title : Adobe GoLive CS2 ACE Exam. Version : DEMO

Web Programming HTML CSS JavaScript Step by step Exercises Hans-Petter Halvorsen

Web Development and HTML. Shan-Hung Wu CS, NTHU

CS 1100: Web Development: Client Side Coding / Fall 2016 Lab 2: More HTML and CSS

CSS مفاهیم ساختار و اصول استفاده و به کارگیری

COMPUTER APPLICATIONS IN BUSINESS FYBMS SEM II

The Nature of the Web

HTML and CSS COURSE SYLLABUS

XHTML & CSS CASCADING STYLE SHEETS

week8 Tommy MacWilliam week8 October 31, 2011

TEST NAME: MMWD 4.01 TEST ID: GRADE:09 - Ninth Grade Twelfth Grade SUBJECT:Computer and Information Sciences TEST CATEGORY: My Classroom

HTML & CSS. SWE 432, Fall 2017 Design and Implementation of Software for the Web

CHAPTER 2 MARKUP LANGUAGES: XHTML 1.0

SYBMM ADVANCED COMPUTERS QUESTION BANK 2013

Human-Computer Interaction Design

Comp-206 : Introduction to Software Systems Lecture 23. Alexandre Denault Computer Science McGill University Fall 2006

CITS3403 Agile Web Development 2019 Semester 1

c122jan2714.notebook January 27, 2014

1 of 7 11/12/2009 9:29 AM

Web Publishing with HTML

Web and Apps 1) HTML - CSS

Introduction to Multimedia. MMP100 Spring 2016 thiserichagan.com/mmp100

Web Design and Application Development

In the early days of the Web, designers just had the original 91 HTML tags to work with.

Final Exam Study Guide

Diploma in Mobile App Development Part I

introduction to XHTML

Human-Computer Interaction Design

Notes General. IS 651: Distributed Systems 1

Human-Computer Interaction Design

Cloud platforms. T Mobile Systems Programming

Announcements. 1. Class webpage: Have you been reading the announcements? Lecture slides and coding examples will be posted

HTML + CSS. ScottyLabs WDW. Overview HTML Tags CSS Properties Resources

Study Guide 2 - HTML and CSS - Chap. 6,8,10,11,12 Name - Alexia Bernardo

MRK260. Week Two. Graphic and Web Design

Midterm 1 Review Sheet CSS 305 Sp 06

Introduction to HTML & CSS. Instructor: Beck Johnson Week 2

CSI 3140 WWW Structures, Techniques and Standards. Markup Languages: XHTML 1.0

7300 Warden Avenue, Suite 503 Markham, Ontario Canada L3R 9Z6. Phone: Toll Free: Fax:

ITNP43: HTML Lecture 4

Introduction to Web Development

Introduction to web development and HTML MGMT 230 LAB

CST272 ASP.NET Style Sheets Page 1

PASS4TEST. IT Certification Guaranteed, The Easy Way! We offer free update service for one year

CSS CSS how to display to solve a problem External Style Sheets CSS files CSS Syntax

Programmazione Web a.a. 2017/2018 HTML5

Full file at New Perspectives on HTML and CSS 6 th Edition Instructor s Manual 1 of 13. HTML and CSS

Which is why we ll now be learning how to write in CSS (or cascading sheet style)

Create web pages in HTML with a text editor, following the rules of XHTML syntax and using appropriate HTML tags Create a web page that includes

Transcription:

Welcome to CSE 330/503 Creative Programming and Rapid Prototyping Extensible Networking Platform 1 1 - CSE 330 Creative Programming and Rapid Prototyping Course Information Instructor Todd Sproull todd@wustl.edu Jolley 536 Office Hours by Appointment Course Website http://research.engineering.wustl.edu/~todd/cse330/ Labs Urbauer Lab, Rooms 214,215, 216, 218, and 222 Extensible Networking Platform 2 2 - CSE 330 Creative Programming and Rapid Prototyping

Grading 6 modules to complete during the semester Most modules contain individual and group assignments Modules are due by the end of class on the due date You will the Creative Project in class on the due date You will not demo the other modules You must commit the module by the end of class to receive credit Otherwise it is a 0 You may demo a lab that was committed on time up to 4 days after the due date for full credit CSE 503S students will also complete a performance evaluation study of their creative project Extensible Networking Platform 3 3 - CSE 330 Creative Programming and Rapid Prototyping What is this class all about? A tour of Web 2.0 technologies Cloud Computing Amazon EC2 LAMP Linux Apache MySQL PHP Python Javascript Extensible Networking Platform 4 4 - CSE 330 Creative Programming and Rapid Prototyping

Cloud Computing Extensible Networking Platform 5 5 - CSE 330 Creative Programming and Rapid Prototyping What is Cloud Computing? Cloud computing is using the Internet to access someone else's software running on someone else's hardware in someone else's data center. - Lewis Cunningham Extensible Networking Platform 6 6 - CSE 330 Creative Programming and Rapid Prototyping

Types of Cloud Computing SaaS Software as a Service PaaS Platform as a Service IaaS Infrastructure as a Service Extensible Networking Platform 7 7 - CSE 330 Creative Programming and Rapid Prototyping Software as a Service (SaaS) Cloud based delivery of complete software applications that run on infrastructure the SaaS vendor manages Accessed over the Internet and typically charged on a subscription Examples Gmail and Yahoo Mail Google Docs Box.net Netflix SaaS Software as a Service Extensible Networking Platform 8 8 - CSE 330 Creative Programming and Rapid Prototyping

Platform as a Service (PaaS) Features Storage Databases Cloud Middleware Scalability Examples Google App Engine Amazon Web Services S3 Heroku PaaS Platform as a Service Extensible Networking Platform 9 9 - CSE 330 Creative Programming and Rapid Prototyping Infrastructure as a Service (IaaS) Features Virtualization Nearly instant scalability Everything is a service Utility style (pay for what you use) Hardware, OS, Software, Storage & Network Examples Amazon Web Services (AWS) EMC Fortress (Storage Cloud) HP Adaptive IaaS IaaS Infrastructure as a Service Extensible Networking Platform 10 10 - CSE 330 Creative Programming and Rapid Prototyping

Amazon Elastic Cloud Computing (EC2) This semester we are using Amazon Web Services (AWS) to run the Linux Operating System in a virtual machine We avoid purchasing 100 PCs for the course Instead we have virtual machines (VM)s to use These machines our hosted in the cloud You connect to an instance of a particular configuration of Linux Extensible Networking Platform 11 11 - CSE 330 Creative Programming and Rapid Prototyping Amazon EC2 Costs You are only billed for the computing resources you use When you are done using an instance you can stop it from running so you do not continue to be billed Free Tier available for limited use Sufficient for this course No need to stop a Free Tier instance for the entire semester Extensible Networking Platform 12 12 - CSE 330 Creative Programming and Rapid Prototyping

Free Tier Extensible Networking Platform 13 13 - CSE 330 Creative Programming and Rapid Prototyping How much does this cost? Extensible Networking Platform 14 14 - CSE 330 Creative Programming and Rapid Prototyping

AWS Website Extensible Networking Platform 15 15 - CSE 330 Creative Programming and Rapid Prototyping Extensible Networking Platform 16 16 - CSE 330 Creative Programming and Rapid Prototyping

Module 1 HTML and CSS HyperText Markup Language (HTML) Main markup language for displaying web pages in a web browser Cascading Style Sheets (CSS) Language for describing the look and feel of a markup language (such as HTML) Module 1 is due on Wednesday September 7 th You must commit the module to Bitbucket by the end of class (11:30 AM) Extensible Networking Platform 17 17 - CSE 330 Creative Programming and Rapid Prototyping HTML History In 1989 Tim Berners-Lee introduced three technologies that allowed documents to be distributed and read HTML (HyperText Markup Language) A simple language to layout documents HTTP (Hypertext transfer protocol) Technology that transfers a page from one computer to another Browser Technology Software that reads the HTML pages Extensible Networking Platform 18 18 - CSE 330 Creative Programming and Rapid Prototyping

What is HTML? Initially just a text file with a few special codes (called tags) Clear text, case insensitive Ignores white space Comprised of tags <tag> </tag> eg <p> This is some cool content inside a paragraph tag. </p> The tag and contents is called an element Stuff between the tags is the elements contents Elements have attributes Allow you to create a particular class of an element You can also create a unique id for an element Extensible Networking Platform 19 19 - CSE 330 Creative Programming and Rapid Prototyping HTML Version Timeline 1992: HTML 1.0 original proposal 1994: HTML 2.0 1996: HTML 3.2, end of browser wars 1997: HTML 4.0, stylesheets introduced 1999: HTML 4.01, everyone is happy 2000: XHTML 1.0, an XML version of HTML 2001: XHTML 1.1 2002: XHTML 2.0 2008: HTML 5.0 published as working draft 2011: HTML 5 Last Call from HTML Working Group Extensible Networking Platform 20 20 - CSE 330 Creative Programming and Rapid Prototyping

HTML Fundamentals Document Structure < HTML > Header Body < / HTML> Extensible Networking Platform 21 21 - CSE 330 Creative Programming and Rapid Prototyping HTML Fundamentals <html> <head> <title> The title of your html page </title> </head> <body> </body> </html> <! - - your web page content and markup - -> Extensible Networking Platform 22 22 - CSE 330 Creative Programming and Rapid Prototyping

HTML Simple Example <html> <head> <title> My first webpage </title> </head> <body> Hello World <! - - This is a boring webpage - -> </body> </html> Extensible Networking Platform 23 23 - CSE 330 Creative Programming and Rapid Prototyping header <body> HTML Fundamentals - Example Todd Sproull Here is my contact info: </body> Extensible Networking Platform 24 24 - CSE 330 Creative Programming and Rapid Prototyping

HTML - Fundamentals header <body> Todd Sproull <br><br> Here is my contact info:<br> </body> Extensible Networking Platform 25 25 - CSE 330 Creative Programming and Rapid Prototyping HTML - Fundamentals header <body> Todd Sproull <br> <br> Here is my contact info: <br> <ol> <li>office: Jolley Hall, Room 536</li> <li>email: todd@wustl.edu</li> <li>phone:314-935-7140</li> </ol> </body> Extensible Networking Platform 26 26 - CSE 330 Creative Programming and Rapid Prototyping

HTML - Fundamentals header <body> Todd Sproull <br> <br> Here is my contact info: <br> <ol><li>office: Jolley Hall, Room 536<li> <li>email: todd@wustl.edu <li>phone:314-935-7140</li></ol> <img src= http://www.myserver.com/images/me.jpg /> </body> Extensible Networking Platform 27 27 - CSE 330 Creative Programming and Rapid Prototyping HTML - Fundamentals header <body> Todd Sproull <br> <br> Here is my contact info: <br> <ol><li>office: Jolley Hall, Room 536<li> <li>email: todd@wustl.edu <li>phone:314-935-7140</li> <img src= me.jpg /> <br></ol> <a href= cse436.html >Read about my iphone class</a> </body> Extensible Networking Platform 28 28 - CSE 330 Creative Programming and Rapid Prototyping

HTML Example DEMO Extensible Networking Platform 29 29 - CSE 330 Creative Programming and Rapid Prototyping HTML Compliance We want to follow best practices and adhere to standards when possible in this course W3C provides an online Markup Validation Service for us to test out our web pages http://validator.w3.org/ All web pages developed in this course must pass this validation Extensible Networking Platform 30 30 - CSE 330 Creative Programming and Rapid Prototyping

HTML and CSS Tutorials Plenty of really good examples available online http://classes.engineering.wustl.edu/cse330/index.php/html_ and_css http://webplatform.org A basic understanding of HTML is necessary for this course The goal of this course is not to teach all of the amazing aspects of web design But you MUST create W3C compliant web pages The header <!DOCTYPE HTML> declares an HTML 5 webpage Which is what we will use in this course Extensible Networking Platform 31 31 - CSE 330 Creative Programming and Rapid Prototyping Cascading Style Sheets A powerful way to specify styles and formatting across all documents in a web site Style sheets can be specified inline or as a separate document Helps to keep a common look and feel Extensible Networking Platform 32 32 - CSE 330 Creative Programming and Rapid Prototyping

Cascading Style Sheets (CSS) Styles enable you to define a consistent 'look' for your documents by describing once how headings, paragraphs, quotes, etc. should be displayed. Style sheet syntax is made up of three parts: selector {property: value} selector = element.class Extensible Networking Platform 33 33 - CSE 330 Creative Programming and Rapid Prototyping General form: CSS selector {property: value} or selector {property 1: value 1; property 2: value 2;... property n: value n } Extensible Networking Platform 34 34 - CSE 330 Creative Programming and Rapid Prototyping

CSS Examples H1 is an element. Which is the CSS Selector text-align is the property center is the value H1 {text-align: center; color: blue; font: Arial, Times New Roman} P {text-align: left; color: red; font-family: Tahoma, Arial Narrow; font-style: italics} Extensible Networking Platform 35 35 - CSE 330 Creative Programming and Rapid Prototyping Using CSS - Example Page <head> <title> My Page Title </title> <style TYPE="text/css" > <! - - element.class { property:value; } element.class { property:value; } - - > </style> </head> Extensible Networking Platform 36 36 - CSE 330 Creative Programming and Rapid Prototyping

Using CSS - Example Page <html> <head> <title> CSS Example </title> <style TYPE="text/css > h1 { color:blue; } </style> </head> <body> <h1> Hello </h1> </body> </html> Extensible Networking Platform 37 37 - CSE 330 Creative Programming and Rapid Prototyping Using CSS - Example Page External File <html> <head> <title> CSS Example </title> <link rel="stylesheet type="text/css" href="mystyle.css"> </head> <body> <h1> Hello </h1> </body> </html> Extensible Networking Platform 38 38 - CSE 330 Creative Programming and Rapid Prototyping

CSS Examples h1 {text-align: center; color: blue} a {color:green; font-familiy:arial,courier; font-weight:bold;} td { align:center; background-color:grey; border-color:red;} div {position:absolute; visibily:hidden; margin:10px } font {color:navy; font-size:2pt; font-face:trebuchet; } Extensible Networking Platform 39 39 - CSE 330 Creative Programming and Rapid Prototyping More CSS Examples - Classes element.class {property:value; } h1 {color: blue} h1.widget {color: green; } a {color:green; font-familiy:arial,courier; font-weight:bold;} a.menu {color:cyan; font-familiy:arial,courier; font-style:italics;} <h1> Hello </h1> <h1 class= widget > Hello again </h1> Extensible Networking Platform 40 40 - CSE 330 Creative Programming and Rapid Prototyping

Using CSS Classes - Example Page <html> <head> <title> CSS Example </title> <style TYPE="text/css > h1 { color:blue; } h1.widget { color:green; } </style> </head> <body> <h1> Hello </h1> <h1 class= widget > Hello again </h1> </body> </html> Extensible Networking Platform 41 41 - CSE 330 Creative Programming and Rapid Prototyping Extensible Networking Platform 42 42 - CSE 330 Creative Programming and Rapid Prototyping

HTML Forms <form> is just another kind of HTML tag HTML forms are used to create (rather primitive) GUIs on Web pages Usually the purpose is to ask the user for information The information is then sent back to the server A form is an area that can contain form elements Forms can be used for other things, such as a GUI for simple programs Extensible Networking Platform 43 43 - CSE 330 Creative Programming and Rapid Prototyping The <form> tag The <form arguments>... </form> tag encloses form elements (and probably other HTML as well) The arguments to form tell what to do with the user input action="url" (required) Specifies where to send the data when the Submit button is clicked method="get" (default) Form data is sent as a URL with?form_data info appended to the end Can be used only if data is all ASCII and not more than 100 characters method="post" Form data is sent in the body of the URL request Cannot be bookmarked by most browsers target="target" Tells where to open the page sent as a result of the request target= _blank means open in a new window target= _top means use the same window Extensible Networking Platform 44 44 - CSE 330 Creative Programming and Rapid Prototyping

HTML Form Example formexampleget.html <!DOCTYPE HTML> <head> <title> My HTML Form </title></head> <body> <form name="input" action= http://somewebsite.com/ method="get"> Username: <input type="text" name="user" /> <input type="submit" value="submit" /> </form> </body> </form> Extensible Networking Platform 45 45 - CSE 330 Creative Programming and Rapid Prototyping HTML Forms DEMO Extensible Networking Platform 46 46 - CSE 330 Creative Programming and Rapid Prototyping

Get vs Post Mantra you "must not use GET requests to make changes" GET should never change data on the server Differences: http://stackoverflow.com/questions/198462/iseither-get-or-post-more-secure-than-the-other http://www.diffen.com/difference/get_vs_post Extensible Networking Platform 47 47 - CSE 330 Creative Programming and Rapid Prototyping Course Website, Wiki, and Module 1 Extensible Networking Platform 48 48 - CSE 330 Creative Programming and Rapid Prototyping

Piazza We are using Piazza as a forum to answer questions about the course Make sure you sign up at piazza.com and join the CSE 330 course discussion Extensible Networking Platform 49 49 - CSE 330 Creative Programming and Rapid Prototyping Collaboration Policy http://research.engineering.wustl.edu/~todd/cse330/info.html Extensible Networking Platform 50 50 - CSE 330 Creative Programming and Rapid Prototyping

Git Extensible Networking Platform 51 51 - CSE 330 Creative Programming and Rapid Prototyping Git: A Fast Version Control System Git Is distributed Has no master copy Has fast merges Scales up Convenient tools still being built Safeguards against corruption Extensible Networking Platform 52 52 - CSE 330 Creative Programming and Rapid Prototyping

What is version control? Basic functionality: keep track of changes made to files (allows roll-backs) merge the contributions of multiple developers Benefits: facilitates backups increased productivity (vs manual version control) encourages experimentation helps to identify/fix conflicts makes source readily available less duplicated effort Extensible Networking Platform 53 53 - CSE 330 Creative Programming and Rapid Prototyping Our First Git Repository mkdir first-git-repo cd first-git-repo git init Creates the basic artifacts in the.git directory echo Hello World > hello.txt git add. Adds content to the index Index reflects the working version Must be run prior to a commit git commit -a -m Check in number one We will cover Git in more detail in later modules Extensible Networking Platform 54 54 - CSE 330 Creative Programming and Rapid Prototyping

Demo of Git, Bitbucket, and SourceTree Extensible Networking Platform 55 55 - CSE 330 Creative Programming and Rapid Prototyping