COMPSCI 271P LEC A: INTRO ARTIFCL INTEL (35450)

Course Syllabus

FQ'2018 CS271P: 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:
SSL 228 (building 202 on the UCI campus map)
 * Time:
Tuesday/Thursday 6:30- 7:50pm

Discussion Section:
 * Place:
MSTB 118 (building 415 on the UCI campus map)
 * Time:
Friday 6:00- 6:50pm

Coding Project Clinic:
 * Place: 
SSL 248 (building 202 on the UCI campus map)
 * Time:
Wednesday 7:00- 7:50pm

 

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

 

Instructor: Richard Lathrop <rickl@uci.edu>

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

 

Teaching Assistant: Yue Yu <yuey6@uci.edu>

Office hours Wednesdays 3:00-4:00pm in Calit2-3414 (building 325 on the UCI campus map), or anytime by appointment

 

Reader: Shraavanth Penugonda <spenugon@uci.edu>

Office hours Tuesdays 2:00-3:00pm in ICS-464B (building 302 on the UCI campus map), or anytime by appointment

 

Coding Project/Tournament Directors:

  • Jia Yao <jiahy@uci.edu>
  • Jan Christian <janc2@uci.edu>

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

 

(If you send email, please put “CS-271P” 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:

        https://piazza.com/configure-classes/summer2018/cs271pfallquarter2018code35450

[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:

 

Course Summary:

Date Details Due