CSE 3521 Survey of Artificial Intelligence I: Basic Techniques

This course will introduce the basic ideas and techniques underlying the design of intelligent computer systems.

Details
Textbook
Grading

Homeworks (20%)

You should be prepared to do regular work each week to keep up with the material and the assignments. The instructor will collect the homework in the classroom. Homework assignments may NOT be turned in late. Homeworks are NOT accepted by email.

Projects (30%)

Programming projects will be in Python, and should be submitted to Carmen by 11:59pm on the day it is due (unless otherwise instructed). Each student will have 3 flexible days to turn in late programming projects throughout the semester. As an example, you could turn in the first project 2 days late and the second project 1 day late without any penalty. After that you will loose 20% for each day the project submission is late. Please email your code to the instructor in case there are any technical issues with submission.

Midterm (20%)

Midterm exam will be close book and notes. The exam date: Wednesday Oct 09 2:20pm-3:40pm. Here are the solutions from our students.

Final Exam (30%)

Final exam will be close book and notes. The exam date: Wednesday Dec 04 2:20pm-3:40pm. Here is final for Spring 2019.

Grading Scale: Numerical grades will be mapped to letter grades using the standard OSU policy: 93-100 (A), 90-92.9 (A-), 87-89.9 (B+), 83-86.9 (B), 80-82.9 (B-), 77-79.9 (C+), 73-76.9 (C), 70-72.9 (C-), 67-69.9 (D+), 60-66.9 (D), below 60 (E). These cutoffs represent grade minimums. We may adjust grades upward based on class grade distribution curve.

Regrade Policy: If you believe an error has been made in the grading of your exam, you may resubmit it for a regrade - submit a detailed explanation of which problems you think we marked incorrectly and why. Because we will examine your entire submission in detail, your grade can go up or down as a result of a regrade request.

Drop or Withdraw: detailed OSU policy and instructions here

Resources
  • Piazza (QA, discussion, and announcements)
  • Carmen (project submission and restricted resources)
  • Academic Integrity
    Any assignment or exam that you hand in must be your own work (with the exception of group projects). However, talking with others to better understand the material is strongly encouraged. Copying a solution or letting someone copy your solution is cheating. Everything you hand in must be your own words. Code you hand in must be written by you, with the exception of any code provided as part of the assignment. MOSS (Measure of Software Similarity) will be used routinely to detect plagiarism on programming assignments. Any collaboration during an exam is considered cheating. Any student who is caught cheating will be reported to the Committee on Academic Misconduct. Please don't take a chance - if you are having trouble understanding the material, let us know (asking on Piazza, in class or during office hours), and we will be happy to help.
    Programming Projects
  • Project 0 - Python Cheat sheet (practice), here is Python Cookbook.
  • Project 1 - Uninformed Search (due 09/13)
  • Project 2 - Informed Search (due 09/27)
  • Project 3 - Machine Learning (due 11/01)
  • Project 4 - Learn TensorFlow (version 1), modify the CNN architecture and achieve accuracy >90%, here is cnn_utils file and dataset file. (due 11/22)
  • Homework Assignments
  • Homework 0 - Learn Python Programming in 7 Days (practice).
  • Homework 1 - Exercises 5.2, 5.8 and 5.13 of Chapter 5 (due 10/04, Solutions)
  • Anonymous Feedback
    Schedule (Please check course syllabus here.)
    Date Topic Required Reading Further Reading
    08/21 Introduction 1.1-1.4 What is AI? / Basic Questions
    08/23 Intelligent Agents 2.1-2.4 Libratus
    08/28 BFS and DFS 3.1-3.4 BFS and DFS
    08/30 UCS and Greedy 3.5.1 Path Finding Algorithms
    09/04 A* 3.5.2 Optimality of A*
    09/06 Game trees: Minimax 5.1-5.3 Game AIs
    09/11 Game trees: Expectimax 5.4 Extending Minimax Search
    09/13 Logical Agents 7.1-7.3 -
    09/18 Propositional Logic 7.4 Usefulness of Propositional Logic
    09/20 First Order Logic 8.1-8.3 Knowledge Systems
    09/25 Naive Bayes-1 13.5 Learn Naive Bayes Algorithm
    09/25 Naive Bayes-2 13.5 Maximum Likelihood Estimation
    10/02 Linear Classifier 18.6.3-18.6.4 Creating a Perceptron From Scratch
    10/04 Midterm Review - Sample Exam
    10/09 Midterm All above All above
    10/16 Neural Networks-1 18.6-18.7 Basics of Neural Network
    10/18 Neural Networks-2 - Slides credit: Matt Gormley
    10/23 Neural Networks-3 Autodiff Tutorial Autodiff Talk by Matthew J Johnson
    10/25 CNN-1 and CNN-2 - An Intuitive Explanation of CNN
    10/30 CNN-3 - Case Study: CNN architectures
    11/01 RNN-1 and RNN-2 - Build RNN from Scratch in Python
    11/06 RNN-3 - Understanding LSTM Networks
    11/08 Clustering-1 - An Introduction to Cluster Analysis
    11/13 Clustering-2 - Implementing the DBSCAN Algorithm
    11/15 PCA and AE - Introduction to Autoencoders
    11/20 Final Review-1 - -
    11/22 Final Review-2 - -
    12/04 Final Since 09/25 Since 09/25