Final Exam
Study guide for the Final Exam
Where and When
- Where: Congdon Hall 2006
- When: Tuesday, Dec 9, 11:30am-2:30pm
- The exam is not designed to be 3 hours long, but you will have the entire 3 hours at your disposal.
- Other
- Please eat a snack before the exam. Eating in the lab is not permitted.
- Bring a water bottle.
- You may listen to music using headphones/earbuds at a volume that does not disturb others.
Exam Format and Rules
- A mix of multiple choice, fill-in-the-blank, and long answer questions.
- You may be asked to program in PyCharm or edit code snippets by hand.
- You may use up to 4 sheets (2 pages front and back) of hand-written notes. No other resources are permitted.
- Honor Code violations on the final exam result in a course grade of F.
- Failure to submit the final exam results in a course grade of F.
Content
- Describing the phases of the Software Lifecycle (Week 3) and how they are organized into Software Process Models (Week 16).
- Describing Operating Systems concepts and using basic CLI Commands (Week 2).
- Writing a good Problem Statement (Week 4) when provided a high-level description of the program goals.
- Creating a control flow graph for a given function and using it to identify the unique program paths. See also Assignment 2 - Unit Testing and sample questions from Quiz 2.
- Writing or analyzing unit tests for a given function, including:
- Identifying violations of coding and documentation conventions
- Describing version control concepts and applying them to given scenarios:
- Creating a visual diagram like this one showing the state of Git repos (a) after running a set of Git commands, or (b) based on
git logoutput. - Entering the appropriate
gitcommand or sequence of commands for common scenarios, such as creating a new version, staging changes, creating a new branch, merging, and interacting with the remote repository. - Explaining the proper process of merging branches, including in the presence of merge conflicts.
- Resolving merge conflicts in a given block of code while preserving functionality.
- Creating a visual diagram like this one showing the state of Git repos (a) after running a set of Git commands, or (b) based on
- Applying the five code-level design rules as in the meteoric assignments and Quiz 4.