CS 4620, Intelligent Systems

Spring 2017


General Information


Instructor: Dr. Ben Schafer

Email: schafer@cs.uni.edu

Office: ITTC 316, phone 273-2187

Office Hours:  MWF 9:00-9:50, 11:00-11:50, 1:00-1:30 and plenty of other times by appointment.

Class Info:  3 credits

Time and Place:   MWF 10:00-10:50, ITTC 328

Course Readings:   While there is not a formal textbook for this course, there will be assigned readings early in the semester.  These will be assigned from a variety of sources as the course goes along.  It is your responsibility to obtain a copy of the readings and read these prior to the class in which they are used.  (See page on Reading Sets)

Class Directory http://www.cs.uni.edu/~schafer/4620/  (Check here for lecture notes, announcements and supplemental class materials)

Course Goals

The goals of this course are two-fold. First, as its name indicates, one of the purposes is for you to explore the idea of intelligent systems in some depth. While we had some discussions about what it means to be "intelligent" in your AI course last fall, in this course, we will define intelligence as "the capacity to acquire and apply knowledge"  thus intelligent systems are those which modify their actions based on prior interactions.  In this course you will study the techniques and concepts common to this sub-discipline of AI by constructing a non-trivial intelligent system.

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 studio format in conjunction with your instructor, to construct a large software system.  The concept of a software studio may be new to you.  You should make yourself familiar with the following description of this process.

Course Structure

Class sessions – Socrates reportedly said that the best learning takes place on a log, with the teacher on one end and the student on the other.  In other words, learning is most effective if it is an interactive process.  Class will be very different from what you are used to.  I will rarely stand up in front of the class and deliver a traditional lecture.  Most of the time, our class sessions will follow the process of a software studio. In the studio, you will work with your teammates on your project. Both the instructor and the students 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.

Despite how it may seem, attendance in this type of environment is essential.  In fact, I will record attendance, and I will evaluate how much effort you seem to be putting into participating in the process.  You can earn up to 4 points for each class session based roughly on the following guidelines:

At the end of this semester these participation points will be used as a portion of your final grade.

Most class sessions will fit one of three models:


Major Project

Over the course of the semester, you will work as part of a small 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.  The scope of this project is significant enough that its description is contained in a completely separate set of documents.

Course Policies

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 course. 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 your circumstances and of how you can be reached.


Based on my plans at the start of this semester, you have the opportunity to earn 800 points as follows: 



Individual Points (400 points)  
   General Class Participation 100
   Reading Discussion Leader 30
   Reading Day Participation (5 x 10) 50
   In Semester DC (7 x 10) 70
   Individual project points (assigned by me) 50
   Individual project points (assigned by your team mates) 50

   Final Project DC


***Group Points (400 points)

   Team Formation (D1) 10
   Reading Suggestions (D2) 10
   Knowledge Acquisition (D3) 50
   Formal Project Proposal (D4) 100
   Sprint Reports (D5-D8, 20 pts each) 80
   Final System Code (D9) 100
   Final System Documentation (D9) 50


The exact points assigned will almost certainly differ from this slightly, and I reserve the right to add/subtract assignments, deliverables, and participation points that may shift the total number of points possible and the overall percentages.  Significant changes to this distribution will be announced.

Final grades will be assigned based on cut off points no “higher” than:

*** While most groups will receive a single grade for each assignment, and all members of the group will receive this same score, I reserve the right to assign an individual student fewer "group points" than the other members of his/her group if I feel that student has failed to participate in his/her group's work to a sufficient level.


Incompletes are awarded only in very rare instances when an unforeseeable event causes a student who has completed all the other coursework to date to be unable to complete a small portion of the work in the last week or two of the semester (typically the final project).  Incompletes will not be awarded for foreseeable events including a heavy course load or a poorer-than-expected performance. Verifiable documentation must be provided for the incomplete to be granted, and arrangements for the incomplete should be made as soon as such an unforeseeable event is apparent.

Scholastic Conduct

You are responsible for being familiar with the University’s Academic Ethics Policies (http://www.uni.edu/pres/policies/301.shtml).

Any substantive contribution to your work by another person or taken from a publication or code source should be properly acknowledged in writing.  Failure to do so is plagiarism and will necessitate disciplinary action.  In addition to the activities we can all agree are cheating (plagiarism, etc), assisting or collaborating on cheating is cheating.  Cheating can result in failing the course and/or more severe disciplinary actions.

Class Distractions

We live in a technological society, and many of you now carry a variety of electronic distractions with you. Unless we have discussed it in advance, all electronic devices should be turned off and left out of sight during normal class time (The exception is that laptops may be used during Guided Practice days as appropriate).  The inappropriate use of any of these devices will cause you to receive a participation grade of negative one point regardless of your participation otherwise.  Multiple infractions may cause more extreme consequences, including removal from the course.

A few exceptions do exist. For example, due to a family emergency it may be necessary to have your cell phone turned on.  Should this be the case, please talk to me PRIOR to class.


The Americans with Disabilities Act of 1990 (ADA) provides protection from discrimination for qualified individuals with disabilities. Students with a disability, who require assistance, will need to contact the Office of Disability Services (ODS) for coordination of academic accommodations. The ODS is located at 213 Student Services Center. Their phone number is 319/273-2676.  Additionally, please contact me immediately if you have a learning or physical disability requiring accommodation