Free Online Flashcard Deck

01 — Foundations of Computer Science Free Online FlashCards

Study 01 — Foundations of Computer Science with 12 free online flashcards. Review key terms, definitions, and concepts with this interactive flashcard deck.

12 cards
01
Front

What does computer science study?

Back

Computer science is the study of computation: how information is represented, processed, communicated, and used to solve problems.

02
Front

What is computational thinking?

Back

Computational thinking formulates problems and expresses solutions so an information-processing agent, such as a person, computer, or robot, can carry them out.

03
Front

What is decomposition?

Back

Decomposition divides a large task into smaller, more manageable parts that can be designed, tested, and improved separately.

04
Front

What is abstraction?

Back

Abstraction represents a complicated thing using only details that matter for a particular purpose, hiding unnecessary implementation details behind a simpler interface.

05
Front

What is a model in computer science?

Back

A model is a simplified representation of a real or imagined system used to examine relationships, make predictions, or test ideas.

06
Front

What is an algorithm?

Back

An algorithm is a precise, step-by-step method for solving a problem or completing a computation.

07
Front

What is a program?

Back

A program is an implementation of an algorithm or collection of algorithms in a programming language that a computer system can translate and execute.

08
Front

What sequence connects a problem to its result?

Back

Problem → Algorithm → Program → Execution → Result.

09
Front

How does an algorithm differ from a program?

Back

An algorithm is a general idea or method, while a program is its precise implementation in a particular programming language.

10
Front

What is the systematic problem-solving process?

Back

Define the problem, decompose it, choose abstractions and representations, design an algorithm, implement it, test and debug it, then evaluate and improve it.

11
Front

Why is decomposition useful in system design?

Back

A well-decomposed system is easier to understand, test, reuse, and maintain because its parts can be handled separately.

12
Front

How can a function serve as an abstraction?

Back

A function such as calculate_total(items) is an abstraction because users can call it through its interface without knowing how it adds prices, applies discounts, or calculates tax.