CSC 121: Computers and Scientific Thinking
Fall 2025

Test 2 Review


Tue, Nov 4
  • Similar to the first test, this test will be conducted in-class 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.
  • It is closed-book and closed-notes.
  • The test will include 52 points, but graded on a scale of 50. (Mistakes Happen!)
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)
  • reread book chapters and chapter summaries
  • look over chapter exercises & projects, review questions
  • 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 tallest 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: public-key encryption
        Architecture: parallel processing, multicores
        Software Engineering: software development process, agile, open source
        Artificial Intelligence: Turing Test, machine learning, neural networks
    ethics of computing
           
Experimental Methods
    Monte Carlo methods, consistency vs. accuracy, Law of Large Numbers
Applications in Biology
    major impacts: computerized tools, modeling, information storage/retrieval

Making Pages Dynamic
    dynamic HTML elements
      ID attribute, JavaScript assignment (ID.ATTR = VALUE;)
      event-handler attributes: onmouseover, onmouseout, onclick
      JavaScript strings (' ') vs. HTML strings (" ") 
      dynamic style, e.g., colorSpan.style.color = 'red';
    examples: dog & cat images 
  JavaScript errors
    JavaScript Console, error messages
  HTML buttons
    button tag, onclick attribute, label between 
    example: show/hide image
  dynamic text
    innerHTML attribute of div/p/span elements
    examples: show/hide message, help icon, quotations project
Processing User Input
    text boxes
      input tag; id and style="text" attributes, optional size & value attributes
      accompanying label element
      examples: greetings, invitation generator
    simplifying pages with functions
      move JavaScript to function within script tags in head
      function definition: function func_name() { ... }
      function call: func_name();
      examples: invitation generator, mouseover/mouseout page
    simplifying functions with variables
      variable is a name assigned to a changeable value
      exzamples: invitation generator, photo gallery, story project
Pages that Calculate
    JavaScript data types: strings, numbers, Booleans
    numbers & expressions
      mathematical operators (+, -, *, /, **)
      number box, valueAsNumber attribute
    simplifying computations with variables
      variables can store number values and temporary calculations
      can be displayed with precision used .toFixed(#)
      examples: tip calculator, compound interest, reading level, weather project
      pattern matching: get numbers, do calculation, display result
    predefined functions
        Math.sqrt, Math.abs, Math.floor, Math.ceil, Math.round
        Math.min, Math.max, Math.pow
        example: point distance
    random numbers
        Math.random, complex expressions to adjust range of values
        example: pick-4 lottery