Projects and Labs for Software Design and Data Structures