Collaboration - AP Computer Science Principles
- What is a 'merge' in Git?
- A merge combines changes from different branches. Integrates separate development streams safely.
- What is a 'pull request'?
- A pull request is a request to merge changes into a main branch. Formal process for code review and integration.
- What does 'stakeholder engagement' involve?
- Actively involving stakeholders in project processes. Keeping interested parties informed and involved.
- What is the role of a 'scrum master'?
- Facilitates Agile practices and removes impediments. Servant leader supporting team effectiveness.
- What is the role of a 'product owner' in Agile?
- Defines product backlog and prioritizes features. Business representative guiding development priorities.
- Define 'continuous delivery'.
- The practice of automating release processes to deliver software quickly. Automates deployment for faster releases.
- What is pair programming?
- A collaborative coding method with two programmers at one workstation. Two developers share one computer to code together.
- What is 'scope creep'?
- Uncontrolled changes or continuous growth in a project's scope. Expanding requirements threaten project delivery.
- What is 'technical debt'?
- The cost of additional rework caused by choosing an easy solution. Accumulates when shortcuts compromise code quality.
- What does 'cross-functional team' mean?
- A team with members from different functional expertise. Diverse skills within single collaborative unit.
- Identify a key advantage of using GitHub for collaboration.
- GitHub facilitates distributed version control and collaboration. Cloud platform enabling team code sharing.
- What is a 'burn-down chart'?
- A visual measure of work completed against time. Tracks team progress throughout sprint duration.
- What is an Agile methodology?
- A flexible approach to software development emphasizing collaboration. Iterative development with frequent stakeholder feedback.
- What is the main purpose of using a version control system?
- To track changes and enable collaboration on code. Prevents conflicts in multi-developer projects.
- What is the function of a 'branch' in Git?
- A branch allows separate lines of development within a repository. Enables parallel development without conflicts.
- What is a 'sprint' in Agile?
- A set period during which specific work must be completed. Fixed timeframe for delivering working software.
- What is a 'retrospective' in Agile?
- A meeting to reflect on and improve team processes. Team evaluates what worked and what didn't.
- What is 'mob programming'?
- A development method where the whole team works on the same task. Entire team collaborates on single task together.
- What is a benefit of pair programming?
- Improved code quality through real-time review. Continuous feedback catches errors immediately.
- What is 'test-driven development' (TDD)?
- A practice where tests are written before code implementation. Tests guide and validate code implementation.
- What is a 'commit' in the context of version control?
- A commit is a saved change or set of changes to a repository. Creates permanent record of project history.
- What is 'refactoring' in the context of collaboration?
- Improving code without changing its functionality. Team effort to clean up existing code.
- What is a 'user story'?
- A description of a feature from the user's perspective. Brief requirement from end-user viewpoint.
- What is the benefit of using automated testing in collaboration?
- Ensures code changes do not introduce new bugs. Immediate feedback on code integration issues.
- Identify the role of the 'driver' in pair programming.
- The driver writes code and manages the keyboard and mouse. Active role handling actual coding tasks.
- What is a 'repository' in Git?
- A repository is a storage location for software projects. Central hub for project files and history.
- Identify a key characteristic of effective team communication.
- Clarity and open exchange of information. Essential for productive team collaboration.
- Identify the role of the 'navigator' in pair programming.
- The navigator reviews code and suggests improvements. Strategic role providing oversight and guidance.
- What is a 'dependency' in project management?
- A task that relies on the completion of another task. Task sequencing affects project timeline planning.
- Define version control in software development.
- System for tracking changes to code and managing versions. Essential for coordinating team development efforts.
- What is 'continuous integration'?
- A practice of frequently integrating code into a shared repository. Regular merging prevents integration conflicts.
- What is 'collaborative filtering' in computing?
- A method for making automatic predictions using user data. Recommends items based on similar user preferences.
- What is the purpose of code review?
- To improve code quality and share knowledge among developers. Peer review catches bugs and improves design.
- Name a popular version control system.
- Git. Distributed version control system for collaboration.
- What is the purpose of a 'backlog'?
- To prioritize and track tasks and features for future development. Organized list of work items awaiting completion.
- Which tool facilitates remote collaboration in coding?
- Integrated Development Environment (IDE) with collaboration features. Allows real-time code sharing and editing.
- What is a Kanban board used for?
- Visualizing and managing work in progress. Visual workflow management tool for tasks.
- Name a common Agile practice for collaboration.
- Scrum meetings. Regular team check-ins for coordination.
- What is the purpose of a daily stand-up meeting?
- To synchronize team activities and address blockers. Brief daily coordination meeting format.
- In collaboration, what does 'alignment' refer to?
- Ensuring team members share common goals and understanding. Unified direction prevents conflicting efforts.