The Final Exam is in our regular classroom Final Exam: Thursday, Dec 12, 2:30 - 4:30 pm.
You are responsible for what we have covered since the Midterm:
- Types of Testing - black box, white box, grey box, whose view they represent and the kinds of things they test for
- TDD - Principles and process
- Process Models - standard process models, Waterfall, Agile, requirements volatility
- Software Evolution - greenfield and brownfield development, main conclusions of Lehman's Laws
- Refactoring - basic definition, terminology, process. Be able to perform a "Replace Nested Conditional with Guard Clause" refactoring and discuss it.
- Git Workflow - The main git commands, understanding of branches, and pull requests. GitHub issues.
- Git commit messages - proper form
- Software Lifespan Models - stages and characteristics of each stage, code decay, and reengineering
- Software Change - types of change, concept location, impact analysis. Be able to identify the maintenance category from a commit message.
- Scrum - fundamental steps, terminology, and time limits
- SE Code of Ethics - Know the list of the main categories in order
The exam has various problem types, including short answers, definitions, comparisons, and application to a code example/scenario.
If I did not cover it in class, it is not on the exam.