Cal Poly SLO CPE/CSC 480-F19 Introduction to Artificial Intelligence Prof. Franz J. Kurfess
Syllabus
Dr. Franz J. Kurfess, Cal Poly Computer Science & Software Engineering Department (http://www.csc.calpoly.edu/~fkurfess/)
My office hours are tentatively scheduled as follows:
You can find up-to-date information on my online calendar.
The Cal Poly Catalog describes the course as follows:
Programs and techniques that characterize artificial intelligence. Programming in a high level language. 3 lectures, 1 laboratory.
Prerequisite: either CSC/CPE 102 and CSC/CPE 103 with a grade of C- or better or consent of instructor; or CSC/CPE 202 and CSC/CPE 203 with a grade of C- or better or consent of instructor..
Students should be familiar with programming in Java, and be able to work with elementary statements in propositional and predicate logic.
The goal of this course is to understand important problems, challenges, concepts and techniques from the field of Artificial Intelligence. In order to achieve this, students learn how to analyze, design, and program intelligent agents of varying complexities. These agents gather information from their environment, convert it into a suitable internal representation (which may be augmented with information provided by the designer or other sources), analyze their internal knowledge to determine suitable actions, and finally execute some actions.
More specifically, after successful completion of the course, students should
I am planning to cover the topics below. Some adjustments in the sequence and coverage may be made as the quarter progresses.
The following textbooks will be used in this course:
There is a column in the course schedule indicating the chapters in the book that correspond to a topic discussed in class. Students are expected to read the respective chapters before the topic is covered in class. For further reading, here are some more suggestions:
There are also a few books on more practical aspects of AI programming and intelligent agents:
For pointers to Computational Intelligence and in particular Machine Learning, check out the syllabus of the CSC 570-W18 course on Computational Intelligence. And if you want to dive even further into Reinforcement Learning, Andrew Gough (who completed his Master’s Thesis on this topic in Spring 2018) put together an excellent Reinforcement Learning Roadmap.
The PowerPoint slides used in class, together with other auxiliary material, will be made available to students via a shared Dropbox directory.
Further material will be made available through handouts in class, and through pointers to relevant Web pages.
The main work in this class consists of weekly labs, several assignments, a team project, an individual short presentation, and weekly quizzes.
Much of the work in the assignments will be done in teams, although some assignments may have individual components.
The assignments are designed to give you some practical experience in the use of tools, literature review, and techniques such as interface storyboarding and usability evaluation. The assignments are intended to provide an introduction to skills needed to design and evaluate good interfaces, which will lead to effective human-computer interaction. The requirements may include written reports and/or summaries to be posted on the class web site as well as oral presentation of results and relevant discussion in class. There will be some freedom in the choice of tools, methods, or topics, and you are encouraged to coordinate the work on the assignments with the work on the project.
Student teams will have several project topics to choose from, with an emphasis on mobile devices. Some of the projects will be done in collaboration with outside partners. The project work should focus on the user interaction with a device or system. The teams are expected to design and implement different versions, ranging from design sketches and storyboards to partial implementations. Much of this work can be coordinated with the assignments. Usually the project outcomes will be shown in a display around the mid-quarter point and one at the end of the quarter. Details will be discussed during the first or second week of the quarter.
This class will rely on interactive classroom activities, such as participation in group discussions, presentation of ideas and results (from textbook, class or assignments), providing written summary materials (as web files via Piazza or Moodle), etc.
Success in this class depends on regular attendance, preparation of assigned readings and homework exercises, as well as a level of professionalism in the class presentations and displays. Peer evaluations may be included as part of the grade.I will use the following allocation of scores for the calculation of the grades.
I reserve the right to change the formula used. Please note that the project consists of several parts which will be evaluated separately. The project will be done in teams, and the performance of the team as a whole will be graded unless there is a clear disparity in the contribution of the individual team members. Should this be the case, I might ask for additional documentation like work sheets, email messages, or draft copies of documentation to evaluate individual contributions. For the team grades, feedback through peer evaluations will also be considered (although I will not use it directly in the calculation of the score).
The official final exam dates and times are listed on the schedule. The following activities may be scheduled for this final exam time; details will be discussed in class:
Students are expected to attend all lecture and lab sessions for the class. Except for unforeseeable reasons like illness or accidents, I expect advance notice for anticipated absences and delays in submission of class work.
To maintain uniformity across the student population, I am following university guidelines and will consider the following “excusable” reasons for allowing students to make up missed work and absences:
Much of the graded work in this class depends strongly on presentations and documentation material. Once a team or individual has committed to a date for the presentation, extensions or changes in the dates will only be permitted for the reasons listed above. Such changes may also have to be coordinated with the project contacts at the outside partner.
It is University policy to provide, on a flexible and individualized basis, reasonable accommodations to students who have disabilities that may affect their ability to participate in course activities or to meet course requirements. Students with disabilities are encouraged to contact their instructor to discuss their individual needs for accommodations. If you have a disability for which you are or may be requesting an accommodation, you are encouraged to contact both your instructor and the Disability Resource Center, Building 124, Room 119, at (805) 756-1395, as early as possible in the term.
The expectations below are based on Cal Poly’s Code of Student Conduct.
Academic dishonesty, in particular plagiarism, can be a serious offense. Any instances of cheating or plagiarism may be reported to the department chair and the Office of Student Rights & Responsibilities (OSRR). The Cal Poly rules and policies are listed in the Cal Poly catalog as well as at the OSRR web site. If the rules are unclear or you are unsure of how they apply, ask the instructor beforehand.
For programming assignments, we may use programs or services like Moss to compare assignments within a section, across all current sections of this class, and with old assignments. While such programs are not perfect, they detect suspicious similarities even after replacement of variable names and other identifiers. In general, the use of program libraries is acceptable, but not if they provide functionality whose implementation is the purpose of the lab or assignment. If you use libraries you need to indicate this in the documentation.
Turning in work is presumed to be a claim of authorship unless explicitly stated otherwise. For work created by multiple persons (such as team projects or group presentations), I may ask for documentation on who is responsible for which parts or aspects of the work.