What is the term for a defined sequence of instructions used to solve a problem?
What is an algorithm
What programming practice involves two people working at one computer—one writes code, the other reviews?
What is pair programming?
What is the first step in designing a computer program?
What is identifying the problem?
What development cycle involves repeatedly refining a product based on feedback?
What is iterative development?
What is abstraction?
What is simplifying complex systems by hiding unnecessary details?
Which class of algorithm has a time complexity of O(log n), commonly seen in search problems?
What is a logarithmic algorithm (e.g., binary search)?
What is the main advantage of using version control in team projects?
What is managing code changes and avoiding conflicts between team members' edits?
What is the purpose of pseudocode in program design?
What is to express algorithms in human-readable format before actual coding?
Why is prototyping useful in early stages of software development?
What is it helps test ideas quickly and gather user feedback before full development?
Give an example of abstraction in programming languages.
What is using a function or library without knowing how it works internally (e.g., Math.random())
Two students create different sorting algorithms. One runs in seconds on large datasets, and the other takes hours. What property of the algorithm best explains this difference?
What is efficiency?
What is one key strategy to avoid groupthink in collaborative software development?
What is encouraging dissenting opinions or using anonymous idea submissions?
How does modular design improve debugging?
What is by isolating functionality into independent parts, making it easier to locate and fix issues?
Describe one key difference between a waterfall and an iterative process.
What is waterfall is linear and fixed, while iterative allows constant changes and refinements?
How does abstraction relate to code reuse?
What is abstract functions or classes can be reused without rewriting code?
Give one example of an algorithm that must be recursive to solve efficiently
What is merge sort, quicksort, or depth-first search (DFS)?
Explain the potential downside of assigning non-technical members to technical coding roles in a group.
What is that it can lead to errors, inefficiencies, and frustration due to lack of expertise?
What does it mean for a program to be scalable?
What is it can handle increased data or users without a drop in performance or functionality?
What is one drawback of skipping the testing phase in software development?
What is introducing undetected bugs, leading to crashes or user dissatisfaction?
What’s the risk of too much abstraction in a program?
What is it can make understanding and debugging the code more difficult?
Explain why algorithmic efficiency matters more than hardware upgrades in large-scale software systems.
What is because algorithmic improvements can yield exponential time savings that hardware alone can’t match, especially at scale?
What technique involves dividing project tasks into specific roles and time-boxed intervals for collaboration?
What is Agile development or a Scrum sprint?
What is one risk of designing without clear user requirements?
What is developing a product that does not meet user needs or business goals?
Why is documenting your development process critical in collaborative environments?
What is it allows transparency, easier onboarding, and understanding of how/why design decisions were made?
Explain how abstraction is used in developing APIs.
What is APIs hide complex operations behind simple calls, allowing developers to use functionality without knowing the implementation?