Topic Name Description
Course Introduction Page Course Syllabus
Page Course Terms of Use
Unit 1: The Internet and Web Protocols Page Unit 1 Learning Outcomes
1.1.1: The Internet vs. World Wide Web URL Marty Stepp and Jessica Miller's "Web Programming Step by Step, Chapter 1: The Internet and World Wide Web"

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.

1.1.2: Internet History URL The Computer History Museum: "Internet History 1962-1992"

Read 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.

1.1.3: Internet Governance and ICANN URL Georgia Institute of Technology: Hans Klein's "ICANN and Internet Governance: Leveraging Technical Coordination to Realize Global Public Policy"

Read this article.

1.1.4: World Wide Web History URL W3C: "How It All Started"

Review the presentation, which reviews the history of the development of the World Wide Web, taking notes as appropriate. You can navigate using the bar at the top of the page.

1.2.1: Services Provided by IP URL University of New Hampshire: Ben Schultz's "Overview of Internet Protocol"

Read this presentation and take notes as appropriate.

URL About.com: "Practice Test for Internet Protocol"

Complete this review.

1.2.2: IP Reliability URL Don Parker's "The Basic Journey of a Packet"

Read this webpage for an introduction to IP Addressing and Routing.

1.2.3: IP Addressing and Routing URL ProProfs: "Network + Prep Quiz - IP Routing/Addressing"

Complete this review.

URL i-Programmer: "IP Addressing and Routing"

Read this webpage for an introduction to IP Addressing and Routing.

1.2.4: The TCP/IP Stack URL Stanford University: Professor Kelly Shaw's "TCP/IP Lecture 2"

Review this presentation 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.

URL Academic Tutorials: "TCP/IP Tutorial Quiz"

Complete this review.

1.3.1: The Request Message URL TCP/IP Guide: "HTTP Request Message Format"

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 this webpage 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.

1.3.2: The Request Methods URL W3C: "Method Definitions"

Read this page for an overview of HTTP Request Methods.

1.3.3: HTTP Status Codes URL W3C: "Status Code Definitions"

Web Server responses are status codes, and each has a specific number and description. Read this webpage for an overview of HTTP Status Codes.

1.3.4: HTTP 1.0 vs. HTTP 1.1 URL Balachander Krishnamurthy, Jeffrey C. Mogul, and David M. Kristol's "Key Differences between HTTP/1.0 and HTTP/1.1"

Read this page, which 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.

URL Princeton University: Mike Freedman's "HTTP Proxy Activity"

Complete the activity as directed.

1.4.1: XML Definition URL CoreWebProgramming: "XML Elements"

XML is the general form of HTML; with it, a programmer can create his/her own tags. Read these slides and be sure you understand the XML Elements.

1.4.2: XML Elements with Components URL XML - Managing Data Exchange: "Introduction to XML"

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 this chapter.

1.4.3: XML Namespaces URL W3C: "Namespaces in XML 1.0 (Third Edition)"

Read this webpage for an overview of the purpose, function, and format of XML namespaces.

1.4.4: XML DTD URL W3Schools: "XML DTD"

Read this webpage.

1.4.5: XML Schema URL W3Schools: "Introduction to XML Schemas"

Read this webpage.

URL W3Schools: "XML Quiz"

Complete this review.

Unit 2: Client Server Architecture Page Unit 2 Learning Outcomes
2.1: Client-Server System Characteristics URL Bridgewater College: Leroy Williams' "Client-Server & Intranet Applications"

Review this 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.

URL The Full Wiki: "Client-Server Quiz"

Complete this review.

2.2.1: The Interface Layer URL WebDevelopersNotes: "Understanding Client-Server Architecture and How the Client and Server Computers Interact with Each Other"

Read this article. Please note that the terms "client layer" and "presentation layer" are used interchangeably with "Interface Layer" in industry.

2.2.2: The Application Logic Layer URL Chad Z. Hower's "Dude, Where's My Business Logic?"

Read this article. 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). 

2.2.3: The Storage Layer URL University of Surrey: Antony Browne's "The Client/Server Database Environment"

Review this presentation. Please note that the terms "Database" and "Database Environment" are used interchangeably with "The Storage Layer" in industry.

2.3: Multi-Tier Architecture URL Microsoft Developer Network: "Layered Application Guidelines"

Read this article.

2.3.1: The Presentation Layer URL Microsoft Developer Network: "Presentation Layer Guidelines"

Read this article.

2.3.2: The Application/Business Logic Layers URL Microsoft Developer Network: "Business Layer Guidelines"

Read this article.

2.3.3: The Data Layer URL Microsoft Developer Network: "Data Layer Guidelines"

Read this article.

Unit 3: Web Software Page Unit 3 Learning Outcomes
3.1.1: Functions URL InetDameon: "Web Browsers"

Read this article for an introduction to web browser software. What are their purpose? What three major activities do they perform?

URL ACADEMIC Tutorials: "Quiz for Web Browsers"

Complete this review.

3.1.2: Features URL Carnegie Mellon University: Will Dormann and Jason Rafail's "Securing Your Web Browser"

Read this article.

3.2.1: Web Servers History URL Mitch Betts' "The Story So Far"

Read this article.

URL HowStuffWorks: "Web Server Quiz"
Complete this review.
3.2.2: Static vs. Dynamic Content URL Carnegie Mellon University: Guy E. Blelloch and Todd C. Mowry's "Internet Services II"

Review this presentation.

3.2.3: Path Translation URL Carnegie Mellon University: Don Towsley's "Application Layer"

Review the presentation, 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.

3.2.4: Web Server Load Limits URL University of Rochester: Kai Shen's "Scalable Internet Servers and Load Balancing"

Review this presentation.

3.3: Database Servers URL Anderson, Greenspun, and Grumet's "Software Engineering for Internet Applications: Software Structure"

Read this article.

Unit 4: Hyptertext Markup Language (HTML) Page Unit 4 Learning Outcomes
4.1: HTML History URL Sue Charlesworth's "A Brief History of HTML"

Read this article.

4.2.1: HTML Elements URL W3C: "Index of the HTML 4 Elements"

Refer to this list as a reference.

4.2.2: HTML Attributes URL W3C: "Index of the HTML 4 Attributes"

Refer to this list as a reference.

4.3: HTML Syntax and Forms URL Anderson, Greenspun, and Grumet's "Software Engineering for Internet Applications: HTML"

Read this article. HTML is a basic language in terms of syntax. 

URL W3Schools: "HTML Quiz"

Complete this review.

4.4: Cascading Style Sheets (CSS) URL W3Schools: "CSS Tutorial"

Read this article. Consistency among HTML pages is accomplished through CSS. 

URL W3Schools: "CSS Quiz"

Complete this review.

Unit 5: JavaScript, Ajax, and Java Server Pages (JSP) Page Unit 5 Learning Outcomes
5.1: Scripting Languages and Their Place among Programming Languages URL Tufts University: Kathleen Fisher's "Scripting Languages"

Review this presentation.

URL University of Maryland Baltimore County: Daniel J. Hood's "Scripting Languages - Web (CGI/PHP Activity)"

Complete this activity.

5.2.1: JavaScript Features: Imperative and Structured URL W3Schools: "JavaScript Introduction"

Review this tutorial.

5.2.2: JavaScript Dynamicity URL W3Schools: "JavaScript eval()"

Read the article and understand that JavaScript includes an eval function which can be run at run-time to evaluate an argument.

URL The University of South Carolina: Jose Vidal's "CSCE 242: JavaScript Basics"

Complete this assignment.

5.2.3: JSP Functionality URL Stanford University: Kelly Shaw's "JSP Lecture 8"

Review this presentation, taking notes as needed.

5.3: JSP Syntax and Semantics URL JavaNB: "Servlets and JavaServer Pages: The J2EE Technology Web Tier"

Read this article.

5.4: The Document Object Model URL W3C: "Document Object Model"

Read this article.

URL ACADEMIC Tutorials: "HTML DOM Quiz"

Complete this quiz.

5.4.1: The Node Interface URL Apache Software Foundation: "Node (XML Standard API)"

Read this document.

5.4.2: DOM Interfaces URL W3C: "Document Object Model Core"

Read this article.

5.5: Asynchronous JavaScript with XML (AJAX) URL W3Schools: "AJAX Tutorial"

Read this tutorial.

URL TechTarget: "AJAX Quiz"

Complete this review.

5.6: Java Server Pages URL ACADEMIC Tutorials: "JSP Quiz"

Complete this quiz.

URL Oracle: "Java Server Page Technology"

Read this tutorial through the "Life Cycle of a JSP Page" section.

5.6.1: Basic Java Server Pages URL North Carolina State University: Laurie Williams, Andy Meneely, and Sarah Heckman's "JSP Basics"

Read this article.

5.6.2: Include and Forward Directives URL Gulland.com: "JSP Forward Action"

Read this article.

5.6.3: Using Java Beans with Java Server Pages URL Stephanie Bodoff's "JavaBeans Components in JSP Pages"

Read this chapter.

5.6.4: Java Server Pages Taglibs URL Sun Microsystems: "Tag Libraries Tutorial"

Read this article.

Unit 6: Web Security and Encryption Page Unit 6 Learning Outcomes
6.1: Secure Hypertext Transfer Protocol (HTTPS) URL Stanford University: John Mitchell and Jason Franklin's "SSL/TLS Case Study"

Review this presentation. 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.

6.2.1: Server Setup URL Microsoft: "How to Set Up SSL on a Server"

Read this article. Please note that this article provides an IIS-specific implementation technique. For other Web Servers, refer to appropriate vendor documentation.

6.2.2: Public Key Certificates URL Microsoft: "Certificates and Public Keys"

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.

6.2.3: Acquiring Certificates URL Pentura Labs: "Creating Your Own Certificate Authority"

Read this article, which discusses ways you can use SSL to authenticate your server.

6.3.1: Usernames and Passwords URL Binghamton University: Dick Steflik's "Web Security"

Review this presentation, paying specific attention to slides 2 and 3.

6.3.2: The Base64 Algorithm URL OWASP: "Testing for Brute Force: Discovery Authentication Methods"

Read this article.

6.3.3: Advantages and Disadvantage of Basic Access Authentication URL Paul Ruben's "Watch for Authentication Bypass Vulnerabilities"

Read this article.

6.4: Data Validation URL OWASP: "Data Validation"

Read this article.