FSEM 142, Fall 2013
Information About the Second Test

The second test will be given in class on Friday, November 8. It will count for 8% of your final grade for this course.

The test will cover the material that we have read since the first test: Chapters 1 through 4 of Cognitive Surplus and Chapters 6 and 4 of 9 Algorithms that Changed the Future. You are responsible for significant ideas from the readings, not every detail. There might be some very straightforward questions from the handouts and presentations on the class's second papers. The test also covers Lab 3; that part of the test is somewhat cumulative, since you need to remember some of the material that you learned for Labs 1 and 2. Consult the full list of terms and ideas given below.

The format of the test will be similar to the first test. It will consist mostly of factual questions that can be answered with a word, a sentence, or in some cases a paragraph. On this test, I will not ask you to write any JavaScript or other code. I might, however, give you some code and ask you what it does or what it draws.

Here are some terms and ideas that you should be familiar with:


From Cognitive Surplus:

    the "Gin Craze" in 18th century London and what caused it
    the modern free time problem and how television was used to solve it
    how free time represents a "cognitive surplus"
    how the Internet and social media can tap into the cognitive surplus
    Ushahidi: Kenyan tool to track outbreaks of ethnic violence
    lolcats
    the difference between communal and civic uses of the cognitive surplus
    Dong Bong Shin Ki and protests against America beef imports in Korea
    Johannes Gutenberg, movable type, and the flood of books in the 15th century
    why after Gutenberg, we still had "professional publishers" and "amateur consumers"
    the button marked "Publish": publishing is no longer difficult, complex and expensive
    Gutenberg & "Publish" button both lead to more junk, but also more innovation/quality
    the means of digital production are symmetrical (produce and consume)
    an unlimited number of perfect copies for free
    intrinsic versus extrinsic motivations
    personal motivations (competence and autonomy)
    social motivations (membership and sharing)
    the original meaning of the word amateur: doing something for the love of it
    the possibility of "tiny global" organizations of people with similar interests
    the Z-Boys skateboards:  innovation through open competition and cooperation
    the Ultimatum Game:  innate sense of fairness, willingness to pay to punish unfairness
    the Apache Web Server:  free, socially produced, large scale
    Napster:  sharing is natural in a world of unlimited, free, perfect copies


From 9 Algorithms that Changed the Future:

    the idea of pattern recognition and how it can be used
    the classification problem
    the basic ideas of three approaches to the classification problem:
         the "nearest neighbor trick" and how it's used to recognize numbers
         decision trees (similar to "twenty questions")
         neural nets (trying to imitate the way neurons work)
         
    cryptography
    encryption
    the difference between "shared secret" and "public key" cryptography
    [You do not need to know the "paint mixing trick"]
    

Some terms from the second paper and presentations:

    patents
    Big Data and privacy
    Aaron Schwartz and "hacktivism"
    MOOCs
    the Technological Singularity
    socialbots
    hackable cars and the Internet of Things
    

About JavaScript and web pages:

    material carried over from previous labs, including:
        id's in HTML elements, and document.getElementById(id)
        variables and assignment statements
        functions
        setTimeout(task,delay)
        graphics

    new material:        
        if statements, with or without an "else" part
        how the condition in an if statement is used
        while loops, using "while (true)"
        break statements
        using variables for counting in loops
        Math.random()
        why loops and decisions are necessary to write complex programs