What does computer science study?
Computer science studies how information is represented, processed, stored, communicated, and used to solve problems, including algorithms, programs, systems, and artificial intelligence.
Study 1 Computational Thinking and Problem Solving with 12 free online flashcards. Review key terms, definitions, and concepts with this interactive flashcard deck.
What does computer science study?
Computer science studies how information is represented, processed, stored, communicated, and used to solve problems, including algorithms, programs, systems, and artificial intelligence.
What are the three parts of a computational solution?
A computational solution includes a clearly stated problem, a useful representation of the input and desired output, and a precise process that transforms the input into the output.
What is abstraction?
Abstraction removes or hides unnecessary details while preserving the information needed for a particular task.
What is decomposition?
Decomposition divides a complex problem into smaller, more manageable subproblems that can be understood, developed, and tested separately.
Why is modular design useful?
A modular design makes components easier to understand, test, reuse, and assign to different people; changes in one component are less likely to damage unrelated parts.
How does pattern recognition support problem solving?
Pattern recognition identifies similarities, repetitions, trends, or relationships so that an existing method can be adapted instead of designing a new solution from scratch.
What is an algorithm?
An algorithm is a finite, ordered set of unambiguous steps that receives input, performs defined operations, and produces output.
What properties should a useful algorithm have?
A useful algorithm should be correct, clear, finite, general enough for relevant inputs, and reasonably efficient in time and memory.
What invariant does the largest-value algorithm maintain?
An invariant is a condition that remains true during an algorithm. In the largest-value algorithm, `largest` is the greatest value examined so far.
When is binary search especially useful?
Binary search is advantageous when a list is sorted because it can repeatedly discard half of the remaining items, unlike a one-by-one search through an unsorted list.
Why does representation matter in problem solving?
A suitable representation exposes the relationships needed by an algorithm; examples include a graph for a map, records for students, and a grid of pixel values for an image.
Which kinds of cases should an algorithm be tested with?
Testing should include normal cases, boundary cases, and invalid cases to reveal incorrect assumptions, failures at limits, and improper input handling.