CSC 121: Computers and Scientific Thinking
Fall 2019

Test 2 Review


Section C: Mon, Nov 11
Section A: Tue, Nov 12
  • 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 units & online lecture notes
  • look over unit exercises, review questions, labs
  • reference other sources for examples, different perspectives
Course Material
TEST 1 MATERIAL

Applications in Biology & Bioinformatics
    impact: 1. computer technology as tools
            2. modeling of complex systems,
            3. storing and analyzing biological data
    bioinformatics, genetic databases
Algorithms & Programming
    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, neural networks
    related fields
        Bioinformatics: tools, modeling, information storage/retrieval
        Data Science: supervised vs. unsupervised learning
    ethics of computing
    
Experimental methods
    Dino DNA:    accessing GenBank dabases, 
                 utilizing the BLAST search tool, 
                 visualizing search results
    Random Walk: turtle graphics, random walks & Brownian motion,
                 expected distance, hypothesis formation & testing,
                 Manhattan walks 

Pages that compute
    numbers & expressions, number representation
    mathematical operators (+, -, *, /), parseFloat function
    applications: tip calculator, grade calculator
    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
        applications: rounding numbers, bit values, pick4 lottery
    programming errors & debugging
      syntax error, run-time error, logic error       
Abstraction & libraries            
    simple user-defined functions
      function keyword, function name, comments, {}
      enclosed in SCRIPT tags in HEAD
      common use: to simplify buttons
      applications: tips revisited, fill-in-the-blanks story revisited
    fully-functional functions
      parameters, return statement
      common use: for general-purpose computations
      applications: metric conversion page, geometry page
    function libraries
      SCRIPT tag with SRC attribute to specify library file name
      common use: for collections of functions that may be reused
      application: geometry.js library file, load & use in a page
      random.js library 
        RandomNum, RandomInt, RandomOneOf library functions
      applications: dice, random sequence generator, Oracle of Internet