COMPSCI 171 LEC A: INTRO ARTIFCL INTEL (34145)

Course Syllabus

SS1'2018 CS171: Introduction to Artificial Intelligence


Room changes effective immediately:

(1) The lecture has been moved from HIB 110 to DBH 1600.

(2) The discussions have been moved from HH 118 to DBH 1500.

(3) These changes were made in order to accommodate the wait-listed students.  All wait-listed students who have identified themselves to me have been cleared and given instructions by the ICS SAO about how to add the class.

(4) Thank you for your patience as we adjust to UCI/ICS growth.  If it were you on the wait-list, you would be grateful.


 

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:

Place: DBH 1600 (building 314 on the UCI campus map)
Time:
Tuesday/Thursday 1:00- 3:50pm


Discussion Sections:
Friday, in DBH 1500 (building 314 on the UCI campus map)
    Dis A1:
1:00- 1:50pm
    Dis A2:
2:00- 2:50pm

 

Coding Project Clinic: Wednesday, 2:00-2:50pm, in SH 128 (building 502 on the UCI campus map)

 

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

 

Instructor: Richard Lathrop <rickl@uci.edu>

Office hours Tue/Thu, 4:00-4:50pm in DBH-4224, or anytime by appointment

 

Teaching Assistant: Junkyu Lee <junkyul@UCI.EDU>

Office hours 3:00-3:50pm in DBH-4243, or anytime by appointmentnt

 

Coding Project/Tournament Directors:

Tournament Director: Jian Li <jianl9@uci.edu>

Assistant Tournament Director: Jia Yao <jiahy@uci.edu>

Office hours = Coding Project Clinic, Wednesday 2:00-2:50pm in SH 128; 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), it will cover some or all of the material in Chapters 1-9, 13, 14, 18, and 20.

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)

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.

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 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.

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

        piazza.com/uci/summer2018/cs171summersessioni2018code34145/home

[Please note:  There have been some hiccups with Piazza because Summer Session is more complicated than regular session, so please let me know at 'rickl@uci.edu' if you have trouble.]

The best way to answer your questions is to 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.


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 (available here) 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.
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 environment or compilation environment; or (2) text from any source unless properly cited and set off as a quote. Except for standard libraries and 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 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. It will take longer and be more difficult than you expect (as is true of all coding projects everywhere at all times).


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:

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, and for your Coding Project Final AI's performance in the class tournament.

Four Quizzes (20% of your total grade, 5% each) 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.

Discussion Section Attendance is required and roll will be taken.  You must attend at least four (4) Discussion Sections to get full credit (10% of your total grade).  If you attend N < 4 Discussion Sections, you will receive ( [N/4] * 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 doing so 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.

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 for CS-171 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.


 

Week 1

 

   

 

June 26

Tue 1-2:20pm

Lecture

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

Class setup, Intro Agents (Slides)

R&N Ch 1-2, 26.preamble, 26.3-4; Optional: 26.1-2

Cultural Interest W01

Tue 2:30-3:50pm
Lecture

Intro State Space Search (Slides)

Uninformed Search (Slides)

R&N 3.1-3.4
June 27 Wed 2-2:50pm
Coding Project Clinic

 

 
Jun 28 Thu 1-2:20pm Lecture Heuristic Search (Slides)

R&N 3.5-3.7

Cultural Interest W02

Thu 2:30-3:50pm Schedule Adjustment

Local Search (moved to end lecture for schedule adjustment)

Optional HW #1

 

Jun 29 Fri 1-1:50pm Discussion A1
Review, questions

 

  Fri 2-2:50pm
Discussion A2
Review, questions

 

Week 2  

 

   

Jul 3

Tue 1-2:20pm

Guest Lecture by TA Junkyu Lee

Quiz #1 (quiz; key)

Probability, Uncertainty (Slides)

R&N Ch 13

Cultural Interest W03

Tue 2:30-3:50pm
Lecture Bayesian Networks (Slides) R&N 14.1-14.5
Jul 4 Wed
Holiday!!  No class!
   
Jul 5 Thu 1-2:20pm
Lecture

Presentation by the UC Irvine Campus Blood Donor Center, part of the UC Irvine Medical Center.

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

 R&N 7.1-7.4

Cultural Interest W04

  Thu 2:30-3:50pm
Lecture

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

Optional HW #2

 R&N 7.5 (optional: 7.6-7.8)
Jul 6 Fri 1-1:50pm Discussion A1
Review, questions
  Fri 2-2:50pm
Discussion A2
Review, questions
Jul 8
Sun 11:59pm
Coding Project Team Formation Deadline
 
Week 3
Jul 10 Tue 1-2:20pm

Lecture

Quiz #2 (quiz; key)

Predicate Logic Syntax (Slides)

R&N 8.1-8.5

Cultural Interest W05

  Tue 2:30-3:50pm

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

Jul 11
Wed 2-2:50pm

Coding Project Clinic

 

 

Jul 12 Thu 1-2:20pm Lecture

Game (Adversarial) Search A (Slides)

R&N 5.1, 5.2, 5.4

Cultural Interest W06

  Thu 2:30-3:50pm Lecture

Game (Adversarial) Search B (Slides)

Optional MCTS and AlphaGo (Slides)

Optional HW #3

R&N 5.3 (optional: 5.5+)
Jul 13 Fri 1-1:50pm Discussion A1

Happy Friday the 13th!

Review, questions

  Fri 2-2:50pm
Discussion A2

Happy Friday the 13th!

Review, questions

Jul 15
Sun 11:59pm
Minimal AI Deadline

Must compile and run on 'openlab'. Must make at least one intelligent move.

Week 4

 

Jul 17 Tue 1-2:20pm

Lecture

Quiz #3 (quiz; key)

Constraint Satisfaction A (Slides)

R&N 6.1-6.4, except 6.3.3

Cultural Interest W07

Tue 2:30-3:50pm
Lecture
 Mid-term Exam Review (Slides)

All of above

Jul 18 Wed 2-2:50pm Coding Project Clinic
 

 

Jul 19 Thu 1-2:20pm Mid-term Exam (exam; key)
Mid-term Exam

All of above

Cultural Interest W08

  Thu 2:30-3:50pm
Lecture

Constraint Satisfaction B (Slides)

Optional HW #4

 same as CSP A
Jul 20 Fri 1-1:50pm Discussion A1
Review, questions
  Fri 2-2:50pm
Discussion A2
Review, questions
Week 5

 

Jul 24 Tue 1-2:20pm

Lecture

Quiz #4 (quiz; key)

Intro Machine Learning (Slides)

R&N 18.1-18.4

Cultural Interest W09

Tue 2:30-3:50pm
   Machine Learning Classifiers (Slides)

R&N 18.5-18.12; 20.2.2

Jul 25 Wed 2-2:50pm Coding Project Clinic
 

 

Jul 26 Thu 1-2:20pm Lecture Local Search (Slides)

R&N 4.1-4.2, 4.6; Optional: 4.3-4.5

Cultural Interest W10

  Thu 2:30-3:50pm
Lecture

Final Exam Review (Slides)

Optional HW #5

 All of above
Jul 27 Fri 1-1:50pm Discussion A1
Review, questions
Fri 2-2:50pm
Discussion A2
Review, questions
Jul 29 Sun 11:59pm
Final AI Deadline
Final AI is your last and best AI, which will be entered in the class tournament
Jul 30
Mon 11:59pm
Project Report Deadline  
Final Exam

 

Jul 31 Tue 1-3:50pm Final Exam (exam, key)
  All of above
Project Due Dates
Jul 8 Sun 11:59pm
Coding Project Team Formation Deadline
Jul 15 Sun 11:59pm
Minimal AI Deadline
Jul 29
Sun 11:59pm
Final AI Deadline
Jul 30
Mon11:59pm Project Report Deadline
 

 

 

Course Summary:

Date Details Due