The goal of the course project is to provide you with hands-on software engineering experience, involving a team of 6-8 students. You will design and develop your product from the ground up in 10 weeks. The project is broken down into several milestones, listed on this page and on the course calendar.
In addition to submitting artifacts required for each milestone, you will be required to do these each week:
You have a great deal of latitude in choosing your own toolset. Your team is ultimately responsible for choosing and learning these tools. That said, the staff wants to help you as much as possible, so if you are stuck, please ask us! However, be aware that we don't know every tool that you might choose. Your whole team should work together to choose, understand, and use your tools—just like in the real world. You should be, or become, comfortable with reading documentation that is sometimes incomplete or confusing, and with installing and using new software. These are skills that will stand you in good stead, no matter where your career takes you.
You will be required to have regular weekly meetings with the course staff, but you may schedule additional meetings if you like. A staff member will contact your team to set up a weekly 20-30 minute meeting during section hours (Thursdays, 9:30-10:20). Additional meetings may be scheduled during your TA's office hours.
The course staff serves as both customer and mentor. When you have a meeting with your TA, you are allowed to ask the TA to serve any of these roles, or even to switch roles during the meeting. As customer, the TA can help you to determine what a reasonable set of requirements are, and whether your documents and prototypes are compelling. As mentor, the TA can help you to resolve conflicts or give suggestions about designs, teamwork, and tools. Don't forget or underuse either of these roles.
It is a bad idea to try to hide information from your customer (or, for that matter, your TA). If things are going poorly or you are having trouble, be upfront. You may get good suggestions, and the customer won't feel blindsided if you are unable to resolve the problems on your own. It is a doubly bad idea to try to hide problems from your TA. Instead, use the TA as a resource to help solve your problems.
You are strongly encouraged to meet as a team at least once a week and work together in the same location. We have reserved Tuesday sections (9:30-10:20) for this purpose. You can meet at any location you like or use CDH 139.