The focal point of this course is the construction of an intelligent system to perform a non-trivial task. In many respects, development of such a system is the same as the development of any large software system, and so many of the phases and tasks of the project will seem familiar, at least in name. But there are special features to the construction of intelligent software, such as knowledge acquisition, task analysis, and so on, that guide the content of the course.
The project will be done as a part of a team of three or four class members. In completing the project, you will participate in all phases of software development: analysis, specification, design, coding, module integration, acceptance testing, and documentation. As a part of the design and coding phases, you will conduct team walkthroughs with the instructor.
The deadlines are fixed. They will not be adjusted during the semester except for significant events such as snow closing.
| Deliverable | Specifics | Suggestions and Resources |
| #1 - Team Info Sheet Due Thursday 1/24 |
|
|
| #2 - Initial Project Analysis Due Tuesday 2/12 |
This is commonly referred to as the knowledge acquisition phase of the project.
Prepare your formal deliverable
|
See these suggestions for how to approach knowledge acquisition. |
| #3 - Informal Project Proposal Due Thursday 2/21 |
Look ahead at the requirements for the
Formal Project Proposal.
|
Begin to think seriously about the project. Although you won't start building quite yet, consider these team/project management suggestions. |
|
#4 - Formal Project Proposal ("midterm
deliverable") Due Wednesday, 3/5 by 4:00 PM |
Produce your
Formal Project Proposal This formal proposal should demonstrate that your team
This is the documentation that you will use as a guide during the production of your team's final project and loosely speaking, a contract between your team and the instructor regarding what you will build. Obviously, the final deliverable may differ from this original proposal (sometimes even very significantly) but all changes from this proposal should be able to be clearly defended come final presentation time. |
|
| #5 - #7 Due : Tuesday 4/1 Tuesday, 4/15 Tuesday, 4/29 |
For each of these three deliverables you should be completing a single iteration of your final project and producing a "sprint report" [sample report will be provided prior to the due date for deliverable #5] In other words, implement your solution in a series of three iterations of growing and refactoring the system. Test your solution at each step. Document your system on an ongoing basis. Working as a team, you will want to be sure to integrate your code into the working program at frequent intervals. You will also want to conduct regular walkthroughs of your pseudo-code and code as a team. |
Maintain a team library of code, test results, and documentation. This will make management of the developing system and changes to it much more convenient. |
| #8 Paperwork due Monday, 5/5 |
Finish up the project and prepare your final
project. To do this:
|