This document contains solutions to a midterm exam for a software engineering course. It provides answers to 17 questions about topics like version control, testing, metrics, refactoring, and object-oriented design. Code examples are included and analyzed for code smells. The document aims to test students' understanding of key software engineering principles and best practices covered in the course.