This document is available online
at http://helios.hampshire.edu/jdavila/cs207. For the latest updates, visit
the online version.
CS 207: Software Engineering for Artificial Intelligence Tasks.
: Jaime Davila
: ASH 204
Office Hrs : Tuesdays
and Thursdays, 10:30 AM -12:00 PM
Monday and Wednesdays, 2:30-4 PM,
or by appointment.
Phone Number : 413-559-5687
: jdavila at hampshire dot edu
(by far the best way to reach me)
This course will introduce students to advanced software development skills, with particular focus on implementing artificial intelligence systems. Therefore, students that complete this class will have developed skills in both software engineering for a broad class of problems, and knowledge of articifial intelligence approaches. Although we will look at many theoretical issues, class evaluations will be strongly based on hands-on work.
Students are expected to already have at least a semester of programming experience. Having taken a course on data structures, or some other advance prorgamming class, is highly desirable.
The pace of the course will be brisk. You should expect no less than 10 hours of work outside the classroom each week.
Towards the first part of the semester we will see an overview of different AI problem solving techniques. Once we reach around a third of the semester, we will divide into groups and start working with implementing solutions to actual problems which require the use of artificial intelligence methods. From this point on, groups will give frequent presentations about their work. In addition, students will then be exposed to the same AI techniques seen at the beginnig of the semester, this time in more depth.
Your evaluation for this course will be based on 1) class participation, 2) a series of software development documents to be due throughout the semester, and 3) a final project. All of these activities are important. Students should not expect to be able to pick up material at the end of the semester. It will be virtually impossible for those who do not keep up to date during the semester to catch up at the end or receive a good evaluation.
1) Artificial Intelligence: A Modern Approach, by Russell and Norvig. Published by Prentice Hall.
2) Software Engineering: A Practitioner's Approach, 5th edition, by Roger Pressman. Published by McGraw Hill.
Some online resources.
1) The class email list.
2) Online Evaluations.
Below is an outline of the topics we will discuss this semester. Students are also encouraged to research online on the topics we will be seeing in class.
What the course is and is not about.
What you should expect of the course.
Office hours, etc.
Introduction to the course.
||Feb. 5, 7
||Feb.12, 14 ||Knowledge Bases
|| AI:Chapters 7-9
||Feb. 20, 22
||Feb. 26, 28
||Mar. 5, 7
||Natural Language Processing
||Mar. 12, 14
||Project selection due March 14.
||Mar. 26, 28
||Architectural Design & Functional Specifications
||System diagram(s) due March 28.
||Apr. 2, 4
||Functional Specifications, Software metrics, software testing
||Architectural/data flow diagrams due April 4.
||SE:Chapters 4, 17 & 18
||Questions & answers/help session
||First draft of functional specifications due April 11.
||Apr. 16, 18
||Software metrics estimates due April 18.
||Apr. 23, 25
||Final draft of functional specifications due April 25.
Testing procedures due April 25.
|SE:Chapters 17 & 18
||Apr. 30, May 2
||Testing results due May 2.