The course objectives are to learn the fundamental theories, algorithms and representational structures underlying Artificial Intelligence. Class discussions will range from algorithm fundamentals to philosophical issues in Artificial Intelligence. Programs implementing problem-solving search, logical reasoning. and machine learning techniques will be studied and modified. Other topics will be covered as time permits. Students must complete a number of written and programming assignments and a semester project.
We will be using Python for assignment solutions. You may download and install Python on your computer, and work through the on-line tutorials to help prepare for this course. Experience with writing Python programs is not expected but helpful; an introduction to Python will be presented during the first few weeks of the semester.
Class meetings will be a combination of lectures by the instructor and discussions of your questions. You are expected to have read the assigned material before each class meeting. All questions are welcome, no matter how simple you think they are; it is always true that someone else has a similar question. Do not expect to be able to complete all assignments working on your own and not asking any questions. If you find yourself wondering what the next step is in finishing an assignment, visit or e-mail the instructor or the graduate teaching assistant. You may also discuss assignments with other students, but your code must be written by you.
You are expected to be familiar with the CS Department policy on cheating and with the CS Department Code of Ethics. This course will adhere to the CSU Academic Integrity Policy as found in the General Catalog and the Student Conduct Code. At a minimum, violations will result in a grading penalty in this course and a report to the Office of Conflict Resolution and Student Conduct Services.
A lot of material will be covered in this course. Students are expected to speak up in class with questions and observations they have about the material. Do not expect to be able to complete all assignments working on your own and without asking any questions. If you find yourself wondering what the next step is in finishing an assignment, please feel free to e-mail the instructor. You may also discuss assignments with other students, but your code and report must be written by you.
Class meets every Monday, Wednesday and Friday, 3:00 pm - 3:50 pm, in Clark A 202. On-campus and distance-learning students will be able to watch video recordings of lectures.
CS320 with a grade of C or better.
|Chuck Anderson||Computer Science Building (CSB) Room 444|| Room 444|
Wednesday, Friday 12-2 pm
|GTA: Wen Qin||Room 415, Desk 11|| Room 120|
Monday, Wednesday, 4-6 pm
|GTA: Mohamed Chaabane||Room 252, Desk 8|| Room 120|
Tuesday, 12-2pm and 4-6 pm
Your grade for this course will be based only on the assignments, most of which will require the submission of a jupyter notebook that includes text descriptions of your methods, results and conclusions and the python code for defining and applying AI algorithms. Each notebook will be graded for correct implementation and results, interesting and thorough discussion, and good organization, grammar and spelling. No quizzes or exams will be given.
We plan for about six regular assignments during the semester. In total these will count for 80% of your semester grade. The final assignment is a project designed by you and is worth 20% of your semester grade. These percents are summarized in the following list.
The calculation of the final letter grade, which will include + and -, will be based on the standard grading scheme, with A+, A, and A- being for grades of 90% and above, B+, B, and B- for grades between 80% and 90%, etc. The minimum grade for each letter grade might be lowered, but will not be raised, based on the distribution of semester average grades for the class.
Late assignment solutions will not be accepted, unless you make arrangements with the instructor at least two days before the due date.