UoPeople Online Syllabus Repository (OSR)

Computer Science

CS 4408 Artificial Intelligence

Uopeople


CS 4408: Artificial Intelligence


Syllabus


Prerequisites: MATH 1302: Discrete Mathematics, CS 3304: Analysis of Algorithms, CS 4402: Programming Languages, and CS 4407: Machine Learning.


Course Description: This course is an introduction to artificial intelligence. The course will cover the history, theory, and computational methods of artificial intelligence. Basic concepts will examine agents in the context of computational intelligence.  The course will also explore representations of knowledge, search as a problem-solving technique, reasoning with both certainty and uncertainty, and the resulting role of probability when reasoning in uncertainty.  The course will also address planning concepts and the role of multi-agent systems.


Required Textbook and Materials: UoPeople courses use open educational resources (OER) and other materials specifically donated to the University with free permissions for educational use. Therefore, students are not required to purchase any textbooks or sign up for any websites that have a cost associated with them. The main required textbooks for this course are listed below and can be readily accessed using the provided links. There may be additional required/recommended readings, supplemental materials, or other resources and websites necessary for lessons; these will be provided for you in the course's General Information and Forums area, and throughout the term via the weekly course Unit areas and the Learning Guides.


Software Requirements/Installation: Throughout this course, we will be putting our skills into practice by completing the exercises in the AISpace.org web site.   In some cases, your instructor will provide ADDITIONAL INSTRUCTIONS that you must incorporate into the exercise.

The exercises all take advantage of Java applets.  You have the option of installing java and ensuring that your web browser can execute the applets (You can test your ability to run the applets by executing one of the applets found at  http://www.aispace.org/downloads.shtml)


Learning Objectives and Outcomes:

By the end of this course students will be able to:

  1. Define artificial intelligence and its characteristics.
  2. Describe both the Turing Test and the Chinese Room as tests of intelligence.
  3. Define the structure, types, characteristics, and behaviors of agents.
  4. Demonstrate familiarity with search algorithms as a problem-solving strategy.
    • Uninformed search
    • Informed search or Heuristics
    • A* search
    • Min-max algorithm
  5. Demonstrate familiarity with constraint satisfaction problems (CSP).
  6. Demonstrate familiarity with Knowledge representation and reasoning concepts including propositional and predicate logic.
  7. Explain the role and application of probability in reasoning.
  8. Define approaches to planning both with certainty and uncertainty.

Course Schedule and Topics: This course will cover the following topics in eight learning sessions, with one Unit per week. The Final Exam will take place during Week/Unit 9 (UoPeople time).

Week 1: Unit 1Fundamentals of AI

Week 2: Unit 2 - Agents

Week 3: Unit 3 - Problem Solving Through Search

Week 4: Unit 4 - Features and Constraints

Week 5: Unit 5 - Knowledge Representation and Reasoning

Week 6: Unit 6 -Reasoning Under Uncertainty

Week 7: Unit 7 -Planning

Week 8: Unit 8 -Multi-Agent Systems

Week 9: Unit 9 -Course Review and Final Exam


Learning Guide: The following is an outline of how this course will be conducted, with suggested best practices for students.

Unit 1: Fundamentals of AI

  • Read the Learning Guide and Reading Assignments
  • Participate in the Discussion Assignment (post, comment, and rate in the Discussion Forum)
  • Complete an entry in the Learning Journal
  • Take the Self-Quiz

Unit 2: Agents

  • Read the Learning Guide and Reading Assignments
  • Participate in the Discussion Assignment (post, comment, and rate in the Discussion Forum)
  • Complete and submit the Programming Assignment
  • Complete an entry in the Learning Journal
  • Take the Self-Quiz

Unit 3: Problem Solving Through Search

  • Peer assess Unit 2 Programming Assignment
  • Read the Learning Guide and Reading Assignments
  • Participate in the Discussion Assignment (post, comment, and rate in the Discussion Forum)
  • Complete an entry in the Learning Journal
  • Take the Self-Quiz
  • Take the Graded Quiz

Unit 4: Features and Constraints

  • Read the Learning Guide and Reading Assignments
  • Participate in the Discussion Assignment (post, comment, and rate in the Discussion Forum)
  • Complete and submit the Programming Assignment
  • Complete an entry in the Learning Journal
  • Take the Self-Quiz

Unit 5: Knowledge Representation and Reasoning

  • Peer assess Unit 4 Programming Assignment
  • Read the Learning Guide and Reading Assignments
  • Participate in the Discussion Assignment (post, comment, and rate in the Discussion Forum)
  • Complete and submit the Programming Assignment
  • Complete an entry in the Learning Journal
  • Take the Self-Quiz

Unit 6: Reasoning Under Uncertainty

  • Peer assess Unit 5 Programming Assignment
  • Read the Learning Guide and Reading Assignments
  • Participate in the Discussion Assignment (post, comment, and rate in the Discussion Forum)
  • Complete an entry in the Learning Journal
  • Take the Self-Quiz
  • Take the Graded Quiz

 Unit 7: Planning

  • Read the Learning Guide and Reading Assignments
  • Participate in the Discussion Assignment (post, comment, and rate in the Discussion Forum)
  • Complete and submit the Programming Assignment
  • Complete an entry in the Learning Journal
  • Take the Self-Quiz

Unit 8: Multi-Agent Systems

  • Peer assess Unit 7 Programming Assignment
  • Read the Learning Guide and Reading Assignments
  • Participate in the Discussion Assignment (post, comment, and rate in the Discussion Forum)
  • Complete an entry in the Learning Journal
  • Take the Self-Quiz
  • Read the Unit 9 Learning Guide carefully for instructions on the Final Exam
  • Take the Review Quiz
  • Complete and submit the anonymous Course Evaluation

Unit 9: Course Review and Final Exam

  • Read the Learning Guide and take the Review Quiz, if you haven't already done so
  • Prepare for, take, and submit the Final Exam
  • The Final Exam will take place during the Thursday and Sunday of Week/Unit 9 (UoPeople time); exact dates, times, and other details will be provided accordingly by your instructor

Course Requirements:

Programming Assignments & Assessment Forms
Some units in this course require that you complete a Programming Assignment. These projects are designed to help the student bridge the gap between theory and practice.  Each of the projects will require that the student practice or implement the concepts being explored within the unit either in terms of a design or a solution.  In many of the development projects, the student will work with and validate solutions using provided simulations tools.

You are required to submit your assignments by the indicated deadlines and, in addition, to peer assess three (3) of your classmates’ assignments according to the instructions found in the Assessment Form, which is provided to you during the following week. During this peer assessment period, you are expected to provide details in the feedback section of the Assessment Form, indicating why you awarded the grade that you did to your peer. Please note that each assignment grade is comprised of a combination of your submission (90%) and your peer assessments (10%). Failure to submit Programming Assignments and/or Assessment Forms may result in failure of the course.


Discussion Assignments & Response Posts/Ratings
Some units in this course require that you complete a Discussion Assignment. You are required to develop and post a substantive response to the Discussion Assignment in the Discussion Forum. A substantive response is one that fully answers the question that has been posed by the instructor. In addition, you must extend the discussion by responding to at least three (3) of your peers’ postings in the Discussion Forum and by rating their posts. Instructions for proper posting and rating are provided inside the Discussion Forum for each week. Discussion Forums are only active for each current and relevant learning week, so it is not possible to contribute to the forum once the learning week has come to an end. Failure to participate in the Discussion Assignment by posting in the Discussion Forum and responding to peers as required may result in failure of the course.

Learning Journals
Your instructor may choose to assign specific topics and/or relevant questions as a weekly Learning Journal entry for you to complete, but you are still encouraged to also use it to document your activities, record questions/problems you may have encountered, reflect on the learning process, and draft answers for other course assignments. The Learning Journal must be updated on a weekly basis because its entries will be assessed by your instructor directly as a part of your final grade. The Learning Journal will only be seen by your instructor.

Quizzes
This course will contain three types of quizzes – the Self-Quiz, the Graded Quiz, and the Review Quiz. These quizzes may contain multiple-choice, true/false, or short answer questions. The results of the Self-Quiz will not count towards your final grade. However, it is highly recommended that you complete the Self-Quiz to ensure that you have adequately understood the course materials. Along with the Reading Assignments, the results of the Self-Quiz should be used as part of an iterative learning process, to thoroughly cover and test your understanding of course material. You should use the results of your Self-Quiz as a guide to go back and review relevant sections of the Reading Assignments. Likewise, the Review Quiz will not count towards your final grade, but should also be used to assist you in a comprehensive review and full understanding of all course material, in preparation for your Final Exam. Lastly, the results of the Graded Quiz will count towards your final grade. 

Final Exam
The Final Exam will take place during the Thursday and Sunday of Week/Unit 9, following the completion of eight units of work. The format of the Final Exam is similar to that of the quizzes and may contain a combination of different question types. You will have one attempt to take the exam, and it will be graded electronically. Specific instructions on how to prepare for and take the Final Exam will be provided during Week 8 (located inside the Unit 9 Learning Guide). Final Exams must be taken without the use of course learning materials (both those inside and outside the course). If particular materials are allowed for use during the exam, these will be noted in the exam’s instructions.


Course Forum
The Course Forum is the place to raise issues and questions relating to the course. It is regularly monitored by the instructors and is a good place to meet fellow students taking the same course. While it is not required to participate in the Course Forum, it is highly recommended.


Course Policies:

Grading Components and Weights
Each graded component of the course will contribute some percentage to the final grading scale, as indicated here:

Discussion Assignments 15%
Programming Assignments 20% (4 @ 5% each)
Learning Journals 15%
Graded Quizzes 20% (2 at 10% each)
Final Exam 30%
TOTAL 100%

Grading Scale
This course will follow the standard 100-point grading scale defined by the University of the People, as indicated here:

Letter Grade
Grade Scale Grade Points
A+ 98-100 4.00
A 93-97 4.00
A- 90-92 3.67
B+ 88-89 3.33
B 83-87 3.00
B- 80-82 2.67
C+ 78-79 2.33
C 73-77 2.00
C- 70-72 1.67
D+ 68-69 1.33
D 63-67 1.00
D- 60-62 0.67
F Under 60 0.00

Grade Appeal
If you believe that the final grade you received for a course is erroneous, unjust, or unfair, please contact your course instructor. This must be done within seven days of the posted final grade. For more information on this topic, please review the Grade Appeal Procedure in the University Catalog.

Participation
Non-participation is characterized by lack of any assignment submissions, inadequate contributions to the Discussion Forums, and/or lack of peer feedback to Discussion/Written Assignments. Also, please note the following important points about course participation:

  • Assignments must be submitted on or before the specified deadline. A course timeline is provided in the course schedule, and the instructor will specify deadlines for each assignment.
  • Any student showing non-participation for two weeks (consecutive or non-consecutive) is likely to automatically fail the course.
  • Occasionally there may be a legitimate reason for submitting an assignment late. Most of the time, late assignments will not be accepted and there will be no make-up assignments.
  • All students are obligated to inform their instructor in advance of any known absences which may result in their non-participation.

Academic Honesty and Integrity
When you submit any work that requires research and writing, it is essential to cite and reference all source material. Failure to properly acknowledge your sources is known as “plagiarism” – which is effectively passing off an individual’s words or ideas as your own. University of the People adheres to a strict policy of academic honesty and integrity. Failure to comply with these guidelines may result in sanctions by the University, including dismissal from the University or course failure. For more information on this topic, please review the Academic Integrity Policy in the University Catalog.

Unless otherwise stated, any materials cited in this course should be referenced using the style guidelines established by the American Psychological Association (APA). The APA format is widely used in colleges and universities across the world and is one of several style and citation formats required for publication in professional and academic journals. Purdue University’s Online Writing Lab (OWL) is a free website that provides excellent information and resources for understanding and using the APA format and style. The OWL website can be accessed here: Purdue Online Writing Lab. (n.d.). APA style introduction. Purdue University. https://owl.purdue.edu/owl/research_and_citation/apa_style/apa_style_introduction.html

Code of Conduct
University of the People expects that students conduct themselves in a respectful, collaborative, and honest manner at all times. Harassment, threatening behavior, or deliberate embarrassment of others will not be permitted. Any conduct that interferes with the quality of the educational experience is not allowed and may result in disciplinary action, such as course failure, probation, suspension, or dismissal. For more information on this topic, please review the Code of Conduct Policy in the University Catalog.


Course Overview
Introduction to Artificial Intelligence is a theory course that incorporates a number of advanced topics including knowledge of search algorithms, graph theory, probability and statistics, predicate logic, functional programming, machine learning, and discrete mathematics.  As such, this course requires a strong proficiency in the following foundational concepts.

A strong mathematical foundation in concepts such as predicate and propositional logic and probability as established in the Statistics, Calculus, and Discrete Mathematics disciplines.  This course assumes that each student has a basic grasp of such mathematical capabilities and there are aspects of the course that will require such understanding.

An understanding of the foundations of the Prolog programming language.  An introduction to Prolog is covered as part of CS4402, Programming Languages which is a pre-requisite to this course.

An understanding of data structures including graph theory and algorithms including search algorithms, dynamic programming, and concepts such as the limitations of computability as explored in CS3303 Data Structures and CS3304 Analysis of Algorithms.

Peer Feedback
This course will present introduce fundamental concepts of Artificial Intelligence (AI) through reading assignments, discussions, and projects that require students to put AI concepts into practice through a series of development assignments. This learning process is designed to be interactive and collaborative.  

Each student is expected to provide feedback and coaching to other students through the peer assessment process in discussion questions and assignments as well as engaging in discussions to help peers who may be struggling with some of the course concepts.   The unit forum can and should be used by any student who is struggling with either course assignments or projects and needs assistance from either the instructor or other students.  Questions, problems, and challenges should be posted by students here as early as possible in order to receive feedback that can be used to meet assignment deadlines.  Feedback is a component of the grading of this course and providing effective, constructive feedback in assessments and in responses to other students’ postings is required.   In addition to responding to requests for assistance, the course forum can be used to post items, tools, best practices, techniques, or articles that you have found valuable in completing your assignment that might be of value to your peers.