What does a computer science capstone integrate?
A complete capstone connects representation, programming, data structures, algorithms, complexity analysis, testing, and ethical evaluation into one coherent system.
Study 12 — Foundations Capstone: Integrated Computer Science Project with 12 free online flashcards. Review key terms, definitions, and concepts with this interactive flashcard deck.
What does a computer science capstone integrate?
A complete capstone connects representation, programming, data structures, algorithms, complexity analysis, testing, and ethical evaluation into one coherent system.
What belongs in a precise problem statement?
It identifies users and needs, inputs, outputs, constraints, assumptions, limitations, and success criteria.
Why distinguish `unknown` from `0`?
Representing unknown capacity as 0 falsely means no capacity. An explicit value such as `unknown` preserves the distinction between missing information and zero.
Which structures fit lists, membership, keys, and relationships?
Use a list or array for sequential processing or positional indexing; a set for membership and uniqueness; a dictionary or hash table for key-based retrieval; and a graph for relationships.
What responsibilities do the program layers separate?
A layered design separates input, data storage and retrieval, algorithms, output formatting, and evaluation. This separation makes components easier to understand, reuse, and test.
What is the baseline resource-ranking algorithm?
The baseline scans resources, keeps those matching the category and availability condition, calculates their distances, sorts them by distance, and returns the results.
What is the filtering-and-ranking time complexity?
Its time complexity is approximately `O(n + m log m)`, where `n` is all records and `m ≤ n` is the number of matches. In the worst case, it becomes `O(n log n)`.
State the filtering-loop invariant.
After processing the first `k` records, `matches` contains exactly the eligible records among those records, each paired with its calculated distance.
Why can testing alone not prove correctness?
Testing can reveal errors, but a test suite alone cannot prove that every untested input will succeed. Correctness also needs an invariant, proof, trusted comparison, or precise argument.
What is the purpose of a regression test?
A regression test reproduces a discovered defect and remains in the suite, helping ensure that later changes do not reintroduce the same error.
What do property-based tests examine?
Property-based tests check general rules, such as every returned resource matching the requested category and results being ordered by distance, rather than checking only fixed examples.
What should a capstone ethics review assess?
An ethics review should examine privacy, fairness, accessibility, accuracy, safety, security, accountability, and transparency, including who may be helped or harmed.