CS165A: Artificial Intelligence: Syllabus

Syllabus contents:

  1. General Information
  2. Prerequisites
  3. Course Objectives
  4. Class Attendance
  5. Textbook
  6. Computing Facilities
  7. Assignments and Grading
  8. Academic Integrity
  9. Students With Disabilities
  10. Diversity and Inclusiveness

 

General Information

Course web site

Please check the course web site regularly for assigned reading and homework, announcements, and any other relevant information. Lecture notes will be posted to the web site prior to each lecture, but these only contain a summary of the presented information. If you only read the lecture notes, you may miss important information.

Prerequisites

The formal prerequisite is Computer Science 130A (Data Structures and Algorithms I). This implies that you have studied topics such as algorithms, data structures, searching and sorting techniques, recursion, and induction, all of which are relevant to this course. Most importantly, you need to be able to think logically about problems and solution strategies, and you must be familiar enough with writing software to implement solutions on your own. If you have completed the CS pre-major courses (including the Math and PSTAT courses) and CS 130A then you will be very well-prepared.   

Course Objectives

What is this course about?

An introduction to the field of Artificial Intelligence (AI), which attempts to understand and build intelligent systems. Topics include intelligent agents, machine learning, probabilistic graphical models, search, game playing, reinforcement learning, logic and knowledge representation. We will also briefly cover the history of AI and philosophical and social implications.

Overview

Artificial Intelligence is about building and understanding intelligent systems. AI means different things to different people. People have approached the study of AI from various perspectives: philosophy, neurophysiology, mathematics, linguistics, psychology, control systems, and computer science, to name a few. Part of what makes it so interesting is the range of activities, from trying to understand minds in the abstract, to building creatures that run around and do things. AI has made steady progress and contributed to much of what is now standard computer science and cognitive science. It has spawned several sub-areas (e.g., natural language processing, speech recognition, computer vision, robotics, expert systems, and learning).

This is a computer science course, so we are not primarily concerned with the approaches of philosophy, cognitive science, etc., although we will come back to them from time to time. We will cover the following topics: 

History and foundations of AI

Problem solving and intelligent agents 

Introduction to machine learning (classification)
Probabilistic modeling and inference (Bayesian networks)

Problem solving and search (blind, informed, adversarial)

Introduction to reinforcement learning (Bandits, MDPs and Reinforcement Learning)

Knowledge Representation and Reasoning (logic)

Responsible AI (fairness, privacy, AI for social good)

 

* Note that CS165B is about machine learning. In CS165A, we take a broader view of AI and cover a complementary set of topics (each one of them may have a learning component).
** There isn't a right order in taking these two courses. You can go either way. You will have more ideas on applications of ML for decision making if you have completed CS165A when taking CS165B; meanwhile you will gain deeper understanding in CS165A topics if you have taken CS165B.

What you will learn

By the end of the course, you will understand what AI is all about and what it has contributed, and may contribute, to computing. You will have a working knowledge of the basic tools of AI, which are applicable to a wide range of computing problems. You will be able to solve problems using explicit knowledge and reasoning. You will have experience building agents that, to some degree, can perceive their environment, reason about their behavior, and act upon the environment to achieve their goals.  

This is not primarily a programming course - that is, the main goal is to learn the concepts, not to learn a language or particular programming techniques. However, coding examples of the concepts is the best way to demonstrate (and facilitate) your knowledge of them. Good programming practices (proper file structure, comments, etc.) are expected.

Why study AI?

AI techniques are used in building e-commerce (and other) agents, expert systems, speech recognition and natural language processing software, intelligent user interfaces, robotics, computer vision, and other areas of computing. A study of the approaches and techniques of artificial intelligence can broaden your perspective and give you a new set of tools to apply to a wide variety of problems.

 

Class Attendance

Class attendance is required: you are responsible for everything that goes on in class. Prepare in advance for class by reading and studying the assigned text, and by making sure you understand the previous lecture.

Weekly 50-minute discussion sections, led by the TA, will focus on (1) presenting supplementary material (such as practical examples) to the lectures, (2) answering questions (about lecture topics, homework problems, programming issues, etc.), or by the instructor for make-up classes.  It is required that students attend these sessions; you are responsible for the material presented in these sessions. Students are encouraged to give the TAs (and, if appropriate, the instructor) feedback regarding topics or issues they would like to have discussed during this time.

Textbook

Stuart Russell and Peter Norvig, Artificial Intelligence: A Modern Approach, Prentice Hall, Third Edition, 2010.  (Otherwise known as AIMA.) This should be available in the UCSB bookstore.  A very thorough and useful web site for the text can be found at http://aima.cs.berkeley.edu/. (Note the errata that are listed at http://aima.cs.berkeley.edu/errata.html.)

Notice that the Fourth Edition of the AIMA book is now available! It is OK if you have bought the Fourth Edition.The Fourth Edition is significantly more up to date and contains a superset of materials of the Third Edition. The instructors will clarify if the chapter indices are different or the materials have changed significantly in any topics we cover. Future offering of this course will be using the Fourth Edition.  

Computing Facilities

You may use the CSIL (Computer Science Instructional Lab) computers, or any other machine you prefer.  You should use python in your assignments (other languages are acceptable but not supported).

Assignments and Grading

Grades will be based on homework assignments, midterm exam, and final exam:

60% Homework assignments
15% Midterm exam
25% Final exam

Assignments will include 4 homework (each consist of theory questions and coding questions).  

Each student has a total of 3 late days without penalties.
If the late days are used up, late submissions are still accepted but (1) you receive only 75% of the credits if submitted within a week (168 hours) of the deadline (11:59 PM Pacific time); (2) Beyond one week, you get only 50% of the credits. 

You are encouraged to discuss homework assignments with classmates at a general level.  However, you may not share answers/code or collaborate on solutions unless otherwise directed to do so. All work turned in must be completely your own, including programming assignments. (See the Policy on Academic Integrity, below.)

Exams will be take-home-exam with a deadline. No late submission for the take-home-exams are allowed.

Policy on Academic Integrity

Please read this section carefully.

The university, the department, and this instructor all take the issue of academic integrity very seriously. A university requires an atmosphere of mutual trust and respect. While collaboration is an integral part of many scholarly activities, it is not always appropriate in a course, and it is never appropriate unless due credit is given to all participants in the collaboration. This goes for both ideas and programming or other work.

Here are some examples:

Allowed:  Discussion of lecture and textbook materials

Allowed:  Discussion of how to approach assignments, what techniques to consider, what textbook or lecture material is relevant

Not allowed:  Sharing ideas in the form of code, pseudocode, or solutions

Not allowed:  Turning in someone else's work as your own, even with that person's permission.

Not allowed:  Allowing someone else to turn in your work as his or her own.

Not allowed:  Turning in work without proper acknowledgment of the sources of the content (including ideas) contained within the work.

Summary: Academic integrity is absolutely required - dishonesty (cheating, plagiarism, etc.) benefits no one and hurts everyone.   If you are not sure whether or not something is appropriate, please ask the instructor or TA.

Students with Disabilities

If you are a student with a disability and would like to discuss special academic accommodations, please contact the instructor.  In addition, students with temporary or permanent disabilities are referred to the Disabled Students Program (DSP) at UCSB.  DSP will arrange for special services when appropriate (e.g., facilitation of access, note takers, readers, sign language interpreters).  Please note that it is the student's responsibility to communicate his or her special needs to the instructor, along with a letter of verification from DSP.  

Diversity and Inclusiveness

We (the instructor, TAs and other teaching staff) strive to create an environment in which students from diverse backgrounds and perspectives can be well-served in this course, where students' learning needs can be addressed both in and out of class, and where the diversity that the students bring to this class is viewed as a resource, strength, and benefit. It is our intent to present materials and activities that are respectful of diversity: gender identity, sexuality, disability, age, socioeconomic status, ethnicity, race, nationality, culture, or religion (or lack thereof). Your suggestions are encouraged and appreciated: help us improve the effectiveness of the course for you personally, or for other students or student groups. If at any point you are made to feel uncomfortable, disrespected, or excluded by the course staff or fellow students, please, don't hesitate to talk to us about it so that we may address the issue and maintain a supportive and inclusive learning environment. If you are uncomfortable bringing up an issue with the course staff directly, submit anonymous feedback or contact the Office of the Ombud. Help us create a welcoming, inclusive atmosphere that supports a diversity of thoughts, perspectives and experiences, and honors your identities. (Statement credits: Kate Kharitonova).


Back to home