2.1 elements of computational thinking

Cards (47)

  • What is the initial stage of problem-solving in programming?
    Understanding of the problem
  • Why is creativity important in problem-solving?
    It helps in conceptualizing robust solutions
  • What are the key approaches to problem-solving?
    • Problem decomposition
    • Abstraction
    • Pattern recognition
    • Generalisation
  • What does problem decomposition involve?
    Breaking a complex problem into smaller parts
  • What is abstraction in problem-solving?
    Eliminating unnecessary detail to simplify complexity
  • What is pattern recognition in problem-solving?
    Identifying commonalities within a problem
  • How can generalisation be applied in problem-solving?
    By applying a solution to similar problems
  • What are the key aspects of algorithm design?
    • Crafting a sequence of instructions
    • Understanding algorithm efficiency
  • What is algorithm efficiency concerned with?
    Optimising code for speed and resource use
  • What are programming constructs?
    • Sequence
    • Iteration
    • Selection
    • Recursion
  • What are programming paradigms?
    Different styles of programming like procedural
  • What is the purpose of validation and verification in programming?
    To ensure the program works as intended
  • What is the role of testing and debugging?
    To spot and fix errors in code
  • What are the key aspects of evaluation and reflection in programming?
    • Evaluating solutions for effectiveness
    • Reflecting on the development process
    • Adapting solutions based on feedback
  • What factors might be considered in evaluating a program's effectiveness?
    Speed, accuracy, and maintainability
  • Why is it important to reflect on the development process?
    To learn from successes and problems encountered
  • How can solutions be adapted in programming?
    By making changes based on assessment and feedback
  • What is important to remember about the stages of problem-solving?
    • They are not discrete stages
    • Often iterative and interactive
    • Revisit and revise as needed
  • What is the main goal of problem solving in programming?
    To develop a solution for an issue
  • What is decomposition in problem solving?
    Breaking a problem into smaller tasks
  • What are algorithms used for in programming?
    Step-by-step instructions for solving problems
  • What are the three main components of an algorithm?
    Input, process, and output
  • What types of algorithms are commonly used in programming?
    Iterative and recursive algorithms
  • How do iterative algorithms function?
    They use loops to perform actions repeatedly
  • What is recursion in programming?
    A function calling itself within its own code
  • Why is it important to test algorithms?
    To ensure efficiency and accuracy
  • What is abstraction in problem solving?
    Removing unnecessary details to simplify problems
  • What does a 'top down' approach in problem solving involve?
    Breaking down a large problem into smaller ones
  • What is a 'bottom up' approach in problem solving?
    Solving the smallest problems first
  • What tools are often used to visually represent solutions in programming?
    Pseudocode and flowcharts
  • What is prototyping in software development?
    Creating a simplified version of software
  • What is debugging in programming?
    Identifying and fixing errors in code
  • What is the dry run technique used for?
    Verifying the correctness of algorithms
  • What are the key concepts in problem solving in programming?
    • Problem identification
    • Decomposition
    • Algorithms (iterative and recursive)
    • Abstraction
    • Testing for efficiency and accuracy
    • Debugging
    • Prototyping
    • Visual representation (pseudocode and flowcharts)
  • What does concurrent thinking facilitate?
    Multiple tasks occurring side by side
  • How does concurrent thinking improve system efficiency?
    By enabling tasks to operate simultaneously
  • What is the difference between parallelism and concurrency?
    Parallelism executes computations simultaneously; concurrency composes independent processes
  • What does synchronous processing refer to?
    Tasks dependent on each other in execution order
  • What are threads in concurrent thinking?
    Smaller units of a process that run concurrently
  • What are deadlocks and live locks?
    Situations where process executions are halted due to circular dependencies