CSC 121: Computers and Scientific Thinking
Spring 2011

Test 2 Review


A: Wed, Mar 30
B: Thu, Mar 31
  • As with Test 1, the test will contains extra points (e.g., 53 out of 50).
  • As with Test 1, the test will include a variety of questions (e.g., TRUE/FALSE, short answer, trace/modify code).
Study advice
  • review chapters & online lecture notes
  • look over chapter exercises, review questions, labs
  • reference other sources for examples, different perspectives
Course Material
TEST 1 MATERIAL

User Interaction and Computation
    text boxes
        INPUT tag, attributes: TYPE="text", ID, SIZE, VALUE
        access contents via document.getElementById('BOX_ID').value
    variables
        naming conventions, variables & memory cells 
        variables for reusing values (e.g., fill-in-blank story) 
        variables for temporary values (e.g., swapping images)
    pages that compute
        numbers & expressions, number representation
        mathematical operators (+, -, *, /), parseFloat function
    programming errors & debugging
        syntax error, run-time error, logic error
Functions and Randomness
    predefined functions
        units of computational abstraction
        function call, inputs & output (return value)
        Math functions
            Math.sqrt, Math.abs, Math.floor, Math.ceil, Math.round
            Math.min, Math.max, Math.pow, Math.random
    simple user-defined functions
        function keyword, function name, comments, {}
        enclosed in SCRIPT tags in HEAD
        functions to simplify buttons (e.g., fill-in-blank story)
    randomness in a page
        applications: dice simulation, random slide show, banner ads
        ONLOAD attribute of BODY, setInterval function, % operator 
            
Problem Solving & Algorithms
    Polya's problem solving steps
    algorithm analysis, rate of growth, Big Oh notation
        sequential search vs. binary search
    machine language vs. high-level language
        program translation: interpreter vs. compiler
Computer Science as a Discipline
    study of computation, artificial vs. natural science
    CS themes: hardware, software, theory
    subfields of CS
        Algorithms & Data Structures: public-key encryption
        Architecture: parallel processing, multicores
        Operating Systems & Networks: Ethernet, WiFi
        Artificial Intelligence: Turing Test
    ethics of computing
Applications in Artificial Intelligence
    neural networks: modeled on brain architecure, neurons
        generalization problem: difficult to train so that works in general
        used for credit approval, character recognition, financial predictions, ...
    genetic algorithms: modeled on evolution and natural selection
        used for airport scheduling, data mining, financial predictions, ...