====== Overview ====== ===== Description ===== The course objectives are to learn the fundamental theories, algorithms and concepts in 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 programming assignments and a semester project. We will be using [[https://www.python.org/|Python]] for assignment solutions. Previous experience with Python and its numpy package is helpful. To prepare for this course, please download and install Python on your computer, and work through on-line tutorials to help prepare for this course. The [[https://www.anaconda.com/distribution/|Anaconda distribution]] is recommended, which is a free download for all platforms. A quick review of Python will be presented in the first week 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 [[http://www.cs.colostate.edu/advising/student-info.html|CS Department policy on cheating]] and with the [[http://www.cs.colostate.edu/advising/CodeOfConduct.pdf|CS Department Code of Ethics]]. This course will adhere to the CSU Academic Integrity Policy as found in the [[http://www.catalog.colostate.edu/FrontPDF/1.6POLICIES1112f.pdf|General Catalog]] and the [[http://www.conflictresolution.colostate.edu/conduct-code|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. ===== Time and Place ===== Class meets every Tuesday and Thursday, 2:00 PM - 3:15 PM, **on-line as a Microsoft Teams meeting** that you can find [[https://teams.microsoft.com/l/meetup-join/19%3a323d2d59a8f64282b836e440b8cb32d9%40thread.tacv2/1598126257845?context=%7b%22Tid%22%3a%22afb58802-ff7a-4bb1-ab21-367ff2ecfc8b%22%2c%22Oid%22%3a%22bcd6d782-40c2-430e-8091-fd9ebd260de7%22%7d|at this link]]. You may download Microsoft Teams apps for Windows, Mac, and Linux from [[https://docs.microsoft.com/en-us/microsoftteams/get-clients|this link at Microsoft]]. During the lecture please leave your microphone muted. if you have a question or comment, feel free to interrupt the lecture by unmuting yourself and saying something like "Excuse me, I have a question". Questions and comments are always welcome!! I cannot guarantee that I will notice comments that you type in the Chat box. ===== Prerequisites ===== CS320 with a grade of C or better. ===== Textbook ===== Required: [[http://aima.cs.berkeley.edu/|Artificial Intelligence: A Modern Approach]], third edition. by [[http://www.cs.berkeley.edu/~russell/|Stuart Russell]] and [[http://www.norvig.com/|Peter Norvig]]. ===== Instructors ===== ^ ^ Office ^ Hours ^ Contact | ^ [[http://www.cs.colostate.edu/~anderson|Chuck Anderson]] | Computer Science Building\\ Room 444 | Wednesdays\\ 9 - 10am\\ [[https://teams.microsoft.com/l/meetup-join/19%3a323d2d59a8f64282b836e440b8cb32d9%40thread.tacv2/1598288070646?context=%7b%22Tid%22%3a%22afb58802-ff7a-4bb1-ab21-367ff2ecfc8b%22%2c%22Oid%22%3a%22bcd6d782-40c2-430e-8091-fd9ebd260de7%22%7d|MS Teams link]] | Chuck.Anderson@colostate.edu\\ 970-491-7491 | ^ GTA:\\ [[https://www.linkedin.com/in/apoorvdp/|Apoorv Pandey]] | | Mondays\\ 2:00 - 4:00 PM\\ [[https://teams.microsoft.com/l/meetup-join/19%3a323d2d59a8f64282b836e440b8cb32d9%40thread.tacv2/1598300599034?context=%7b%22Tid%22%3a%22afb58802-ff7a-4bb1-ab21-367ff2ecfc8b%22%2c%22Oid%22%3a%22bcd6d782-40c2-430e-8091-fd9ebd260de7%22%7d|MS Teams Link]] | Apoorv.Pandey@colostate.edu | ^ GTA:\\ [[https://www.linkedin.com/in/chaitanyaroygaga/|Chaitanya Roygaga]] | | Fridays\\ 2:00 - 4:00 pm\\ [[https://teams.microsoft.com/l/meetup-join/19%3a323d2d59a8f64282b836e440b8cb32d9%40thread.tacv2/1598301087268?context=%7b%22Tid%22%3a%22afb58802-ff7a-4bb1-ab21-367ff2ecfc8b%22%2c%22Oid%22%3a%22bcd6d782-40c2-430e-8091-fd9ebd260de7%22%7d|MS Teams Link]] | Chaitanya.Roygaga@colostate.edu | ===== Grading ===== Your grade for this course will be based only on six to eight assignments, all of which will require the submission of a jupyter notebook that includes python code and and its application to specified problems and data. In addition, each notebook must include thorough discussions of methods, results, and conclusions. Each notebook will be graded for correct implementation and results, interesting and thorough discussion, and good organization, grammar and spelling. At the end of the semester, your lowest assignment grade will be dropped, Your semester grade will be based on the average of your remaining 7 assignment grades. Each assignment will be equally weighted. 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 from the standard rubric, 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.