The goals of this course are two-fold. First, as its name indicates, one of the purposes is for you to explore the area of intelligent systems in some depth. You will achieve this goal by studying the techniques and concepts common to this sub-discipline of AI and by building an intelligent system or two.
The second goal of the course is to provide a capstone experience to your undergraduate computer science curriculum. To this end, the course provides an opportunity for you, as a part of a software development team in a design studio in conjunction your instructor, to construct a software system of non-trivial scale.
In this course, you have the opportunity -- and responsibility -- to perform as a computer science professional in an environment that is as realistic as possible, given the constraints of a university course.
|Major Project||Over the course of the semester, you will work as part of a three-or four-person team to design, implement, and validate a large software system with a substantial AI component. This project will require you to implement working software, produce a number of supporting documents, and present your results to the department community.|
|Project Notebook||As you proceed with the major project, you will maintain a notebook that documents your thinking and decisions on project analysis, design, and implementation, as well as your reflections on the project. The notebook will be reviewed regularly by the instructor, who will provide feedback and monitor the development of your system.|
|Class Sessions||Our class meetings will primarily take the form of a software studio. In the studio, you will work with your teammates on your project. The instructor will take an active role in the studio by assisting with and critiquing work in progress, discussing course readings, and doing whatever seems to be what you need at that point. We will also have occasional lectures and outside presentations to provide professional perspective and technical information.|
|Readings||You will read a variety of materials provided by the instructor, including chapters from textbooks, occasional technical papers, blog entries, and source code. These readings will provide you with the bulk of the technical information you learn on intelligent systems. This material will introduce you to a number of techniques that you can consider for use in your project, as well as serve as source material for your essays.|
|Essays||You will write a set of four short essays on the craft of building AI-based software. These writings will give you the opportunity to think about what you are doing as you are doing it, and use that thinking to get better at making software.|
Grades will be determined on the basis of your performance on the major project and essays, as well as on the discipline you demonstrate in documenting the project in your notebook. Final grades will be based on the following distribution:
|Group Work||Intermediate Deliverable||150|
You will also complete evaluations of your team and of the other team's presentation. These items carry no particular point value but must be completed in order to pass the course.
Group points will be allocated to the team members in part according to evaluations prepared by the team itself. Course grades will be assigned using an absolute scale: 90% or above for an A, 80% or above for a B, 70% or above for a C, 60% or above for a D, and below 60% for an F. This means that there is no curve.
This course expects professional behavior:
I try to accommodate student needs whenever possible, but I can do so only if I know about them. If you ever need to make alternate arrangements that will affect your participation in this course, contact me -- and your teammates! -- in advance. The safest way to make such arrangements with me is by sending e-mail regarding of your circumstances and of how you can be reached.