Web Development
Purpose of Course showclose
The World Wide Web (WWW) has become the primary means by which we conduct searches and perform billing transactions—events that can only occur with the support of specific applications. The purpose of this course is to introduce you to the design and development of such applications. This course will expose you to the basic fundamentals of the Internet and Web protocols, the different architectures that Web-related applications use, and the programming languages that enable the development of Web applications, placing particular emphasis on JavaScript, HTML, XML, AJAX, and Java Server Pages (JSP). We will also cover matters of security and reliability in the development of web applications via the use of transport encryption and authentication.
Learning Outcomes showclose
- Demonstrate an understanding of the Internet and Web Protocols.
- Demonstrate an understanding of Client-Server Architecture.
- Explain how Web Software works.
- Demonstrate an understanding of Hypertext Markup Language (HTML) Programming concepts.
- Demonstrate an understanding of basic JavaScript, AJAX, and Java Server Pages (JSP).
- Demonstrate an understanding of Web Security and Encryption.
Course Requirements showclose
In order to take this course you must:
√ Have access to a computer.
√ Have continuous broadband Internet access.
√ Have the ability/permission to install plug-ins or software (e.g., Adobe Reader or Flash).
√ Have the ability to download and save files and documents to a computer.
√ Have the ability to open Microsoft files and documents (.doc, .ppt, .xls, etc.).
√ Be competent in the English language.
√ Have read the Saylor Student Handbook.
Unit Outline show close
Expand All Resources Collapse All Resources
-
Unit 1: The Internet and Web Protocols
This unit begins with an overview of the development of the Internet and the Web. Students will then study Internet Protocols, focusing on the Hyper Text Transfer Protocol (HTTP), and the different methods by which certain servers are able to perform requests over the Internet. The last section will address extensible Markup language, explaining how it is used to present content on websites as well as how it can be used to transport hierarchical data over the wire.
Unit 1 Time Advisory show close
Unit 1 Learning Outcomes show close
- 1.1 The Internet and Web History
-
1.1.1 The Internet vs. World Wide Web
- Web Media: Marty Stepp et al’s Web Programming Step by Step: “Chapter 1: The Internet and World Wide Web”
Link: Marty Stepp et al’s Web Programming Step by Step: “Chapter 1: The Internet and World Wide Web” (HTML)
Instructions: Review the presentation and take notes accordingly. Note that this text is part of an independently published textbook that provides an overview of web programming concepts, tools, and techniques.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Web Media: Marty Stepp et al’s Web Programming Step by Step: “Chapter 1: The Internet and World Wide Web”
-
1.1.2 Internet History
- Reading: The Computer History Museum’s “Internet History”
Link: The Computer History Museum’s “Internet History” (HTML)
Instructions: Please read the entirety of this webpage. Note that this reading is authored by the Computer History Museum, a physical museum that contains artifacts around computing hardware and technology. The “Internet History” link captures the narrative of the artifacts with a focus on Internet Milestones.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Assessment: Monash University’s: “Easy Quiz on Internet History”
Link: Monash University’s: “Easy Quiz on Internet History” (HTML)
Instructions: Complete the review.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.The Saylor Foundation does not yet have materials for this portion of the course. If you are interested in contributing your content to fill this gap or aware of a resource that could be used here, please submit it here.
- Reading: The Computer History Museum’s “Internet History”
-
1.1.3 Internet Governance and ICANN
- Reading: Georgia Institute of Technology: Hans Klein’s “ICANN and Internet Governance: Leveraging Technical Coordination to Realize Global Public Policy”
Link: Georgia Institute of Technology: Hans Klein’s “ICANN and Internet Governance: Leveraging Technical Coordination to Realize Global Public Policy” (HTML)
Instructions: Click on the article entitled “ICANN and Internet Governance: Leveraging Technical Coordination to Realize Global Public Policy” and read the entirety of this article.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: Georgia Institute of Technology: Hans Klein’s “ICANN and Internet Governance: Leveraging Technical Coordination to Realize Global Public Policy”
-
1.1.4 World Wide Web History
- Web Media: W3C’s “How It All Started”
Link: W3C’s “How It All Started” (HTML)
Instructions: Review the presentation, which reviews the history of the development of the World Wide Web, taking notes as appropriate.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Web Media: W3C’s “How It All Started”
- 1.2 Internet Protocols
-
1.2.1 Services Provided by IP
- Web Media: University of New Hampshire InterOperability Lab: Ben Schultz’s “Overview of Internet Protocol”
Link: University of New Hampshire InterOperability Lab: Ben Schultz’s “Overview of Internet Protocol” (PDF)
Instructions: Click on the presentation entitled “Overview of Internet Protocol” and review in its entirety and take notes as appropriate.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Assessment: About.com’s: “Internet Protocol IP – Practice Test for IP”
Link: About.com’s: “Internet Protocol IP – Practice Test for IP” (HTML)
Instructions: Complete the review.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Web Media: University of New Hampshire InterOperability Lab: Ben Schultz’s “Overview of Internet Protocol”
-
1.2.2 IP Reliability
- Reading: Symantec: Don Parker’s “The Basic Journey of a Packet”
Link: Symantec: Don Parker’s “The Basic Journey of a Packet” (HTML)
Instructions: Read the webpage in its entirety for an overview of packet transmission.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: Symantec: Don Parker’s “The Basic Journey of a Packet”
-
1.2.3 IP Addressing and Routing
- Reading: i-Programmer’s “IP Addressing and Routing”
Link: i-Programmer’s “IP Addressing and Routing” (HTML)
Instructions: Read the webpage in its entirety for an introduction to IP Addressing and Routing.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Assessment: ProProfs’: “Network + Prep Quiz – IP Routing/Addressing”
Link: ProProfs’: “Network + Prep Quiz – IP Routing/Addressing” (HTML)
Instructions: Complete the Review
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: i-Programmer’s “IP Addressing and Routing”
-
1.2.4 The TCP/IP Stack
- Web Media: Stanford University: Professor Kelly Shaw’s “TCP/IP Lecture 2”
Link: Stanford University: Professor Kelly Shaw’s “TCP/IP Lecture 2” (PowerPoint or PDF)
Instructions: Click on the “TCP-IP.ppt” file and review the presentation in its entirety and take notes as appropriate. This portion of the course focuses on the mechanisms that ensure the proper delivery of packets to specific destinations, congestion control in TCP, and the schema of IPv4, IPv6, and routing protocols such as RIP and OSPF.
Terms of Use: Please respect the copyright and terms of use displayed on Stanford University’s homepage. (HTML)The Saylor Foundation does not yet have materials for this portion of the course. If you are interested in contributing your content to fill this gap or aware of a resource that could be used here, please submit it here.
- Assessment: ACADEMIC Tutorials’: “TCP/IP Tutorial Quiz”
Link: ACADEMIC Tutorials’: “TCP/IP Tutorial Quiz” (HTML)
Instructions: Complete the review
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Web Media: Stanford University: Professor Kelly Shaw’s “TCP/IP Lecture 2”
- 1.3 Hypertext Transfer Protocol
-
1.3.1 The Request Message
- Reading: TCP IP Guide: “HTTP Request Message Format”
Link: TCP IP Guide: “HTTP Request Message Format” (HTML)
Instructions: HTTP is an application layer protocol provided by IP. The messages and methods that allow communication between a Web Server and a Web Client are introduced. Read the webpage in its entirety and make sure you understand Figure 317, which illustrates the HTTP Request Message Format. This guide covers the HTTP Protocol and the HTTP Request Message.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: TCP IP Guide: “HTTP Request Message Format”
- 1.3.2 The Request Methods
-
1.3.2.1 HEAD
- Reading: The World Wide Web Consortium’s “Method Definitions”
Link: The World Wide Web Consortium’s “Method Definitions” (HTML)
Instructions: Read section 9.4 of the linked page above for an overview of HTTP Request Methods, including the HTTP HEAD request.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: The World Wide Web Consortium’s “Method Definitions”
-
1.3.2.2 GET
- Reading: The World Wide Web Consortium’s “Method Definitions”
Link: The World Wide Web Consortium’s “Method Definitions” (HTML)
Instructions: Read section 9.3 of the webpage above, which presents the HTTP GET Request.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: The World Wide Web Consortium’s “Method Definitions”
-
1.3.2.3 POST
- Reading: The World Wide Web Consortium’s “Method Definitions”
Link: The World Wide Web Consortium’s “Method Definitions” (HTML)
Instructions: Read section 9.5 of the webpage above, which discusses the HTTP POST Request.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: The World Wide Web Consortium’s “Method Definitions”
-
1.3.2.4 PUT
- Reading: The World Wide Web Consortium’s “Method Definitions”
Link: The World Wide Web Consortium’s “Method Definitions” (HTML)
Instructions: Read section 9.6 of the webpage above, which presents the HTTP PUT Request.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: The World Wide Web Consortium’s “Method Definitions”
-
1.3.3 HTTP Status Codes
- Reading: The World Wide Web Consortium’s “Status Code Definitions”
Link: The World Wide Web Consortium’s “Status Code Definitions” (HTML)
Instructions: Web Server responses are status codes, and each has a specific number and description. Read this webpage in its entirety for an overview of HTTP Status Codes.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: The World Wide Web Consortium’s “Status Code Definitions”
-
1.3.4 HTTP 1.0 vs. HTTP 1.1
- Reading: WWW8 Conference: “Key Differences between HTTP/1.0 and HTTP/1.1”
Link: WWW8 Conference: “Key Differences between HTTP/1.0 and HTTP/1.1” (HTML)
Instructions: Please read the linked material above. This webpage is a transcription of a paper presented at The Eighth International World Wide Web Conference that covers key differences between the legacy HTTP version 1.0 and the current HTTP version 1.1.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Activity: Princeton University’s: “COS-461 Activities: HTTP Proxy”
Link: Princeton University’s: “COS-461 Activities: HTTP Proxy” (HTML)
Instructions: Complete the activity as directed.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: WWW8 Conference: “Key Differences between HTTP/1.0 and HTTP/1.1”
- 1.4 Extensible Markup Language
-
1.4.1 XML Elements with Components
- Reading: Wikibooks: “XML – Managing Data Exchange/Introduction to XML”
Link: Wikibooks: “XML – Managing Data Exchange/Introduction to XML” (PDF)
Instructions: Namespaces and XML DTD are components of an XML schema, a set of rules governing the ways in which a Web Server will parse user-specific XML documents for display. Read the webpage in its entirety.
Terms of Use: The article above is released under a Creative Commons Attribution-Share-Alike License 3.0 (HTML). You can find the original Wikibooks version of this article here (HTML).See a broken link? Please let us know!
- Reading: Wikibooks: “XML – Managing Data Exchange/Introduction to XML”
-
1.4.2 XML Elements without Components
- Reading: CoreWebProgramming.com: “XML Elements”
Link: CoreWebProgramming.com: “XML Elements” (PDF or PowerPoint)
Instructions: Scroll down to the XML link and click on one of its links depending on whether you prefer PDF or PowerPoint format to view the presentation. XML is the general form of HTML; with it, a programmer can create his/her own tags. Read the webpage in its entirety and be sure you understand the XML Elements.
Terms of Use: The article above is released under a Creative Commons Attribution-Share-Alike License 3.0 (HTML). You can find the original Wikipedia version of this article here (HTML).See a broken link? Please let us know!
- Reading: CoreWebProgramming.com: “XML Elements”
-
1.4.3 XML Namespaces
- Reading: World Wide Web Consortium’s “Namespaces in XML 1.0 (Third Edition)”
Link: World Wide Web Consortium’s “Namespaces in XML 1.0 (Third Edition)” (HTML)
Instructions: Read the webpage in its entirety for an overview of the purpose, function, and format of XML namespaces.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: World Wide Web Consortium’s “Namespaces in XML 1.0 (Third Edition)”
-
1.4.4 XML DTD
- Reading: World Wide Web Consortium’s “XML DTD”
Link: World Wide Web Consortium’s “XML DTD” (HTML)
Instructions: Read the webpage in its entirety.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: World Wide Web Consortium’s “XML DTD”
-
1.4.5 XML Schema
- Reading: World Wide Web Consortium’s “Introduction to XML Schemas”
Link: World Wide Web Consortium’s “Introduction to XML Schemas” (HTML)
Instructions: Read the webpage in its entirety.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Assessment: W3Schools’s: “XML Quiz”
Link: W3Schools’s: “XML Quiz” (HTML)
Instructions: Complete the review.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: World Wide Web Consortium’s “Introduction to XML Schemas”
-
Unit 2: Client Server Architecture
In this unit, you will learn about various types of Client-Server Architectures and discuss how requests and responses are sent between a client and server. We will then learn about two-tier, three-tier, and multi-tier architectures as well as the flexibility they bring to more traditional Client-Server Architectures.
Unit 2 Time Advisory show close
Unit 2 Learning Outcomes show close
-
2.1 Client-Server System Characteristics
- Web Media: Bridgewater College: Professor Leroy Williams’ “Chapter 14: Client-Server & Intranet Applications”
Link: Bridgewater College: Professor Leroy Williams’ “Chapter 14: Client-Server & Intranet Applications” (HTML)
Instructions: Review the presentation and take notes accordingly. Note that Client-Server architecture is hierarchical; the server provides services to the client, in this case, web services. This unit presents two Client-Server Architecture styles and demonstrates how their hierarchical architectures are divided.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Assessment: The Full Wiki’s: “Client-Server: Quiz (The Full Wiki)”
Link: The Full Wiki’s: “Client-Server: Quiz (The Full Wiki)” (HTML)
Instructions: Complete the review.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Web Media: Bridgewater College: Professor Leroy Williams’ “Chapter 14: Client-Server & Intranet Applications”
- 2.2 Two-Tier and Three-Tier Architectures
-
2.2.1 The Interface Layer
- Reading: WebDevelopersNotes.com: “Understanding Client-Server Architecture and How the Client and Server Computers Interact with Each Other”
Link: WebDevelopersNotes.com: “Understanding Client-Server Architecture and How the Client and Server Computers Interact with Each Other” (HTML)
Instructions: Read the article in its entirety. Please note that the terms “client layer” and “presentation layer” are used interchangeably with “Interface Layer” in industry.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: WebDevelopersNotes.com: “Understanding Client-Server Architecture and How the Client and Server Computers Interact with Each Other”
-
2.2.2 The Application Logic Layer
- Reading: The Code Project’s “Dude, Where’s My Business Logic?”
Link: The Code Project’s “Dude, Where’s My Business Logic?” (HTML)
Instructions: Read the article in its entirety. Please note that the terms “business logic” and “business logic layer” are used interchangeably with “Application Logic Layer” in industry. This layer represents the processing component of the Client-Server Architecture application (Two-Tier Application and/or Three-Tier Application).
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: The Code Project’s “Dude, Where’s My Business Logic?”
-
2.2.3 The Storage Layer
- Web Media: University of Surrey: Professor Antony Browne’s “The Client/Server Database Environment”
Link: University of Surrey: Professor Antony Browne’s “The Client/Server Database Environment” (PowerPoint)
Instructions: Click on the “Lec12ClientServer.ppt” file and review this presentation in its entirety. Please note that the terms “Database” and “Database Environment” are used interchangeably with “The Storage Layer” in industry.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Web Media: University of Surrey: Professor Antony Browne’s “The Client/Server Database Environment”
-
2.3 Multi-Tier Architecture
- Reading: MSDN Library’s “Chapter 5: Layered Application Guidelines”
Link: MSDN Library’s “Chapter 5: Layered Application Guidelines” (HTML)
Instructions: Read the article in its entirety.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: MSDN Library’s “Chapter 5: Layered Application Guidelines”
-
2.3.1 The Presentation Layer
- Reading: MSDN Library’s “Chapter 6: Presentation Layer Guidelines”
Link: MSDN Library’s “Chapter 6: Presentation Layer Guidelines” (HTML)
Instructions: Read the article in its entirety.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: MSDN Library’s “Chapter 6: Presentation Layer Guidelines”
-
2.3.2 The Application/Business Logic Layers
- Reading: MSDN Library’s “Chapter 7: Business Layer Guidelines”
Link: MSDN Library’s “Chapter 7: Business Layer Guidelines” (HTML)
Instructions: Read the article in its entirety.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: MSDN Library’s “Chapter 7: Business Layer Guidelines”
-
2.3.3 The Data Layer
- Reading: MSDN Library’s “Chapter 8: Data Layer Guidelines”
Link: MSDN Library’s “Chapter 8: Data Layer Guidelines” (HTML)
Instructions: Read the article in its entirety.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: MSDN Library’s “Chapter 8: Data Layer Guidelines”
-
Unit 3: Web Software
In this unit, you will learn the three software components that are needed for the deployment and use of web applications: Web Browsers, Web Servers, and Database Servers. We will discuss the ways in which Web Browsers display Web Application contents and the process of user input, how Web Servers receive and process that user input, and how Database Servers allow that information to be stored and retrieved.
Unit 3 Time Advisory show close
Unit 3 Learning Outcomes show close
- 3.1 Web Browsers
-
3.1.1 Functions
- Reading: InetDameon’s “Web Browsers”
Link: InetDameon’s: “Web Browsers” (HTML)
Instructions: Please read this article in its entirety for an introduction to web browser software. What is its purpose including the three major activities performed?
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.
See a broken link? Please let us know!
- Assessment: ACADEMIC Tutorials’: “Quiz for Web Browsers”
Link: ACADEMIC Tutorials’: “Quiz for Web Browsers” (HTML)
Instructions: Complete the review.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: InetDameon’s “Web Browsers”
-
3.1.2 Features
- Reading: Carnegie Mellon Software Engineering Institute’s “Securing Your Web Browser”
Link: Carnegie Mellon Software Engineering Institute’s “Securing Your Web Browser” (HTML)
Instructions: Read the “Web Browser Features and Risks” section of the article.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: Carnegie Mellon Software Engineering Institute’s “Securing Your Web Browser”
- 3.2 Web Servers
-
3.2.1 Web Servers History
- Reading: ComputerWorld’s “The Story So Far: History of Websites”
Link: ComputerWorld’s “The Story So Far: History of Websites” (HTML)
Instructions: Read the article in its entirety.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Assessment: Howstuffworks’: “Web Server Quiz”
Link: Howstuffworks’: “Web Server Quiz” (HTML)
Instructions: Complete the review.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: ComputerWorld’s “The Story So Far: History of Websites”
-
3.2.2 Static vs. Dynamic Content
- Web Media: Carnegie Mellon: Professor Blelloch and Professor Mowry’s “Internet Services II”
Link: Carnegie Mellon: Professor Blelloch and Professor Mowry’s “Internet Services II” (PowerPoint)
Instructions: Click on the “class28.ppt” file and review the presentation in its entirety.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Web Media: Carnegie Mellon: Professor Blelloch and Professor Mowry’s “Internet Services II”
-
3.2.3 Path Translation
- Web Media: Carnegie Mellon: Professor Shankar’s “Chapter 2: Application Layer”
Link: Carnegie Mellon: Professor Shankar’s “Chapter 2: Application Layer” (HTML)
Instructions: Review the presentation in its entirety, focusing on slides 13-20, which illustrate the request of a webpage (per URL entry) and the path translation process as a connection is established.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Web Media: Carnegie Mellon: Professor Shankar’s “Chapter 2: Application Layer”
-
3.2.4 Web Server Load Limits
- Web Media: University of Rochester: Professor Shen’s “Scalable Internet Servers and Load Balancing”
Link: University of Rochester: Professor Shen’s “Scalable Internet Servers and Load Balancing” (PDF)
Instructions: Review the presentation entitled “Scalable Internet Servers and Load Balancing” in its entirety.
Terms of Use: Please respect the University of Rochester’s inherent copyright and terms of use.See a broken link? Please let us know!
- Web Media: University of Rochester: Professor Shen’s “Scalable Internet Servers and Load Balancing”
-
3.2.5 Overload Causes and Anti-Overload Techniques
- Web Media: University of Rochester: Professor Shen’s “Scalable Internet Servers and Load Balancing”
Link: University of Rochester: Professor Shen’s “Scalable Internet Servers and Load Balancing” (PDF)
Instructions: Review the presentation entitled “Scalable Internet Servers and Load Balancing” in its entirety.
Terms of Use: Please respect the University of Rochester’s inherent copyright and terms of use.See a broken link? Please let us know!
- Web Media: University of Rochester: Professor Shen’s “Scalable Internet Servers and Load Balancing”
- 3.3 Database Servers
-
3.3.1 Database Servers Architecture
- Reading: Anderson, Greenspun, and Grumet’s “Software Engineering for Internet Applications: Software Structure”
Link: Anderson, Greenspun, and Grumet’s “Software Engineering for Internet Applications: Software Structure” (HTML)
Instructions: Read the following sections: “Gross Anatomy,” “User Database,” and “Content Database.”
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: Anderson, Greenspun, and Grumet’s “Software Engineering for Internet Applications: Software Structure”
-
3.3.2 Database Servers and DBMSs
- Reading: Anderson, Greenspun, and Grumet’s “Software Engineering for Internet Applications: Basics”
Link: Anderson, Greenspun, and Grumet’s “Software Engineering for Internet Applications: Basics” (HTML)
Instructions: Read the following sections: “Server-Side Storage,” “Why the relational Database Management System?,” and “Picking a Programming Environment.”
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: Anderson, Greenspun, and Grumet’s “Software Engineering for Internet Applications: Basics”
-
Unit 4: Hyptertext Markup Language (HTML)
This unit will introduce you to Hypertext Markup Language, one of the languages that a Web Browsers parse and interpret in order to display information in an easily understandable manner. This unit is organized into four different sections: HTML history, HTML’s various markups, HTML’s syntax and forms, and HTML’s Cascading Style Sheets (CSS).
Unit 4 Time Advisory show close
Unit 4 Learning Outcomes show close
-
4.1 HTML History
- Reading: HTML Goodies’ “A Brief History of HTML”
Link: HTML Goodies’ “A Brief History of HTML” (HTML)
Instructions: Read the article in its entirety.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: HTML Goodies’ “A Brief History of HTML”
- 4.2 HTML Markup
-
4.2.1 HTML Elements
- Reading: W3C’s “Index of the HTML 4 Elements”
Link: W3C’s “Index of the HTML 4 Elements” (HTML)
Instructions: Refer to this list as a reference.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: W3C’s “Index of the HTML 4 Elements”
-
4.2.2 HTML Attributes
- Reading: W3C’s “Index of the HTML 4 Attributes”
Link: W3C’s “Index of the HTML 4 Attributes” (HTML)
Instructions: Refer to this list as a reference.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: W3C’s “Index of the HTML 4 Attributes”
-
4.3 HTML Syntax
- Reading: Anderson, Greenspun, and Grumet’s “Software Engineering for Internet Applications: HTML”
Link: Anderson, Greenspun, and Grumet’s “Software Engineering for Internet Applications: HTML” (HTML)
Instructions: Read the article in its entirety. HTML is a basic language in terms of syntax.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: Anderson, Greenspun, and Grumet’s “Software Engineering for Internet Applications: HTML”
-
4.4 HTML Forms
- Reading: Anderson, Greenspun, and Grumet’s “Software Engineering for Internet Applications: HTML”
Link: Anderson, Greenspun, and Grumet’s “Software Engineering for Internet Applications: HTML” (HTML)
Instructions: Read the article in its entirety with specific attention to the “Forms” section and examples.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Assessment: W3Schools’: “HTML Quiz”
Link: W3Schools’: “HTML Quiz” (HTML)
Instructions: Complete the Review
Terms of Use: Please respect the website’s copyright and terms of use.See a broken link? Please let us know!
- Reading: Anderson, Greenspun, and Grumet’s “Software Engineering for Internet Applications: HTML”
-
4.5 Cascading Style Sheets (CSS)
- Reading: W3Schools’: “CSS Tutorial”
Link: W3Schools’: “CSS Tutorial” (HTML)
Instructions: Read the article in its entirety. Consistency among HTML pages is accomplished through CSS.
Terms of Use: Please respect the website’s copyright and terms of use.See a broken link? Please let us know!
- Assessment: W3Schools’: “CSS Quiz”
Link: W3Schools’: “CSS Quiz” (HTML)
Instructions: Read the article in its entirety. Consistency among HTML pages is accomplished through CSS.
Terms of Use: Please respect the website’s copyright and terms of use.See a broken link? Please let us know!
- Reading: W3Schools’: “CSS Tutorial”
-
Unit 5: JavaScript, Ajax, and Java Server Pages (JSP)
This unit is the core of this course. It will introduce you to the three main programming languages used in developing web applications: JavaScript, a dynamic language whose features are very similar to Java; AJAX, a variation of XML; and Java Server Pages, a server-side java technology that permits the creation of dynamically-generated webpages with HTML, XML, or different document types to respond to a client request to a Java Web Application container (usually a Web Server).
Unit 5 Time Advisory show close
Unit 5 Learning Outcomes show close
-
5.1 Scripting Languages and Their Place among Programming Languages
- Web Media: Stanford University: Professor Fisher’s “Scripting Languages”
Link: Stanford University: Professor Fisher’s “Scripting Languages” (PowerPoint or PDF)
Instructions: Click on the “scripting.ppt” file and review the presentation in its entirety.
Terms of Use: Please respect the copyright and terms of use displayed on Stanford University’s homepage.See a broken link? Please let us know!
- Activity: University of Maryland Baltimore County’s: “Scripting Languages – Web (CGI/PHP Activity)”
Link: University of Maryland Baltimore County’s: “Scripting Languages – Web (CGI/PHP Activity)” (HTML)
Instructions: Complete the activity as directed.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Web Media: Stanford University: Professor Fisher’s “Scripting Languages”
- 5.2 Using JavaScript
-
5.2.1 JavaScript Features: Imperative and Structured
- Reading: W3Schools’: “JavaScript Introduction”
Link: W3Schools’: “JavaScript Introduction” (HTML)
Instructions: View the tutorial in its entirety.
Terms of Use: Please respect the website’s copyright and terms of use.See a broken link? Please let us know!
- Reading: W3Schools’: “JavaScript Introduction”
- 5.2.2 JavaScript Dynamicity
-
5.2.2.1 Dynamic Typing
- Web Media: University of Toronto: Professor Wilson’s “JavaScript I”
Link: University of Toronto: Professor Wilson’s “JavaScript I” (PDF)
Instructions: Review the presentation under the Lectures entitled “JavaScript I.”
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Web Media: University of Toronto: Professor Wilson’s “JavaScript I”
-
5.2.2.2 Object-Based
- Web Media: Indiana University-Purdue University Indianapolis: Professor Molnar’s “Object Based JavaScript”
Link: Indiana University-Purdue University Indianapolis: Professor Molnar’s “Object Based JavaScript” (PowerPoint)
Instructions: Click on the “n341_DE_ObjectBasedJavascript.ppt” file and review the presentation in its entirety.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.The Saylor Foundation does not yet have materials for this portion of the course. If you are interested in contributing your content to fill this gap or aware of a resource that could be used here, please submit it here.
- Web Media: Indiana University-Purdue University Indianapolis: Professor Molnar’s “Object Based JavaScript”
-
5.2.2.3 Run-Time Evaluation
- Reading: W3Schools’ “JavaScript eval()”
Link: W3Schools’ “JavaScript eval()” (HTML)
Instructions: Read the article in its entirety and understand that JavaScript includes an eval function which can be run at run-time to evaluate an argument.
Terms of Use: Please respect the copyright listed on the website.See a broken link? Please let us know!
- Assessment: The University of South Carolina’s: “CSCE 242: JavaScript Basics”
Link: The University of South Carolina’s: “CSCE 242: JavaScript Basics” (HTML)
Instructions: Review the subunits 5.2.2.1, 5.2.2.2, and 5.2.2.3 then complete this linked assignment as directed.
Terms of Use: Please respect the copyright and terms of use displayed on the webpage above.See a broken link? Please let us know!
- Reading: W3Schools’ “JavaScript eval()”
-
5.2.3 JSP Functionality
- Web Media: Stanford University: Professor Shaw’s “JSP Lecture 8”
Link: Stanford University: Professor Shaw’s “JSP Lecture 8” (PowerPoint)
Instructions: Click on “JSP.ppt” and review the presentation in its entirety
Terms of Use: Please respect the copyright and terms of use displayed on Stanford University’s homepage.The Saylor Foundation does not yet have materials for this portion of the course. If you are interested in contributing your content to fill this gap or aware of a resource that could be used here, please submit it here.
- Web Media: Stanford University: Professor Shaw’s “JSP Lecture 8”
-
5.3 JSP Syntax and Symantics
- Reading: JavaNB: “Servlets and JavaServer Pages: The J2EE Technology Web Tier”
Link: JavaNB: “Servlets and JavaServer Pages: The J2EE Technology Web Tier” (HTML)
Instructions: Read the article in its entirety.
Terms of Use: Please respect the copyright and terms of use on the webpage.See a broken link? Please let us know!
- Reading: JavaNB: “Servlets and JavaServer Pages: The J2EE Technology Web Tier”
-
5.4 Document Object Models
- Reading: W3C’s “Document Object Model”
Link: W3C’s “Document Object Model” (HTML)
Instructions: Read the article in its entirety.
Terms of Use: Please respect the copyright and terms of use as listed on the website.See a broken link? Please let us know!
- Assessment: ACADEMIC Tutorials’: “HTML DOM Tutorial Quiz”
Link: ACADEMIC Tutorials’: “HTML DOM Tutorial Quiz” (HTML)
Instructions: Complete the subunits 5.4.1, 5.4.2, 5.4.3, 5.4.4, and 5.4.5 then complete the quiz.
Terms of Use: Please respect the copyright and terms of use on the webpage.See a broken link? Please let us know!
- Reading: W3C’s “Document Object Model”
-
5.4.1 The Node Interface
- Reading: The Apache Software Foundation’s “Node (XML Standard API)”
Link: The Apache Software Foundation’s “Node (XML Standard API)” (HTML)
Instructions: Read the javadoc in its entirety.
Terms of Use: Please respect the copyright and terms of use as listed on the website.See a broken link? Please let us know!
- Reading: The Apache Software Foundation’s “Node (XML Standard API)”
-
5.4.2 The NodeList Interface
- Reading: W3C’s “Document Object Model Core: Interface NodeList”
Link: W3C’s “Document Object Model Core: Interface NodeList” (HTML)
Instructions: Read the article in its entirety.
Terms of Use: Please respect the copyright and terms of use as listed on the website.See a broken link? Please let us know!
- Reading: W3C’s “Document Object Model Core: Interface NodeList”
-
5.4.3 The Attr Interface
- Reading: W3C’s “Document Object Model (Core) Level 1: Interface Attr”
Link: W3C’s “Document Object Model (Core) Level 1: Interface Attr” (HTML)
Instructions: Read the section on Interface Attr.
Terms of Use: Please respect the copyright and terms of use as listed on the website.See a broken link? Please let us know!
- Reading: W3C’s “Document Object Model (Core) Level 1: Interface Attr”
-
5.4.4 The Element Interface
- Reading: W3C’s “Document Object Model (Core) Level 1: Interface Element”
Link: W3C’s “Document Object Model (Core) Level 1: Interface Element” (HTML)
Instructions: Read the article section on Interface Element.
Terms of Use: Please respect the copyright and terms of use as listed on the website.See a broken link? Please let us know!
- Reading: W3C’s “Document Object Model (Core) Level 1: Interface Element”
-
5.4.5 The Document Interface
- Reading: W3C’s “Document Object Model Core: Interface Document”
Link: W3C’s “Document Object Model Core: Interface Document” (HTML)
Instructions: Read the article in its entirety.
Terms of Use: Please respect the copyright and terms of use as listed on the website.See a broken link? Please let us know!
- Reading: W3C’s “Document Object Model Core: Interface Document”
-
5.5 Asynchronous JavaScript with XML (AJAX)
- Reading: W3Schools’ “AJAX Tutorial”
Link: W3Schools’ “AJAX Tutorial” (HTML)
Instructions: Read the Tutorial in its entirety.
Terms of Use: Please respect the website’s copyright and terms of use.See a broken link? Please let us know!
- Assessment: TechTarget’s: “AJAX Quiz, Do you speak Geek?”
Link: TechTarget’s: “AJAX Quiz, Do you speak Geek?” (HTML)
Instructions: Complete the review.
Terms of Use: Please respect the copyright and terms of use on the webpage.See a broken link? Please let us know!
- Reading: W3Schools’ “AJAX Tutorial”
-
5.6 Java Server Pages
- Assessment: ACADEMIC Tutorials': JSP Tutorial Quiz
Link: ACADEMIC Tutorials’: “JSP Tutorial Quiz” (HTML)
Instructions: Complete the subunits 5.6.1, 5.6.2, 5.6.3, and 5.6.4. then complete the quiz.
Terms of Use: Please respect the copyright and terms of use on the webpage.See a broken link? Please let us know!
- Reading: Oracle's: “Java Server Page Technology”
Link: Oracle’s “Java Server Page Technology” (HTML)
Instructions: Read the tutorial to its section entitled “The Life Cycle of a JSP Page.”
Terms of Use: Please respect the copyright and terms of use on the webpage.See a broken link? Please let us know!
- Assessment: ACADEMIC Tutorials': JSP Tutorial Quiz
-
5.6.1 Basic Java Server Pages
- Reading: NCSU’s “JSP Basics”
Link: NCSU’s “JSP Basics” (HTML)
Instructions: Read the article in its entirety.
Terms of Use: Please respect NC State University’s copyright and terms of use as listed on the website.See a broken link? Please let us know!
- Reading: NCSU’s “JSP Basics”
-
5.6.2 Include and Forward Directives
- Reading: Gulland.com: “JSP Forward Action”
Link: Gulland.com: “JSP Forward Action” (HTML)
Instructions: Read the article in its entirety.
Terms of Use: Please respect the copyright inherent to the website.See a broken link? Please let us know!
- Reading: Gulland.com: “JSP Forward Action”
-
5.6.3 Using Java Beans with Java Server Pages
- Reading: Sun Microsystems: Stephanie Bodoff’s “JavaBeans Components in JSP Pages”
Link: Sun Microsystems: Stephanie Bodoff’s “JavaBeans Components in JSP Pages” (HTML)
Instructions: Read the entire chapter.
Terms of Use: Please respect the copyright and terms of use outlined on the webpage.See a broken link? Please let us know!
- Reading: Sun Microsystems: Stephanie Bodoff’s “JavaBeans Components in JSP Pages”
-
5.6.4 Java Server Pages Taglibs
- Reading: Sun Microsystem’s “Tag Libraries Tutorial”
Link: Sun Microsystem’s “Tag Libraries Tutorial” (HTML)
Instructions: Read the entire article.
Terms of Use: Please respect the copyright and terms of use outlined on the webpage above.See a broken link? Please let us know!
- Reading: Sun Microsystem’s “Tag Libraries Tutorial”
-
Unit 6: Web Security and Encryption
Transferring data and personal information over the Internet should be done in a secure manner. This unit will introduce you to three protocols that ensure data security in web applications—HTTPS, TLS, and SSL—and will explain how these protocols (along with encryption) can provide a secure means of data transport in web applications.
Unit 6 Time Advisory show close
Unit 6 Learning Outcomes show close
-
6.1 Secure Hypertext Transfer Protocol (HTTPS)
- Web Media: Stanford University: Professor Mitchell and Professor Shmatikov’s “SSL/TLS Case Study”
Link: Stanford University: Professor Mitchell and Professor Shmatikov’s “SSL/TLS Case Study” (PowerPoint or PDF)
Instructions: Click on the “02-SSL.ppt” file and review the presentation in its entirety. HTTPS is a secure version of HTTP. We implement HTTPS—which relies on two protocols in the TC/IP stack (TLS and SSL)—in all websites and Web Servers where information exchange must be secure.
Terms of Use: Please respect the copyright and terms of use displayed on Stanford University’s website.See a broken link? Please let us know!
- Web Media: Stanford University: Professor Mitchell and Professor Shmatikov’s “SSL/TLS Case Study”
- 6.2 Browser Integration
-
6.2.1 Server Setup
- Reading: Microsoft’s “How to Set Up SSL on a Server”
Link: Microsoft’s “How to Set Up SSL on a Server” (HTML)
Instructions: Read the article in its entirety. Please note that this article provides an IIS-specific implementation technique. For other Web Servers, refer to appropriate vendor documentation.
Terms of Use: Please respect the copyright and terms of use displayed on the Microsoft website.See a broken link? Please let us know!
- Reading: Microsoft’s “How to Set Up SSL on a Server”
-
6.2.2 Public Key Certificates
- Reading: Microsoft’s “Public Key Certificate”
Link: Microsoft’s “Public Key Certificate” (HTML)
Instructions: Certificates enable a Web Server to tell a Web Browser that it is who it claims to be. It relies heavily on public key cryptography and the secure exchange of certificates.
Terms of Use: Please respect the copyright and terms of use displayed on the Microsoft website.See a broken link? Please let us know!
- Reading: Microsoft’s “Public Key Certificate”
-
6.2.3 Acquiring Certificates
- Reading: ComputerSight.com: “Get SSL Certificate Online”
Link: ComputerSight.com: “Get SSL Certificate Online” (HTML)
Instruction: Read the article in its entirety.
Terms of Use: Please respect the copyright and terms of use as outlined on the website.See a broken link? Please let us know!
- Reading: ComputerSight.com: “Get SSL Certificate Online”
- 6.3 HTTP Authentication
-
6.3.1 Usernames and Passwords
- Reading: Binghamton University: Professor Steflik’s “Web Security”
Link: Binghamton University: Professor Steflik’s “Web Security” (PowerPoint)
Instructions: Click on the “WebSecurity.ppt” file and review the Presentation in its entirety, paying specific attention to slides 2 and 3.
Terms of Use: Please respect Binghampton University’s copyright and terms of use.See a broken link? Please let us know!
- Reading: Binghamton University: Professor Steflik’s “Web Security”
-
6.3.2 The Base64 Algorithm
- Reading: OWASP’s “Testing for Brute Force: Discovery Authentication Methods”
Link: OWASP’s “Testing for Brute Force: Discovery Authentication Methods” (HTML)
Instructions: Read the article section in its entirety.
Terms of Use: This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License, and can be viewed in its original from here.See a broken link? Please let us know!
- Reading: OWASP’s “Testing for Brute Force: Discovery Authentication Methods”
-
6.3.3 Advantages and Disadvantage of Basic Access Authentication
- Reading: EnterpriseNetworkingPlanet.com: Paul Ruben’s “Watch for Authentication Bypass Vulnerabilities”
Link: EnterpriseNetworkingPlanet.com: Paul Ruben’s “Watch for Authentication Bypass Vulnerabilities” (HTML)
Instructions: Read the article in its entirety.
Terms of Use: Please respect Internet.com’s copyright and terms of use as outlined on the website.See a broken link? Please let us know!
- Reading: EnterpriseNetworkingPlanet.com: Paul Ruben’s “Watch for Authentication Bypass Vulnerabilities”
-
6.4 Data Validation
- Reading: OWASP’s “Data Validation – OWASP”
Link: OWASP’s “Data Validation – OWASP” (HTML)
Instructions: Read the article in its entirety.
Terms of Use: This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License, and can be viewed in its original form here.See a broken link? Please let us know!
- Reading: OWASP’s “Data Validation – OWASP”
-
Final Exam
- Final Exam: Saylor Foundation's CS305 Final Exam
Link: The Saylor Foundation's CS305 Final Exam
Instructions: You must be logged into your Saylor Foundation School account in order to access this exam. If you do not yet have an account, you will be able to create one, free of charge, after clicking the link.See a broken link? Please let us know!
- Final Exam: Saylor Foundation's CS305 Final Exam
Questions? Consult the FAQs!

