COSC 110 MIDTERM REVIWER

Cards (34)

  • Computational Thinking
    A problem-solving approach that involves breaking down large and complex problems into smaller and more manageable parts
  • Steps of computational thinking
    1. Define the problem
    2. Decompose
    3. Pattern recognition
    4. Abstraction
    5. Algorithm design
    6. Evaluation
  • Algorithm
    A step-by-step set of instructions or a sequence of actions designed to solve a specific problem or perform a particular task
  • Procedure
    A systematic way of executing an algorithm
  • Types of computation
    • Numerical algorithms
    • Symbolic computation
  • Numerical algorithms
    • Focus on approximating solutions to mathematical problems using numerical values, emphasize efficiency and numerical stability
  • Symbolic computation
    • Involves manipulating mathematical expressions symbolically, treating variables as symbols rather than numerical values, focus on exact representations of mathematical objects and expressions
  • Data Collection, Representation, and Analysis
    1. Data Collection
    2. Data Representation
    3. Data Analysis
  • Problem decomposition
    1. Identify main objectives
    2. Decompose into sub-problems
    3. Assign tasks and prioritize
  • Importance of computational thinking
    • Problem-Solving Skills
    • Transferability
    • Automation and Efficiency
    • Data Literacy
    • Critical Thinking and Creativity
    • Preparation for the Future
    • Collaboration and Communication
  • Applications of computational thinking
    • Developing software and applications
    • Designing algorithms for data analysis
    • Solving optimization problems
    • Creating simulations and models
  • Abstraction
    The process of focusing on essential qualities while ignoring irrelevant details; allows us to manage complexity by hiding unnecessary implementation details
  • Types of Abstraction
    • Data Abstraction
    • Procedural Abstraction
    • Control Abstraction
  • Benefits of Abstraction
    • Simplicity
    • Modularity
    • Reusability
    • Scalability
  • Challenges and Considerations of Abstraction
    • Performance
    • Trade-offs
    • Complexity Management
  • Automation
    The use of technology to perform tasks with minimal human intervention
  • Benefits of Automation
    • Efficiency
    • Accuracy
    • Scalability
    • Productivity
  • Automation Techniques
    • Algorithmic Automation
    • Scripting and Programming
    • Workflow Automation
  • Challenges and Considerations of Automation
    • Algorithm Selection
    • Error Handling
    • Validation and Verification
    • Maintenance
  • Simulation
    The imitation of the operation of a real-world process or system over time
  • Benefits of Simulation
    • Prediction
    • Understanding
    • Risk Mitigation
    • Cost Savings
  • Simulation Techniques
    • Monte Carlo Simulation
    • Finite Element Analysis (FEA)
    • Agent-Based Modeling
  • Challenges and Considerations of Simulation
    • Model Accuracy
    • Computational Resources
    • Complexity Management
  • Parallelization
    Breaking down computational tasks into smaller subtasks that can be executed simultaneously on multiple processors or cores
  • Benefits of Parallelization
    • Speedup
    • Scalability
    • Efficiency
  • Parallelization Techniques
    • Data Parallelism
    • Task Parallelism
  • Challenges and Considerations of Parallelization
    • Load Balancing
    • Communication Overhead
    • Synchronization
  • Computational Error
    The discrepancy between the computed value and the true value of a quantity, arising due to limitations in hardware, algorithms, or mathematical representations
  • Types of Computational Errors
    • Round-off Error
    • Truncation Error
    • Symbolic Error
  • Numeric Computation Errors
    • Round-off Error
    • Truncation Error
  • Techniques to Mitigate Numeric Errors
    • Use higher precision arithmetic
    • Implement error analysis techniques
    • Employ adaptive algorithms that adjust step sizes based on error estimates
  • Techniques to Address Symbolic Errors

    • Utilize exact arithmetic when possible
    • Employ algebraic simplification techniques cautiously
    • Incorporate error bounds in symbolic computations
  • Application and Importance of Computational Errors
    • Scientific Computing
    • Engineering
    • Finance
  • Case Study - Theriac 25: One notable real-world example where computational errors led to significant consequences is the case of the Therac-25 radiation therapy machine incidents in the 1980s.