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.

  1. Prerequisites — Make sure that you have at least a basic understanding of the prerequisite technologies.

    1. 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.
    2. HTML — Know how to build a simple webpage using tags, attributes and comments.
    3. 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.
    4. 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.

  2. As We May Think — Read the intro and units 1 & 6.

    1. To what war is Bush referring?
    2. With what problem is Bush concerned and how does he propose to solve it?
    3. Is there a modern-day equivalent to the memex?
  3. 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.

    1. Why would one want to build a Single-Page Application (SPA)?
    2. What makes SPAs different from traditional applications?
    3. What is the “dirty secret” of SPA development?
  4. 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.

    1. What does a browser engine do?
    2. What’s the most popular browser?
    3. 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.