CSC290: Introduction to Artificial Intelligence
Classes: Monday – Wednesday 2.40 – 4.00 pm
Location: Ford Hall 342
Instructor: Dr. Şadi Evren ŞEKER (Office: Ford Hall 252)
- Tuesday, 13.00 – 15.00
- Other times by appointment/as available
- Lunch meetings available by request for small groups
Web Site: http://sadievrenseker.com/wp/?p=1172
- History and Philosophy of the Artificial Intelligence (AI)
- Classical AI approaches like search problems, machine learning, constraint satisfaction, graphical models, logic etc.
- Learning how to model a complex real-world problem by the classical AI approach
- Introduction to Artificial Intelligence Problems
- Programming with a mathematical notation language (like a lisp variant, scheme)
- Writing a real world application with an AI module (like a game)
- Introducing sub-AI topics like neural computing, uncertainity and bayesian networks, concept of learning (supervised / unsupervised) etc.
- S. Russell and P. Norvig Artificial Intelligence: A Modern Approach Prentice Hall
- A must check : http://aima.cs.berkeley.edu
- Some parts of the course is related to Machine Learning, Data Science, Data Mining, Pattern Recognition, Natural Language Processing, Statistics, Logic, Artificial Neural Networks and Fuzzy Logic, so you can read any [text] books about the topics.
In this course, you will get introduced to a new programming language Lisp, so it is essential that you have a good programming background (a good understanding of the content delivered at CSC111 course).
It is also highly recommended to get familiar with data structures (CSC212) and algorithms (CSC252) for two reasons. First, in some parts of the theoretical part of the course, some topics are related to data structures or algorithms. Second, these courses brings more programming skills which is highly required in programming part of the course.
Calculus MATH111, will come in handy in one or two places. Propositional logic and probability theory, are important prerequisites but they will be thoroughly reviewed in this course. As usual, ask me if you’re not sure about whether to take the course.
Grading: Programming assignment / Homeworks (30%), Midterm Exam (20%), Final Exam (50%)
Midterm and Final Exams (take home for 24 hours, midterm and final have no coding questions)
- Introduction and Agents (chapters 1,2)
- Search (chapters 3,4,5,6)
- Logic (chapters 7,8,9)
- Planning (chapters 11,12)
- Uncertainty (chapters 13,14)
- Learning (chapters 18,20)
- Natural Language Processing (chapter 22,23)
Schedule and Contents (Very Very Very Tentative):
- Class 1, Jan 30 :[PPT] Introduction : Course Demonstration Slides, Introduction Slides
- Class 2, Feb 1:[PPT] Agents
- Class 3, Feb 6: [PPT] Search
- Class 4, Feb 8: [Use HTDP Book]Introduction to Scheme 1,
- Class 5, Feb 13: [PPT] Heuristic Search
- Class 6, Feb 15: [Tree Codes written in class] Scheme Practice 2, Search Homework 1 (Due Date: Feb 27)
- Class 7, Feb 20: [PPT]Constraint Satisfaction Problems
- Class 8, Feb 22: [UCS Codes written in class] Scheme Practice 3, Heuristic Homework 2 (Due Date: Mar 20)
- Class 9, Feb 27: [PPT] , [Codes for DFS Review] Game Playing
- Class 10, Mar 1: [Codes for CSP] Scheme Practice 4, CSP Homework 3 (Due Date: Mar 27)
- Class 11, Mar 6: [Midterm Questions] Lisp Review and Midterm
- Class 12, Mar 8: [Assignment #1 Solutions] Midterm Solutions
- Mar 13, 15: No Classes , Spring Recess
- Class 13, Mar 20: [Game Tree Implementation from the Class] Scheme Practice 5, Game Homework 4 (Due Date extended to Apr 10)
- Class 14, Mar 22: [PPT] Logic
- Class 15, Mar 27: [PPT]First Order Logic, Inference in First Order Logic
- Class 16, Mar 29: [RackLog Tutorial] Scheme Practice 6, Logic Homework 5 (Due Date: Apr 10)
- Class 17, Apr 3: [PPT] Uncertainity and Fuzzy Logic
- Class 18, Apr 5: [PPT for next 4 classes] Machine Learning and Problems
- Class 19, Apr 10: Supervised / Unsupervised Learning and Classification / Clustering Problems, k-nn and k-means
- Class 20, Apr 12: Naive Bayes, Decision Trees, Rule Based Learning, Error Calculation, Association Rule Mining
- Class 21, Apr 17: [RapidMiner] Practice 7, ML Homework 6 (Due Date: Apr 24)
- Class 22, Apr 19: [PPT] Genetic Algorithms
- Class 23, Apr 24: [PPT] Artificial Neural Networks
- Class 24, Apr 26: [PPT] Natural Language Processing
- Class 25, May 1: Final Exam (Click for Sample Questions Not exam questions!!! )
- Final Exam Questions (Due Date: May 12 until midnight)
- Class 26, May 3: Final Exam Solutions (Updated: Because the final exam is extended to May 12, I will not do a class for the solutions of final exam, however, you can come and ask your questions about final exam or assignments during this time).
Collaboration Policy: You may freely use internet resources and your course notes in completing assignments and quizzes for this course. You may not consult any person other than the professor when completing quizzes or exams. (Clarifying questions should be directed to the professor.) On assignments you may collaborate with others in the course, so long as you personally prepare the materials submitted under your name, and they accurately reflect your understanding of the topic. Any collaborations should be indicated by a note submitted with the assignment.
Important Announcement for Assignment 1: Due Date is postponed, please implement DFS and DLS until March 6 and BFS until Mar 13
Update for the second part of first assignment: Because of the spring break, the due date is updated to Mar 20, together with the second assignment. So, please submit BFS until Mar 20.
Assignment 2: A* Search Problem, Due Date Mar 20 (Extended to Mar 27)
Assignment 3: Constraint Satisfaction Problem, Due Date Mar 27 (Extended to Apr 3)(Extended to Apr 10) (Extended to May 12)
Assignment 4: Minimax Game Tree, Due Date Apr 3 (Extended to Apr 10)(Extended to Apr 17)(Extended Apr 30)(Extended to May 12)
Assignment 5: Reversi Game, Knowledge Based Agent (Logic) implementation , Due Date Apr 10 (Extended to Apr 24)(Extended Apr 30)(Extended to May 12)
Assignment 6: Machine Learning Assignment for Recognizing Smith College Students (Due Date: Apr 24)(Extended Apr 30)(Extended to May 12)
Important Announcement : All the assignment submissions are extended until May 12 midnight. So you can submit or resubmit all assignments if you want (except the first 2 assignments, that we have already solved at class). I will only grade the latest submission if you have duplicate submissions.