CSC 121: Computers and Scientific Thinking
Fall 2021

Test 2 Review


Tue, Nov 2
11:00 - 12:00 (CDT)
  • Similar to the first test, this test will be conducted in-class (Rigge 120) via Blueline.
  • You are required to bring a laptop to take the test.
  • The test must be taken using the Respondus LockDown browser. Be sure to have it installed and tested before the test.
  • Also, plan to arrive early and make sure your wi-fi connection is working before the test begins.
  • It is closed-book and closed-notes.
Types of questions
(same as Test 1)
  • factual knowledge: TRUE/FALSE, multiple choice
  • conceptual understanding: short answer, discussion
  • synthesis and application: describe/modify HTML page

    There is a practice test in BlueLine with examples of each type of question.
    Note: the practice test can only be taken using the LockDown browser.
Study advice
(same as Test 1)
  • review PowerPoint slides
  • reread book chapters and chapter summaries
  • look over chapter exercises & projects, review questions
  • if desired, reference other sources for examples & different perspectives
Course Material
TEST 1 MATERIAL

Scientific & Computational Thinking
   history of science
       Greek pre-science, Islamic empire, Dark Ages, Renaissance, Scientific Revolution
   scientific method: observe, hypothesize, design, experiment, analyze
       experimentation, reproducability, consistency vs. accuracy
   computational thinking
       decomposition, pattern matching, abstraction, algorithms
       examples: algorithms for finding oldest person (simple vs. efficient)
Algorithms & Programming
    real-world algorithms
    algorithm analysis, rate of growth, Big Oh notation
        examples: sequential search vs. binary search, Newton's algorithm
    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, neural networks
    multi-disciplinary fields
        Bioinformatics, Data Science
    ethics of computing
Inside the Data
    analog vs. digital, variability vs. reproducibility
    binary numbers: binary -> decimal, decimal -> binary
    number representation
        integers as fixed-length sequences of bits, 1st bit denotes sign
        reals represented in normalized scientific notation (pair of integers)
    text representation
        ASCII code (8 bits), expanded to Unicode (16 bits) 
        strings are represented as sequences of ASCII/Unicode
    
Applications in Biology
    major impacts: computerized tools, modeling, information storage/retrieval
Experimental Methods
    Monte Carlo methods, simulations/modeling, Law of Large Numbers

Numbers & Computation
    JavaScript data types: strings, numbers, Booleans
    numbers & expressions
        mathematical operators (+, -, *, /)
        number box, valueAsNumber attribute
    variables to store number values and temporary calculations
        examples: tip calculator, grade calculator
    predefined functions
        Math.sqrt, Math.abs, Math.floor, Math.ceil, Math.round
        Math.min, Math.max, Math.pow
        examples: point distance, compound interest
    random numbers
        Math.random, complex expressions to adjust range of values
        example: pick4 lottery      
Functions & Libraries            
    can view functions as units of computational abstraction
    user-defined functions
        parameters, return statement
        common use: for general-purpose computations
        examples: distance conversion, simplified pick4, triangle sides 
    function libraries
        SCRIPT tag with SRC attribute to specify library file name
        common use: for collections of functions that may be reused
        random.js library 
            RandomNum, RandomInt, RandomChar, RandomOneOf library functions
            examples: dice, random sequence generator, Oracle of Internet