Consider a future device for individual use, which is
a sort of mechanized private file and library. It needs a name, and, to
coin one at random, “memex” will do. A memex is a device in
which an individual stores all his books, records, and communications,
and which is mechanized so that it may be consulted with exceeding speed
and flexibility. — V. Bush,
Atlantic Monthly,
1945
Work through the guide materials looking for answers to the given questions
as you go. Rather than reading the full referenced article, you can
generally focus on the portions that address the questions posed in the
guide.
Prerequisites — Make sure that you have
at least a basic understanding of the prerequisite technologies.
- Git & Github — Know how to clone exising
Github projects and how to create and push your own projects via
the Unix commandline. Create a Github account if you don’t
already have one, add a repo named
cs336
and enter
your GitHub ID on this spreadsheet.
- HTML — Know how to build a simple webpage using
tags, attributes and comments.
- CSS — Know the principle of separating content
from style, how to import a style sheet and how to use
selectors, classes vs IDs and basic style settings.
- JavaScript — Know how to write simple programs
using basic control structures and functions.
We will study or use these technologies in the course, but will not focus on
the basics.
As We May Think — Read the intro and
units 1 & 6.
- To what war is Bush referring?
- With what problem is Bush concerned and how does he propose to solve it?
- Is there a modern-day equivalent to the memex?
Web Application Architecture from 10,000
Feet — Review all three parts, but focus mostly on parts 1
& 3. Note that part 2 reviews database concepts covered in CS 262.
- Why would one want to build a Single-Page Application (SPA)?
- What makes SPAs different from traditional applications?
- What is the “dirty secret” of SPA development?
Comparison of web browser
engines — Because you’ll be doing so much in a browser,
it’s good to know a bit about browser engines.
- What does a browser engine do?
- What’s the most popular browser?
- What engine does Google Chrome use and how was it built? (See
the Wikipedia article for details.)
You do not submit the answers to guide questions, but they may serve as the
basis for class discussion or quiz/exam questions.