Computer Science 103:

Web Development

Gregory M. Kapfhammer

flickr photo by SaurabhChatterjee shared under a Creative Commons (BY-NC-ND) license

Color Scheme

Key Concept

Corresponding Diagram

In-Class Discussion

In-Class Activity

Details in the Textbook

A complicated ecosystem

Great web sites seem so "simple"!

In reality they are often very complex!

Many languages, concepts, tools, techniques

Take a "systems" view — understand as much as you can

Heading to the "basement"

Let's learn about some history

We will discover a few foundational principles

Maintain some context for this semester's work

Growth of the Internet and Web

See Figure 1.5 on page 8 for a nice graph

Web applications vs. desktop applications

Web applications vs. mobile applications

Sadly, the distinction is not always clear!

Contrasts on the web

Intranet versus internet

Static versus dynamic

Dynamic server-side

Dynamic client and server

Client Server

Client: desktop, laptop, tablet, phone

The client requests pages through a web browser

Server: central repository and command center

The request-response loop governs communication

What are the trade-offs in communication?

flickr photo by SAF EiNS shared under a Creative Commons (BY-NC-ND) license

Server Types

Web and application

Database and mail



Why do we have servers in "the cloud"?

flickr photo by SAF EiNS shared under a Creative Commons (BY-NC-ND) license

Internet Routing: A Brief Overview

Your computer to a local ISP

A local ISP to regional networks

Regional networks to exchange points

Last mile computer networks

Any questions about basic routing?

Working in Web Development

What role is most interesting to you? Why?

Importance of using GitHub

We will use GitHub throughout the semester!