BSc: Introduction To Artificial Intelligence.previous version
Introduction to Artificial Intelligence
- Course name: Introduction to Artificial Intelligence
- Course number: ?????
Course Characteristics
Key concepts of the class
- Artificial Intelligence: Introduction to the ethical use of AI and the framework of development of AI systems
- Artificial Intelligence: Evolutionary Algorithms
What is the purpose of this course?
Have you ever wondered about how computers decide on what your credit worthiness is, or how they can play chess as good as a world master, or how world class circuits can be built with a minimal number of crossed wires? Perhaps you have wanted to build a human like robot, or have wanted to explore the stars with automated probes. Artificial Intelligence is the field which examines such problems. The goal is to provide a diverse theoretical overview of historical and current thought in the realm of Artificial Intelligence, Computational Intelligence, Robotics and Machine Learning Techniques.
Course Objectives Based on Bloom’s Taxonomy
What should a student remember at the end of the course?
By the end of the course, the students should be able to
- Gather an appreciation of the history of AI founders
- Solve simple problems using random, guided, and directed, search methods and be able to compare their abilities to solve the problem using a statistical argument
What should a student be able to understand at the end of the course?
- Understand the PEAS model of problem definition
- Understand the Environment Model
- Understand the role of AI within computer science in a variety of fields and applications
What should a student be able to apply at the end of the course?
- Apply Evolutionary Algorithms to a number of problems
- Apply the PEAS model of problem definition
- Apply the apply the Environment Model
Course evaluation
Type | Points |
---|---|
Assignment 1 | 20 |
Assignment 2 | 20 |
Lab Participation | 10 |
Midterm | 25 |
Final | 25 |
This course has a required class element of practical work on course elements, the retake is not a substitute for practical knowledge, and it is inherently unfair that students who have not submitted these practical elements are graded the same as those who have accomplished course materials. In order to be eligible for the retake, a student is required to have submitted all course assignments, and have a passing grade on those elements. The lacking/failing elements, can be presented for this purpose up to 3 business days before the retake for evaluation. In the case of the resubmission of a failing element, a document should be attached noting which changes have been made to the assignment in order to lead to a passing mark. Lack of these elements in a passing state presented to the committee will be considered a failing grade for the retake.
The retake grade will count as the final course grade, with the first retake giving no more than a B as final grade, and the second retake giving no more than a C. The first retake will be a written exam submitted to the professor, and the second retake as an oral commission.
Grades range
Proposed range | ||
---|---|---|
A. Excellent | 90-100 | |
B. Good | 75-89 | |
C. Satisfactory | 60-74 | |
D. Poor | 0-59 |
If necessary, please indicate freely your course’s grading features.
Resources and reference material
- Russell & Norvig - Artificial Intelligence: A Modern Approach, 3rd Edition
- Ashlock - Evolutionary Computation for Modeling and Optimization
Course Sections
The main sections of the course and approximate hour distribution between them is as follows:
Section | Section Title | Teaching Hours |
---|---|---|
1 | History and Philosophy of AI | 16 |
2 | Searching as Optimization | 16 |
3 | Topics in Evolutionary Algorithms | 16 |
Section 1
Section title:
History and Philosophy of AI
Topics covered in this section:
- Introduction to the practical applications of AI
- History of Epistemology, particularly on the issue of knowledge creation and intelligence.
- Understanding of the Chinese room and Turing test
- Appreciation for the role of AI in Industries and the the application
- Application of the PEAS model
- Application of the Thinking/Acting Humanly/Rationally
- Appreciation of the Ethical Issues in AI
What forms of evaluation were used to test students’ performance in this section?
|a|c| & Yes/No
Development of individual parts of software product code & 0
Homework and group projects & 1
Midterm evaluation & 1
Testing (written or computer based) & 0
Reports & 0
Essays & 1
Oral polls & 0
Discussions & 1
Typical questions for ongoing performance evaluation within this section
- State and apply the PEAS model to a set of problems.
- State the difference between Plato and Aristotle’s conceptions of knowledge - refer to Socrates definition?
- Are you intelligent? What marks you as such? What is the definition?
- Are you creative? What marks you as such? What is the definition?
Typical questions for seminar classes (labs) within this section
- Apply the PEAS model as a group to a real world instance.
- Discuss - Humans in many low skilled tasks are being replaced by automation, what role do practitioners have in protecting its abuse
- Discuss - Asimov’s laws of robotics are used as a science fiction application of ethics in AI, do you think they have a role in the real world.
- Discuss - how can we prevent bias from entering into systems.
- Discuss - What does it mean for a Computer to be Creative?
Test questions for final assessment in this section
- Apply the PEAS model to a real world instance.
- You have a classification problem involving images, from the perspective of Plato and Aristotle on knowledge, which algorithm would they implement, justify your decision.
- Write a short essay based upon either the prosecution or defense of a trial of an Android who has passed the Turing test who is petitioning the court for human rights. What would be your case for or against using concepts in class such as Turing test, Chinese room, etc.?
Section 2
Section title:
Title 2
Topics covered in this section:
- Searching Algorithms
- Tree Searches and logic, including basics of PROLOG as a lanuage for answering such problems
- First and Second order logic
What forms of evaluation were used to test students’ performance in this section?
|a|c| & Yes/No
Development of individual parts of software product code & 1
Homework and group projects & 1
Midterm evaluation & 1
Testing (written or computer based) & 1
Reports & 0
Essays & 0
Oral polls & 0
Discussions & 1
Typical questions for ongoing performance evaluation within this section
- Apply Prolog to an example of a family tree
- Apply Prolog to an example of a logic problem
- Compare and Contrast between two different search algorithms shown in class and implement.
- Given an example data set which search would you use and why?
Typical questions for seminar classes (labs) within this section
- How does Prolog implement a tree?
- Does this program work - mark out any errors.
- What is the difference between a red and green cut?
- What is the result of this Query?
- What is the time complexity of this algorithm?
Test questions for final assessment in this section
- Here is an example family tree. Given a simple Prolog Query - what would be the result?
- Here is an example logic problem. Given a Prolog Query - what would be the result.
- Compare and Contrast two different search algorithms in terms of time and space complexity
- Given data of type X, what search algorithm should you use and why?
Section 3
Section title:
Topics in Evolutionary Algorithms
Topics covered in this section:
- Understanding of the four base Evolutionary Algorithms: GA, GP, ES, EP
- Application of one of these four.
- Analysis of the application of these four types to a number of problem instances.
- Application of the appropriate statistical models and scientific method (i.e. Hypothesis testing) to evaluate the EA.
What forms of evaluation were used to test students’ performance in this section?
|a|c| & Yes/No
Development of individual parts of software product code & 1
Homework and group projects & 1
Midterm evaluation & 0
Testing (written or computer based) & 1
Reports & 0
Essays & 0
Oral polls & 0
Discussions & 1
Typical questions for ongoing performance evaluation within this section
- Define a particular EA by its data structure
- Implement an EA, write a Report about the implementation with sufficient search of the parameter space justified by statistical evaluations
- Analysis of two EA types base upon their representation and variation operators and suitability to a problem space.
- Produce a new type of EA based upon the concepts seen in class and speculate as to its effectivenesss on a problem via hypothesis testing.
Typical questions for seminar classes (labs) within this section
- Labs within this section are primarily for supporting assistance with the above objectives, e.g. work periods with TA assistance.
Test questions for final assessment in this section
- Show an analysis on a problem instance as to which EA method you would use, justify your answer based on the representation of the problem data.
- Implement an EA for a problem, show statistical justification of your result.
- Produce a report about a new creation of an EA system with sufficient justification with hypothesis tests.