Course Syllabus

CS171: Introduction to Artificial Intelligence

Prof. Alexander Ihler (Course & syllabus based on offerings by Prof. Richard Lathrop)

The goal of this class is to familiarize you with the basic principles of artificial intelligence. You will learn some basic AI techniques, the problems for which they are applicable, and their limitations.

The course content is organized roughly around what are often considered to be three central pillars of AI: Search, Logic, and Learning. Topics covered include basic search, heuristic search, game search, constraint satisfaction, knowledge representation, logic and inference, probabilistic modeling, and machine learning algorithms.


Class Setup

The course will be primarily lecture-based. There will be a Mid-term and a Final Exam. On every other Thursday before the Mid-term Exam, and every other Tuesday after it, the first 20 minutes will be an in-class pop quiz, followed by lecture (see specific dates calendar, below). The frequent quizzes are intended to encourage you to stay current with the course material. All exams and quizzes may cover all material presented in class, including lectures and assigned textbook reading. Quizzes will cover mostly material presented since the last quiz, and also may include questions that many students missed on the previous quiz. The Final Exam will cover mostly material since the Mid-term Exam, and also will include many questions intended to encourage you to remember the earlier material (i.e., the Final Exam will be comprehensive). Please study the previous CS-171 quizzes and exams (Files::Past Exams), which are made available as study guides to help you learn and master the class material; they are important guides about the performance that will be expected from you now.

We will use a course Piazza page for questions & discussion.  Please post your questions there; you can post privately if you prefer.  Use Piazza for all class contact enables responses by myself, the TAs, or fellow students (if public), which should get you answers more quickly.


Homework

Homework will be assigned, but is not graded. The reason is that prior student course evaluations alerted me to the existence of student cheating by way of copying the homework answers. I deplore this degree of personal degradation in dishonest students, but I cannot control it, and so I avoid the opportunity. I remain determined to create a fair and honest educational experience for all students, as best I can.

Course Project

There will be an AI coding project (see the Project details page). This is an individual or pair project, i.e., you must do it entirely by yourself or form a team of two people. Sometimes teams do not work out. Any team member may dissolve their team at any time by so notifying the Instructor, TAs, and Tournament Director. Any code written before the dissolution is “community property” which may be used freely by both former team members. Any code written after the dissolution is the sole property of the person who wrote it.

Please note that you are encouraged to discuss concepts, methods, algorithms, etc.; but you are forbidden to copy: (1) source code from any source, or (2) text from any source unless properly cited and set off as a quote. Except for class materials provided from this class website, you or your team must invent and write all of your own code by yourself. Except for properly referenced material, you or your team must write all of your own project report by yourself.

Please note that your source code and project report are subject to analysis by automated plagiarism detection programs, and that direct copying will be treated as an act of academic dishonesty (please see the section on “Academic Honesty” below). Please start your AI coding project earlier than you believe necessary, i.e., immediately; it will take longer and be more difficult than you expect (as is true of all coding projects everywhere at all times).

For your project report, please write a short (~2 page) description using the provided template (docx, pdf).

All the various CS-171 AI project shells were written by former CS-171 students who became interested in AI and signed up for CS-199 in order to pursue their interest and write more interesting AI project shells. Please let me know if this is of interest to you (CS-171 grade of A- or better required).


Textbook

Required: Russell & Norvig : Artificial Intelligence; A Modern Approach, 3rd edition.

The course is based on, and the UCI bookstore has, the 3rd edition. The assigned textbook reading is required, and is fair game for quizzes and exams. You place yourself at a distinct disadvantage if you do not have the textbook. I expect that you have a personal copy of the textbook, and quizzes and exams are written accordingly.

Please purchase or rent your own personal textbook for the quarter (and then resell it back to the UCI Bookstore at the end if you don't want it for reference). Please do not jeopardize your precious educational experience with the false economy of trying to save a few dollars by not having a personal copy of the textbook.

Also, for your convenience, I have requested that a copy of the textbook be placed on reserve in the UCI Science Library. There is a two-hour check-out limit. However, please understand that with high student enrollments, it is unrealistic to expect that these thin reserves always will be available when you need them. Please purchase or rent your own personal textbook. Otherwise, you are at a severe disadvantage.

I do deplore the high cost of modern textbooks. You may find the textbook cheaper if you look online at sites such as eBay.com, Amazon.com, etc.; or search the web for other sites related to the textbook.


Grading

Your grade will be based on Discussion Section participation (10%), a coding project (20%), the four quizzes (20%), a mid-term exam (25%), and a final exam (25%). Homework is assigned but ungraded.

  • Discussion Section is REQUIRED and roll will be taken each period (10 periods = 1 period per week over 10 weeks). Each of the 10 periods counts as 1/10 of the 10% Discussion Section Participation points; however, 3 periods are "free" (i.e., to obtain full credit, you must attend at least 7 of the 10 weeks.)  You may not leave after roll has been taken and before the end of the period, i.e., it is not OK to show up for roll and then depart prematurely.
  • The AI coding project will be a “Connect-K” AI agent. “Dumb” coding shells are available in C++, Java, and Python. You must write the “smarts.” This is a solo or pair project and you must do all of it all by yourself or with a single team-mate.
    You are already behind schedule. Start coding now. More details below in the Project section. You will lose 10% of your Project grade for every day or fraction thereof your project submission is late. Your “Final AI” will be entered into a tournament against all of your classmate’s Final AIs. The top 10% will have their Project score increased by 10% (= 2% of total grade), the second 10% by 9%, the third 10% by 8%, and so on.
  • Quizzes will be given the first 20 minutes of class every second Thursday before, and each second Tuesday after, the Mid-term Exam (dates are listed in the Syllabus Overview below), and are closed-book, closed-notes. Your lowest quiz score will be discarded in computing your grade. It is not possible to make-up missed quizzes, but one missed quiz may be discarded as your lowest quiz score.
  • The mid-term exam will be given in class on Tuesday, 1 Nov., and is closed-book, closed-notes. It is not possible to make-up a missed Mid-term exam.
  • The final exam will be given in class on Tuesday, 6 Dec., 4-6pm, and is closed-book, closed-notes. The Final exam will cover all course material from the entire quarter, with emphasis on the second half. It is not possible to make-up a missed Final exam.
  • I honor all requests made by the UCI Disability Services Center.
    Also, I make exceptions for:
    • genuine medical conditions (I require a signed note from your doctor on official letterhead),
    • births/deaths in the family (I require a copy of the birth/death certificate),
    • jury duty or other court proceedings (I require a copy of your jury service papers or other official court documents), or
    • field maneuvers of the US military or National Guard (I require a copy of your official orders).
  • Every student who fills out a course evaluation for CS-171 will receive a bonus of 1% added to their final grade, free and clear, off the curve, simply a bonus.
    EEE will return to me the names of students who fill out evaluations (but not the content, which remains anonymous), provided that enough students fill out evaluations so that anonymity is not compromised. I will add 1% free bonus to the final grade of each such named student.
    Student course evaluations are very important to me for monitoring and improving the course content, and very important to UCI for evaluating our success at our educational mission. *Please* fill out your student course evaluations.

Study Habits

This course is technical, rigorous, and demanding. You will be expected to learn and master a large body of technical material in a very short period of time. You must demonstrate your mastery by (1) accurate performance on frequent quizzes and exams, and (2) successful implementation of an AI coding project.


I deliberately treat you as adults who are responsible for your own educational decisions, and so Lecture is optional. Discussion Section is required and roll will be taken, because it is part of our educational mission to train our TAs to become future professors. Nevertheless, students who do not attend Lecture are at a serious disadvantage and do not succeed as well in this class. Students who spend Lectures and Discussion Section sleeping, on cell phones, surfing the Web, or on social media are wasting their time and might as well be absent. Such students send me email messages to ask questions that already were covered thoroughly and in detail during Lecture and once again in Discussion Section. On quizzes and exams, they miss points that already have been covered thoroughly.

Your educational moments are precious, and your education now will be the single most important factor in your future career success or failure. Please, make the most of your precious educational moments now. Please, attend both Lecture and Discussion Section, pay attention, ask questions, and master the material.
Please do not ever fall behind in the class material; instead, study frequently and diligently. Please begin your AI coding project earlier than you believe necessary; it will take longer and be more difficult than you expect (as is true of all coding projects everywhere at all times).

Please work harder and study longer. Please understand thoroughly all class material, and ask questions when you do not understand. Please attend all lectures and discussion sections. Please come to lectures and discussion sections prepared with questions about any material that is not clear. Please do all assigned reading, both before and again after lecture. Please review the lecture notes, several times over, both before and again after lecture, until you understand every detail. Please regularly attend office hours with me and the TA. Please ask questions about any class material that is not absolutely crystal clear.

Please work and understand all past quizzes and exams; they are important guides about the performance that will be expected from you now. Please work and understand all the optional homework.

Please OVERSTUDY!!

 

Week

Date

Event

Lecture Topic

Lecture Reading

1

Thu 22 Sep

Lecture

Class setup, Intro Agents (Slides)

R&N Ch 1-2

Cultural Interest

 

Fri 23 Sep

Discussion

Review, questions

 

2

Mon 26 Sep

Project Q&A

Coding Project individual Q&A, Bren 3013

 

Tue 27 Sep

Lecture

Intro State Space Search (Slides); Uninformed Search (Slides)

R&N 3.1-3.4

Cultural Interest

 

Wed 28 Sep

Project Clinic

Coding Project Clinic, 5-6pm, MSTB 120

 

 

Thu 29 Sep

Lecture

Heuristic Search (Slides)

R&N 3.5-3.7

 

Fri 30 Sep

Discussion

Review, questions

 

Sun 2 Oct

Team formation deadline

You must register your team name (yourself alone, or a team of at most two people).

3

Mon 3 Oct

Project Q&A

Coding Project individual Q&A, Bren 3013

 

Tue 4 Oct

Lecture

Local Search (Slides)

R&N 4.1-4.2

Cultural Interest

 

Wed 5 Oct

Project Clinic

Coding Project Clinic, 5-6pm, MSTB 120

 

 

Thu 6 Oct

Quiz #1

Lecture

Game (Adversarial) Search A  (Slides)

R&N 5.1, 5.2, 5.4

 

Fri 7 Oct

Discussion

Review, questions

 

Sun 9 Oct

Minimal AI deadline

Minimal AI must run on openlab.ics.uci.edu in the tournament shell and at least make a random move on its turn

4

Mon 10 Oct

Project Q&A

Coding Project individual Q&A, Bren 3013

 

Tue 11 Oct

Lecture

Game (Adversarial) Search B

R&N 5.3 (optional: 5.5+)

Cultural Interest

 

Wed 12 Oct

Project Clinic

Coding Project Clinic, 5-6pm, MSTB 120

 

 

Thu 13 Oct

Lecture

Constraint Satisfaction A  (slides)

R&N 6.1-6.4, except 6.3.3

 

Fri 14 Oct

Discussion

Review, questions

5

Mon 17 Oct

Project Q&A

Coding Project individual Q&A, Bren 4011

 

Tue 18 Oct

Lecture

Constraint Satisfaction B (slides)

R&N 6.1-6.4, except 6.3.3

Cultural Interest

 

Wed 19 Oct

Project Clinic

Coding Project Clinic, 5-6pm, MSTB 120

 

 

Thu 20 Oct

Quiz #2

Lecture

Propositional Logic A (slides)

R&N 7.1-7.4

 

Fri 21 Oct

Discussion

Review, questions

 

Sun 23 Oct

First-Draft AI deadine

First-Draft AI must run on openlab.ics.uci.edu in the tournament shell and implement mini-max search with depth cut-off and heuristic static evaluation function

6

Mon 24 Oct

Project Q&A

Coding Project individual Q&A, Bren 4011

 

Tue 25 Oct

Lecture

Propositional Logic B (slides)

R&N 7.5 (optional: 7.6-7.8)

Cultural Interest

 

Wed 26 Oct

Project Clinic

Coding Project Clinic, 5-6pm, MSTB 120

 

 

Thu 27 Oct

Lecture

Mid-term Exam Review

All of above

 

Fri 28 Oct

Discussion

Review, questions

 

Sun 30 Oct

Alpha-beta AI deadline

Alpha-beta AI must run on openlab.ics.uci.edu in the tournament shell and extend First-Draft AI to include alpha-beta pruning

7

Mon 31 Oct

Project Q&A

Coding Project individual Q&A, Bren 4011

Happy Halloween!

Tue 1 Nov

Mid-term

Mid-term Exam

All of above

Cultural Interest

 

Wed 3 Nov

Project Clinic

Coding Project Clinic, 5-6pm, MSTB 120

 

 

Thu 3 Nov

Lecture

Predicate Logic A (slides)

R&N 8.1-8.5

 

Fri 4 Nov

Discussion

Review, questions

8

Mon 7 Nov

Project Q&A

Coding Project individual Q&A, Bren 4011

 

Tue 8 Nov

Lecture

Predicate Logic B (slides)

Review R&N 8.3-8.5, Read 9.1-9.2 (optional: 9.5)

Cultural Interest

 

Wed 9 Nov

Project Clinic

Coding Project Clinic, 5-6pm, MSTB 120

 

 

Thu 10 Nov

Lecture

Probability, Uncertainty (slides)

R&N Ch 13, 14.1-14.5

 

Fri 11 Nov

Discussion

Review, questions

9

Mon 14 Nov

Project Q&A

Coding Project individual Q&A, Bren 4011

 

Tue 15 Nov

Quiz #3

Lecture

Bayesian Networks (slides)

R&N Ch 18.1-18.4

Cultural Interest

 

Wed 16 Nov

Project Clinic

Coding Project Clinic, 5-6pm, MSTB 120

 

 

Thu 17 Nov

Lecture

Machine Learning (slides)

R&N Ch 18.5-12, 20.1-2

 

Fri 18Nov

Discussion

Review, questions

 

Sun 20 Nov

IDS/Sorting AI deadline

IDS/Sorting AI must run on openlab.ics.uci.edu in the tournament shell and extend Alpha-beta AI to include IDS search up to the time limit plus sort moves based on the last IDS iteration to put the most favorable moves first for A/B pruning

10

Mon 21 Nov

Project Q&A

Coding Project individual Q&A, Bren 4011

 

Tue 22 Nov

Lecture

Clustering, Regression

R&N Ch 18.6.1-2, 20.3.1

Cultural Interest

 

Wed 23 Nov

Project Clinic

Coding Project Clinic, 5-6pm, MSTB 120

 

 

Thu 24 Nov

Holiday!

Happy Thanksgiving Holiday!

 

 

Fri 25 Nov

Holiday!

Happy Thanksgiving Holiday!

 

11

Mon 28 Nov

Project Q&A

Coding Project individual Q&A, Bren 4011

 

Tue 29 Nov

Quiz #4

Lecture

Special Topics Lecture: (1) Special topics request from students; (2) TA or Prof present their own research; (3) Catch-up lecture if needed; (4) Any other use desired.

TBA

 

Wed 30 Nov

Project Clinic

Coding Project Clinic, 5-6pm, MSTB 120

 

 

Thu 1 Dec

Lecture

Final Exam Review (slides)

All of the above

 

Fri 2 Dec

Discussion

Review, questions

 

Sun 4 Dec

Final AI deadline

Final AI must run on openlab.ics.uci.edu in the tournament shell and extend IDS/Sorting AI to be your best and final AI that will compete for you in the tournament.  Let the Games begin!

12

Tue 6 Dec

Final Exam

4:00 - 6:00 p.m.

All of the above

 


Academic Honesty

Academic dishonesty is unacceptable and will not be tolerated at the University of California, Irvine. It is the responsibility of each student to be familiar with UCI's current academic honesty policies. Please take the time to read the current UCI Academic Senate Policy On Academic Integrity and the ICS School Policy on Academic Honesty.

The policies in these documents will be adhered to scrupulously. Any student who engages in cheating, forgery, dishonest conduct, plagiarism, or collusion in dishonest activities, will receive an academic evaluation of "F" for the entire course, with a letter of explanation to the student's permanent file. The ICS Student Affairs Office will be involved at every step of the process.  We seek to create a level playing field for all students.


Course Summary:

Date Details Due