CS 2400: Introduction to Artificial Intelligence, 2020

Updated March 24, 2020

(Updates are highlighted.)

Instructor: Rob Hasker (414-277-7326)

Office hours: See my home page: https://faculty-web.msoe.edu/hasker/

Course Description: The objective of this course is to introduce the basic concepts of artificially intelligent systems. Topics covered include knowledge representation, problem solving using search, and the agent framework. The role of AI in engineering and computing systems is presented, and students complete exercises that develop skills in applying AI tools and languages to real-world problems.

Prerequisites: CS 2852, CS 2300, and (MA 2310 or MA 1830)

Note: this course does not fulfill any tech elective requirements for software engineering majors.

Format: 2 lecture hours, 2 lab hours, 3 credits

Course Outcomes: On successful completion of this course, the student will be able to

Textbooks:
  • Required: Artificial Intelligence: Foundations of Computational Agents, 2nd ed., David L. Poole and Alan K. Mackworth, Cambridge University Press, 2017.
    Available online (for free) at artint.info/2e/html/ArtInt2e.html
  • Optional: Artificial Intelligence Illuminated, 2nd ed., Ben Coppin, Jones and Bartlett, 2004, ISBN 0763732303
  • Optional: Artificial Intelligence: A Modern Approach, 3rd ed., Stuart Russell and Peter Norvig, 2009, Pearson, ISBN 0136042597
The required and optional texts are available from online booksellers.

Grading

All scores and grades are posted on Blackboard as soon as they are available. Please monitor your grades in Blackboard and notify the instructor of any errors as soon as you can. The grading scheme is as follows:

  Percentage  
Labs  25%
Quizzes & Midterm:  25%
Participation & exercises  10%
Final project:  20%
Final Exam:  20%
Total: 100%

The MSOE grading scale will be used, higher grades may be awarded to individual students if it increases fairness. In addition, successfully demonstrating mastery of course outcomes is a prerequisite for a passing grade. This includes being successful on the final exam and, when required, completing assignments even if past the due date.

Communication

(This section has been completely rewritten.)

While the course is convening remotely, I will focus on the following communication methods:

Course materials will be posted at my class web site https://faculty-web.msoe.edu/hasker/cs2400/. I also use Slack and email extensively; I expect you to check for electronic communications at least once a day.

Quizzes

There will be quizzes on presentations and reading materials most weeks. These will all be on Blackboard or in VidGrid and may be taken asynchronously. Unless announced otherwise, there will be a quiz at the start of class every Friday. Other activities may be substituted for quizzes in some weeks.

Missed quizzes cannot be made up, but at least one of the lowest quiz or homework scores will be dropped.

Labs and other assignments

Lab solutions which do not run or which do not produce some correct output will be worth 0 points. However, you can get partial credit for partially working solutions. Estimate how long the lab will take and see your instructor if it takes much longer!

Unless otherwise announced, late lab solutions will be penalized 5% if submitted up to three days late and 15% if submitted between four and seven days late. Solutions submitted more than one week late will be worth zero points unless there is advance arrangement for extenuating circumstances. Other assignments (such as homeworks) are worth zero points if late. Unless you have written permission, all assignments must be submitted before Monday of finals week by the end of week 10 (the end of the term under the new calendar).

Assignments are individual unless we explicitly state otherwise. It is OK to look at another student's code with them to help them fix an error, but it is not OK to have a copy of another student's code at any time or in any form. Electronic tools will be used to identify plagiarism, and students guilty of either copying or "loaning" out their code will be penalized. If you follow best practices and store your code in a repository, keep the repository private.

Code will be graded for both correctness and meeting standards. You can submit more than once on all assignments, but only the last solution will be graded. This means it is important to submit all materials if you do resubmit since I will not review previous submissions for missing materials.

Attendance

Attending Teams-based class meetings and lab sessions is mandatory. I may not always take formal attendance, but attendance and participation will be factored into your grade. It is expected that you will read lab writeups and review lecture material before the appropriate lab or class meeting.

How exams will be administered is yet to be determined.

Do not skip class! If you do happen to miss, be sure to check for new materials and get the notes you missed from a friend before the next class period. You are responsible for anything missed! If you need to be excused from class for MSOE activities or religious observances, be sure to me know in advance. If you're sick, it's obviously not a good idea to come to class. This includes days on which there are exams; just be sure to contact me as soon as you can get to a phone or computer.

Using phones and laptops during class to check social media, write papers, etc. is a form of missing class!

Strongly consider taking hand-written notes for this class. The slides omit many details on purpose. Do not try to type your notes; research shows hand-written notes are the most effective way to capture key material. Note the campus printers will easily scan documents so you can organize your notes electronically.

Do not record video or audio of lectures without my permission.

For students with documented disabilities, chronic medication conditions and mental health concerns: MSOE provides services to make reasonable accommodations available. If you are a student who requires or anticipates the need for accommodations, please contact Student Accessibility Services Office at 414-277-7281, by email at moureau@msoe.edu, or in person at K250 to discuss appropriate accommodations and eligibility requirements.

Tentative Schedule

This schedule is subject to change. Topics are listed by approximate week. For the full schedule, see the course website.

  1. Introduction, Turing test, learning
  2. Decision trees, search, BFS, DFS
  3. A*, Heuristics
  4. Search (continued), game playing
  5. Planning, propositional logic, first-order logic, Midterm
  6. Neural networks
  7. Neural networks, continued
  8. Neural networks, continued; final project introduction
  9. Reinforcement learning, Q learning, MDP
  10. Advanced topics & presentations
  11. Final exam