software engineer homework