Programming Concepts & Application Development Flashcards
7 cards from real CCP practice questions. Tap to flip, then mark Knew It or Still Learning — missed cards come back until you master them.
Read the first 7 Programming Concepts & Application Development flashcards as text
What does the term 'coupling' refer to in software design?
Answer: The degree of interdependence between software modules
Coupling refers to how much one module depends on another; low coupling is preferred for maintainable, modular designs.
Which data structure operates on a Last-In, First-Out (LIFO) principle?
Answer: Stack
A stack follows LIFO — the last element pushed onto the stack is the first one to be popped off.
In version control with Git, what does a 'merge conflict' indicate?
Answer: Two branches have incompatible changes to the same file region
A merge conflict occurs when Git cannot automatically reconcile differences because two branches changed the same part of a file differently.
What is the purpose of a 'garbage collector' in programming languages like Java or C#?
Answer: To automatically reclaim memory occupied by objects no longer in use
A garbage collector automatically manages memory by identifying and freeing memory that is no longer referenced by the program.
Which principle of software design states that a class should have only one reason to change?
Answer: Single Responsibility Principle
The Single Responsibility Principle (SRP) states that a class should have only one job or reason to change, promoting cohesion.
In software testing, what is 'unit testing'?
Answer: Testing individual components or functions in isolation
Unit testing validates individual functions or components in isolation to ensure each unit works correctly on its own.
What does 'refactoring' mean in software development?
Answer: Restructuring existing code without changing its external behavior
Refactoring improves code structure, readability, and maintainability while preserving its observable behavior.