COMPSCI 171 LEC A: INTRO ARTIFCL INTEL (34210)

Course Syllabus

FQ'2018 CS171: Introduction to Artificial Intelligence


 

Prof. Richard Lathrop

(Current content and syllabus draw upon previous offerings by

Profs. Lathrop, Ihler, Smyth, Dechter, Kask, and Mjolsness)


See also the page AI at UC Irvine and the slides for AI Club at UCI.


 Place, Time, Instructors:

Lecture:
 * Place: 
PSLH 100 (building 411 on the UCI campus map)
 * Time:
Tuesday/Thursday 3:30- 4:50pm

Discussion Sections:

Dis Day & Time Place TA
1 Fri   8:00- 8:50am ICS 174 Forest Agostinelli
2 Fri   9:00- 9:50am SSL 228 Forest Agostinelli
3 Fri   1:00- 1:50pm ICS 174 Akshay Bapat
4 Fri   2:00- 2:50pm ICS 174 Akshay Bapat

 

Coding Project Clinic:
 * Place:
HSLH 100A (building 501 on the UCI campus map)
 * Time:
Wednesday 7:00-7:50pm

 

(If you send email, please put “CS-171” somewhere in the Subject line.)

 

Instructor: Richard Lathrop <rickl@uci.edu>

    Office hours Thursdays 5-5:50pm in DBH-4224 (building 314 on the UCI campus map), or anytime by appointment.

Teaching Assistants:

  • Forest Agostinelli <fagostin@uci.edu>
    • Office hours Tuesday 11am-noon in ICS-2 264 (building 304 on the UCI campus map), or anytime by appointment. [NOTE: ICS-2, which is building 304, is not the same as ICS, which is building 302.]
  • Akshay Bapat <akshay.bapat@uci.edu>
    • Office hours Friday 11am-noon in ICS 464B (building 302 on the UCI campus map), or anytime by appointment.

Readers:

  • Rose Du <quanzhed@uci.edu>
  • Ran Duan <duanr1@uci.edu>
  • Shivani Inamdar <srinamda@uci.edu>
    • Office hours Thursday 2-3pm in ICS 364 Open Lab, or anytime by appointment.
  • Lina Li <jinghul@uci.edu>
  • Kevin Rothi <krothi@uci.edu>
    • Office hours Wednesday 12:30-1:30pm in ICS 364 Open Lab, or anytime by appointment.
  • Qing Tang <qingt@uci.edu>
    • Office hours Thursday 10-11am in ICS 464B, or anytime by appointment.
  • Yajie Zhang <yajiez1@uci.edu>

Coding Project/Tournament Directors:

  • Ling Jin <lingj6@uci.edu>
  • Darren Sjafrudin <dsjafrud@uci.edu>

    Office hours = Coding Project Clinic, TBA; see Coding Project Clinic, above.

 

(If you send email, please put “CS-171” somewhere in the Subject line.)

 


Goal:

The goal of this class is to familiarize you with the basic principles of artificial intelligence. This is a broad introductory survey course. 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 often are considered to be three central pillars of AI: Search, Logic, and Learning. Topics covered include agents, basic search, heuristic search, game search, constraint satisfaction, knowledge representation, logic and inference, probabilistic modeling, and machine learning algorithms. In your Russell&Norvig textbook (see textbook details below), the course will cover some or all of the material in Chapters 1-9, 13, 14, 18, and 20.

Order of Topics:  The Order of Topics has been arranged the best to support your Coding Project (below). Lecture and course content sometimes may include other important material not in your textbook:

Introduction, viewpoints about AI, agents (Ch. 1, 2; 26, 27)

Agents and problem formulations (Ch. 1, 2, 3)

Informed and Uninformed search (Ch. 3)

Local search (Ch. 4)

Reasoning about Uncertainty, Probability (Ch. 13)

Bayesian Networks (Ch. 14)

Propositional logic (Ch. 7)

First Order Logic (Ch. 8)

Inference and Knowledge Representation in First Order Logic (Ch. 9)

Game playing (Ch. 5)

Constraint satisfaction (Ch. 6)

Machine Learning from observations (Ch. 18)

(If time) Clustering, Regression, Statistical learning (Ch. 20)


Class Expected Technical Background:

As a general rule of thumb about prerequisite knowledge, you already should have taken at least one course each in statistics, data structures, single-variable calculus, and boolean algebra.  Appendices A & B in your textbook (see below) review some but not all of the necessary background material.

Also, there will be a required coding project in which you will be supplied a "dumb" coding shell for which you will be required to write the "smarts."  Coding shells are available in C++, Java, and Python.  You already should be proficient in coding at least one of those languages.


Class Setup:

The course will be primarily lecture-based. There will be four Quizzes, a Midterm Exam, a Final Exam, and a Coding Project. Dates of the Quizzes, Exams, and Project deadlines are given in the detailed class schedule 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 so far in class, including lectures and assigned textbook reading. Quizzes will cover mostly material presented since the last quiz. The Final Exam will cover material from the entire course, i.e., the Final Exam will be comprehensive.

Several previous Intro AI quizzes and exams (available here) are made available as study guides to help you learn and master the class material.  Please study them carefully because they are important guides about the performance that will be expected from you now.

PLEASE NOTE: The order of topics is rearranged for each class in order best to support your coding project. Thus, quiz numbers from different classes sometimes are not directly comparable. (E.g., Quiz #3 of this year may cover different topics from Quiz #3 of that year.) You must look and choose at your discretion.

Piazza discussion forum:  An online class discussion forum has been set up on Piazza:

        //piazza.com/uci/fall2018/cs171fallquarter2018code34210/home

[Please note:  There have been some hiccups with Piazza, so please let me know at 'rickl@uci.edu' if you have trouble.]

The best way to answer your questions is to write them down and then ask them in the weekly Discussion Section. If you are confused about something then many other students are also, and so asking questions in Discussion Section will benefit both you and many of your fellows.

For more help, please post your questions to Piazza, or visit office hours of the TA or me.


Homework:

Homework will be assigned, but is not graded (available here). 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 Coding Project:

The AI coding project is intended to give you practical hands-on experience in writing an AI, as well as to improve your general programming skills. “Dumb” coding shells are available in C++, Java, and Python. You must write the “smarts.” Project shells and details are available on the Project page (available here).
This is an individual or pair project. 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, although you are allowed to include standard libraries provided by the operating system or compilation environment; or (2) text from any source unless properly cited and set off as a quote.

Except for (1) standard libraries available on openlab and (2) 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.

Your source code and project report are subject to analysis by automated plagiarism detection programs.  Direct copying will be treated as a violation of academic integrity (please see the section on “Academic Integrity” below).

 

Please start your AI coding project earlier than you believe necessary, i.e., IMMEDIATELY. Your coding project will take longer and be more difficult than you expect before you begin (as is true of all coding projects everywhere at all times).

 

All the various Intro AI project shells were written by former Intro AI students who became interested in AI and signed up for Independent Study in order to pursue their interest and write more interesting AI project shells. Please let me know if this is of interest to you (Intro AI grade of A- or better plus a good UCI transcript are 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.

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:

Constantly I am asked by students if I could raise their grade "just a little bit," or round it off, to push them up to the next letter grade level. My constant reply is that your grade is a fair and honest reflection of your performance. My constant advice to students who wish a better grade is to work harder and study longer.

Your grade will be based on the four quizzes (20%), a mid-term exam (25%), a final exam (25%), a coding project (20%), and your Discussion attendance (10%). Homework is assigned but ungraded.  Bonus points are available for filling out a UCI student evaluation of teaching (1%), and for your Coding Project Final AI's performance in the class tournament (up to 2%).

Four Quizzes (20% of your total grade) will be given in the first 20 minutes of class (dates 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 Midterm Exam (25% of your total grade) will be given in class (date below), and is closed-book, closed-notes. It is not possible to make-up a missed Midterm exam.

The Final Exam (25% of your total grade) will be given in class (date below), and is closed-book, closed-notes. The Final exam will cover all course material from the entire quarter, i.e., the Final Exam will be comprehensive. It is not possible to make-up a missed Final exam.

The course Coding Project (20% of your total grade) is discussed above and in the Project pages.

Discussion Section Attendance is required and roll will be taken (10% of your total grade).  You must attend at least seven (7) Discussion Sections to get full credit.  If you attend N < 7 Discussion Sections, you will receive ( [N / 7] * 10%) credit toward your total grade.  Note that it is NOT OK to come to Discussion Section for the sign-in and then leave early --- anyone so doing will receive zero credit for that Discussion Section.

Please Note:

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 or equivalent official documentation, e.g., a scanned copy of official hospital discharge papers),
  • births/deaths in the family (I require a copy of the birth/death certificate or equivalent documentation, e.g., a scanned copy of official funeral papers),
  • jury duty, immigration appointments, or other legal proceedings (I require a copy of your jury service papers or other official documents),
  • field maneuvers of the US military or National Guard (I require a copy of your official orders), or
  • major technical events that are important to your career. "Major technical events" include national/international conferences or hackathons (I require a copy of your acceptance papers) and non-local job interviews where you are flown to a distant city (I require a copy of your airline tickets).  They do NOT include local job lunches or local job interviews, which easily may be rescheduled.

To be excused from Discussion please contact your TA, and in all other cases me, with the appropriate documentation.

Available Bonus Points:

Your Coding Project “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% (= 1.8% of total grade), the third 10% by 8% (= 1.6% of total grade), and so on.

Every student who fills out a course evaluation will receive a bonus of 1% added to their total 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 for UCI in 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 both Lecture and Discussion Section are at a serious disadvantage and do not succeed as well in this class.

Students who don't do the reading, don't attend Lectures, or 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.

In stark contrast, students who work hard, over-study, and learn the material, tend to do very well indeed.

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.

The class will move very quickly. 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!!

 


Academic Integrity:

"Learning, research, and scholarship depend upon an environment of academic integrity and honesty. This environment can be maintained only when all participants recognize the importance of upholding the highest ethical standards. All student work, including quizzes, exams, reports, and papers must be the work of the individual receiving credit. Academic dishonesty includes, for example, cheating on examinations or any assignment, plagiarism of any kind (including improper citation of sources), having someone else take an examination or complete an assignment for you (or doing this for someone else), or any activity in which you represent someone else’s work as your own. Violations of academic integrity will be referred to the Office of Academic Integrity and Student Conduct. The impact on your grade will be determined by the individual instructor’s policies. Please familiarize yourself with UCI’s Academic Integrity Policy (https://aisc.uci.edu/policies/academic-integrity/index.php) and speak to your instructor if you have any questions about what is and is not allowed in this course."   --- UCI Academic Senate recommended Syllabus text

Any student who violates the UCI Academic Integrity policies, will receive an academic evaluation of "F" for the entire course, with a letter of explanation to the UCI Academic Integrity Administrative Office.  We seek to create a level playing field for all students.


Schedule by Date:

    Color Codes Used Below

Weekly Headers

Tests, Deadlines, Notices

Holiday or No Class

TBA, Unscheduled, or Subject to Change

 
Week 0
Date Event Comments Material

Thu 27 Sep

Lecture

Class setup, Intro Agents (Slides)

R&N Ch 1-2, 26.preamble, 26.3-4, 27.4

R&N Optional: Ch 26.1-2, 27.1-3

Cultural Interest W01

  Fri 28 Sep
No Discussion
No Discussion

 

Week 1
 Date

 Event

 Comments  Materials
Tue 2 Oct

Lecture

Active Shooter presentation by Sgt. Bob LeSage, UCIPD (Video: Ohio State, How to Survive an Active Shooter.)

Intro State Space Search (Slides)

Uninformed Search (Slides)

UCIPD Active Shooter Procedures

UCIPD Active Shooter Brochure

R&N 3.1-3.4

Homework R&N 3A (HW, key)

Cultural Interest W02

Thu 4 Oct
Lecture

 Heuristic Search (Slides)

 R&N 3.5-3.7

Homework R&N 3B (HW, key)

  Fri 5 Oct
Discussion
Review, questions (Slides CS171_Discussion_wk1.pptx)
Week 2 Date Event Comments Materials
Tue 9 Oct Lecture

Local Search (Slides)

R&N 4.1-4.2, 4.6

R&N Optional: Ch 4.3-4.5

Homework R&N 4 (HW, key)

Cultural Interest W03

Thu 11 Oct

Quiz #1 (quiz; key)

Lecture

SCHEDULE ADJUSTMENT

 SCHEDULE ADJUSTMENT

Fri 12 Oct Discussion Review, questions (SlidesCS171_Discussion_wk2.pptx)
Week 3
Date Event Comments

Materials

  Tue 16 Oct

Lecture

ASUCI Student Voter Registration Campaign presentation (website)

UCI Blood Donor Center presentation (website)

Probability, Uncertainty (Slides)

R&N Ch 13

Homework R&N 13 (HW, key)

 

Cultural Interest W04

  Thu 18 Oct

Lecture

Bayesian Networks (Slides)

R&N 14.1-14.5

  Fri 19 Oct

Discussion

Review, questions (Slides CS171_Discussion_wk3.pptx)

 

  Sun 21 Oct 11:59pm
Coding Project Team Formation Deadline

Follow the Team Formation submission format EXACTLY

Your team name must consist ONLY of alpha-numeric characters (0-9, a-z, A-Z; alphabetic case is respected), and MUST NOT include your name or ID# or any part thereof.

Week 4
Date Event Comments

Materials

   Tue 23 Oct
 Lecture

 Propositional Logic A --- Syntax, Semantics (Slides)

R&N 7.1-7.4

Cultural Interest W05

  Wed 24 Oct

Coding Project Clinic

7-7:50pm in HSLH 100A (building 501 on the UCI campus map)

Bring your laptop computer for hands-on help

 Note the ICS FACULTY PANEL ON IMPROVING YOUR GRADUATE SCHOOL APPLICATION

  Thu 25 Oct

Quiz #2 (quiz; key)

Lecture

Propositional Logic B --- Inference, Proof (Slides)

R&N 7.5 (optional: 7.6-7.8)

Homework R&N 7 (HW, key)

  Fri 26 Oct
Discussion

Review, questions (Slides)

Week 5
Date Event Comments

Materials

Tue 30 Oct Lecture

 Predicate Logic Syntax (Slides)

R&N 8.1-8.5

Cultural Interest W06

Wed 31 Oct
Coding Project Clinic

7-7:50pm in HSLH 100A (building 501 on the UCI campus map)

Bring your laptop computer for hands-on help

Happy Halloween!

 

Thu 1 Nov
Lecture

Predicate Logic Semantics &  Inference (Slides)

Predicate Logic Knowledge Engineering (Slides)

Review R&N 8.3-8.5

Read 9.1-9.2, 9.5.1-9.5.5

Homework R&N 8 (HW, key)

Fri 2 Nov
Discussion
Review, questions (Slides)

 

  Sun 4 Nov 11:59pm
Minimal AI Deadline

Your code must compile and run on 'openlab'. It must meet criteria stated in the Coding Project page (see above).

Week 6
Date Event Comments Material
  Tue 6 Nov
Lecture Mid-term Exam Review (Slides)

All of above

Cultural Interest W07

  Wed 7 Nov

Coding Project Clinic

7-7:50pm in HSLH 100A (building 501 on the UCI campus map)

Bring your laptop computer for hands-on help

 

  Thu 8 Nov
Mid-term Exam (exam; key)

Over-study!

All of above

Fri 9 Nov
Discussion
Review, questions (Slides)

 

Week 7
Date Event Comments Material
Tue 13 Nov

Lecture

Guest lecture by Forest Agostinelli 

 Game (Adversarial) Search A (Slides)

Optional: MCTS and AlphaGo (Slides)

 R&N 5.1, 5.2, 5.4

Cultural Interest W08

  Wed 14 Nov

Coding Project Clinic

7-7:50pm in HSLH 100A (building 501 on the UCI campus map)

Bring your laptop computer for hands-on help

 

Thu 15 Nov

Lecture

Guest lecture by Akshay Bapat

Game (Adversarial) Search B (Slides)

 

R&N 5.3 (optional: 5.5+)

Homework R&N 5 (HW, key)


Fri 16 Nov
Discussion
Review, questions (Slides)
  Sun 18 Nov 11:59pm
Draft AI Deadline

Your code must compile and run on 'openlab'. It must meet criteria stated in the Coding Project page (see above).

Week 8
Date Event Comments Material
Tue 20 Nov

Quiz #3 (quiz; key)

Lecture

Constraint Satisfaction A (Slides)

R&N 6.1-6.4, except 6.3.3

Cultural Interest W09

  Wed 21 Nov

Coding Project Clinic

7-7:50pm in HSLH 100A (building 501 on the UCI campus map)

Bring your laptop computer for hands-on help

 

 Thu/Fri 22/23 Nov
 Holiday! No class! No Discussion!
 Happy Thanksgiving! Enjoy!

 

Week 9
Date Event Comments Material
Tue 27 Nov
Lecture
Constraint Satisfaction B (Slides)

same as CSP A

Cultural Interest W10

  Wed 28 Nov

Coding Project Clinic

7-7:50pm in HSLH 100A (building 501 on the UCI campus map)

Bring your laptop computer for hands-on help

 

Thu 29 Nov

Lecture

Intro Machine Learning (Slides)

R&N 18.1-18.4

Homework R&N 18 (HW, key)

Fri 30 Nov
Discussion
Review, questions (Slides)

 

Week 10
Date Event Comments Material
Tue 4 Dec

Quiz #4 (quiz; key)

Guest lecture by ForestAgostinelli

"Introduction to deep learning, with modern day applications" (Slides)
TBA
  Wed 5 Dec

Coding Project Clinic

 7-7:50pm in HSLH 100A (building 501 on the UCI campus map)

Bring your laptop computer for hands-on help

 

  Thu 6 Dec
Lecture

Final Exam Review (Slides)

 All of above
Fri 7 Dec
Discussion
Review, questions (Slides)
Finals Week Date Event Comments Material
Sun 9 Dec 11:59pm
Final AI Deadline

Your code must compile and run on 'openlab'.  Final AI is your last and best AI, which will be entered in the class tournament.

Let the Games begin!

  Mon 10 Dec 11:59pm
Project Report Deadline  Follow the Report Template given in the Coding Project materials.

Tue 11 Dec 4:00-6:00pm PSLH-100

Final Exam (exam, key)
 Over-study! All of above

 

Course Summary:

Date Details Due