An introduction to the design, analysis, implementation, and application of classical and contemporary algorithms in artificial intelligence. Topics include theorem-proving systems, heuristic search, alpha-beta search, metaheuristic optimization, neural networks, and machine learning. Student implement each algorithm, conduct experiments employing their implementation, and write an analysis of the results.
Upon completing this course, our goal is for you to be able to:
- Create software that solves problems…
- …in three major application areas of Artificial Intelligence:
- Action selection
- Natural language understanding
- Computer vision
- …by implementing Artificial Intelligence algorithms from two major categories:
- Systematic search
- Machine learning
- Appropriately apply supervised learning, reinforcement learning, and unsupervised learning
- Employ scientific experiments to analyze the performance of an intelligent system
- Write clear technical prose describing an AI algorithm, its parameters and context, and its utility in an application domain.
Date |
Day |
Topic/Activity |
Assigned |
Due |
8/22 |
Tue |
Large Language Models on the Web |
Survey Project 0: Fun with LLMs |
|
8/24 |
Thr |
Presentations Markov Chains |
Project 1: Language Recognition |
Survey Project 0 |
8/29 |
Tue |
Hidden Markov Models |
|
|
8/31 |
Thr |
Q-Learning |
Project 2: Learning to Vacuum |
Project 1 |
9/5 |
Tue |
Q-Learning |
|
|
9/7 |
Thr |
Heuristic Search |
Project 3: Planning in Mazes |
Project 2 |
9/12 |
Tue |
Heuristic Search |
|
|
9/14 |
Thr |
Adversarial Search |
Project 4: Checkers |
Project 3 |
9/19 |
Tue |
Adversarial Search |
|
|
9/21 |
Thr |
Planning |
Project 5: Coordinating Factory Robots |
Project 4 |
9/26 |
Tue |
Planning |
|
|
9/28 |
Thr |
Philosophy and AI I |
|
Project 5 |
10/3 |
Tue |
Essay 1 |
|
|
10/5 |
Thr |
Instance-based learning: kNN and SOM |
Project 6: Handwriting/Sentiment I |
|
10/10 |
Tue |
Naive Bayesian Classifier |
|
Essay 1 Revised |
10/12 |
Thr |
Fall Break - No Class |
|
|
10/17 |
Tue |
Supervised/Unsupervised Learning AI/music |
|
|
10/19 |
Thr |
Decision Trees/Forests |
Project 7: Handwriting/Sentiment II |
Project 6 |
10/24 |
Tue |
Decision Trees/Forests Philosophy and AI II |
|
|
10/26 |
Thr |
Essay 2 |
|
|
10/31 |
Tue |
Neural Networks AI in Python |
Project 8: Handwriting/Sentiment III |
Project 7 |
11/2 |
Thr |
Neural Networks |
|
Essay 2 Revised |
11/7 |
Tue |
Neural Networks Final Projects |
|
|
11/9 |
Thr |
Transformers HuggingFace |
Project 9: Transformers |
Project 8 |
11/14 |
Tue |
Transformers Philosophy and AI III |
|
Final Project Proposal |
11/16 |
Thr |
Essay 3 |
|
|
11/21 |
Tue |
Final Project Progress Reports |
|
|
11/23 |
Thr |
Thanksgiving - No Class |
|
|
11/28 |
Tue |
Philosophy and AI IV |
|
Project 9 |
11/30 |
Thr |
Discussion and Review |
|
Essay 3 Revised |
12/5 |
Tue 8:30 am |
Final Project Presentations |
|
Final Project |
A total of 9 projects will be assigned throughout the semester; approximately one project
every 1-2 weeks. Each project will have three levels to which it can be completed, with each
level building upon the previous level. In general:
- A Level 1 project contains a basic implementation of the core ideas explored in the project.
- A Level 2 project is a more complete implementation of those ideas, including results and analysis of experiments.
- A Level 3 project goes beyond this to undertake a deeper exploration of the assignment ideas.
Each project will be evaluated via specifications (a set of criteria) for each level. Projects meeting all the criteria for a given
level will receive credit for that level; projects that do not meet all the criteria will not receive credit for that level.
Each student should have a GitHub account. The Java projects (1, 2, 3, 4, 6, 7) will all be based
on a single GitHub code skeleton repository. Each student should clone the
repository privately and add Dr. Ferrer as a contributor to the project. When the project
is due, he will download the repository onto his own machine for grading.
Projects 5, 8, and 9 will use the Kaggle machine learning cloud platform. Each project will have
a Kaggle skeleton, which the student should copy and modify. The student should then add
Dr. Ferrer as a collaborator.
Students are welcome to undertake projects individually or with one other student in the course. If two students
work together, they should create a single submission.
Discussion of the projects is encouraged.
However, all code and solutions must be written up individually or in a collaborating pair. Copying a submission
from another student or team, in whole or in part, will be considered an academic integrity violation.
Insightful discussion with others must be cited in your solutions.
You will not lose credit for such citations.
Each project involves each of the following:
- Programming Assignment: Implement an AI algorithm for a specified task.
- Experimentation: Run a series of experiments with your implemented algorithm.
- Paper: Write a paper (submitted in PDF format) describing the results of your experiments.
The goal of the final project is for you to learn about an aspect of artificial
intelligence in greater depth than we have studied during this course. You may choose to write an expository paper, a
computer program, or extend a previous assignment. Each student will give an oral presentation about their final
project in the final exam period.
There will be three in-class essays assigned over the course of the semester:
- Each essay topic will be presented at the start of the class period
- A hand-written essay in response to the topic must be submitted by the end of the class period
- Essay topics will involve the application of one or more AI concepts studied in the course to a concrete scenario
Essays will be assessed according to the following criteria:
- The essay properly addresses the topic
- The essay demonstrates a thorough understanding of the AI concepts discussed
- The essay is organized and coherent
- A clear thesis statement is developed well and supported
- The essay is largely free of spelling and grammatical errors
- The essay employs appropriate words and sentence structure for the topic
It is expected that every essay will fall short in at least some of the above criteria. Each essay will receive
feedback as to how it should be improved with regard to these criteria. Once the feedback is received, each
student will be expected to submit a (typed) revision of the essay. The revision is an integral part of the assignment,
so no tokens will be charged for submitting it. This revision will be assessed as follows:
- Level 1
- Typed
- Free of egregious spelling and grammatical errors
- Addresses the topic
- Level 2
- Revisions demonstrate a good-faith response to all instructor feedback
- Level 3
- Final essay demonstrates a deep understanding of the AI concepts discussed
Assistance from peers or the writing center in improving the writing quality of the revised essay is welcome and encouraged.
All final text composed and submitted must be authored by the student. Any plagiarism will be considered an academic integrity violation.
- Each student starts the semester with six tokens.
- Send Dr. Ferrer a message on Teams to spend a token.
- Students may spend tokens as follows:
- Spend one token to submit a revised version of an assignment in the event the submission receives a Level 1 or Level 2 assessment.
- Spend two tokens to receive an extension to an assignment deadline.
- When requesting an extension, specify the new deadline that you think will suffice.
- Most deadline requests will be approved, but the instructor reserves the right to limit extensions if he deems them unreasonable.
- Spend three tokens to submit an assignment after its deadline.
- Spend eight tokens to make up a missed exam.
- Students may earn additional tokens as follows:
- Scheduling and attending an office hours meeting with Dr. Ferrer earns one additional token.
- Creating some sort of educational material for the course earns four tokens.
- Examples of the sorts of things you might create include (but are not limited to):
- A video or animation explaining a concept from the course
- A document with explanation or examples of concepts from the course
- To earn a token the educational material must, in my judgment, be potentially helpful to other Artificial Intelligence students, present or future. If your educational material does not meet this criterion, I will work with you to revise it until it does.
- With your permission, and appropriate attribution, materials you create will be posted to the course website.
- Note: All late submissions/revisions must be received before 5 pm on Tuesday,
December 12, the last day of the semester.
- To earn an A in the course, a student will:
- Submit a response to the course survey
- Earn at least Level 2 credit on all essays and the final project
- Earn Level 3 credit on:
- At least two essays, or
- One essay and the final project
- Earn at least 31 total credits across all assignments, including the essays and final project
- Earn at least Level 2 credit on all regular course projects
- To earn a B in the course, a student will:
- Submit a response to the course survey
- Earn at least Level 2 credit on all essays and the final project
- Earn at least 25 total credits across all assignments, including the essays and final project
- Earn at least Level 1 credit on at least eight of the regular course projects
- To earn a C in the course, a student will:
- Submit a response to the course survey
- Out of the three essays and the final project, earn at least three Level 2 credits and one Level 1 credit
- Earn at least 19 total credits across all assignments, including the essays and final project
- To earn a D in the course, a student will:
- Submit a response to the course survey
- Out of the three essays and the final project, earn at least three Level 1 credits
- Earn at least 13 total credits across all assignments, including the essays and final project
Commitments
It is my ultimate goal for this course, and my teaching, to
develop your academic skills, advance your learning
of computer science concepts, and support the liberal arts in general. To do so
will require commitments from myself and from you toward meeting this goal.
Active Participation
I will be prepared and on time for class each day, ready to use class time
to help you understand the course material. I will respectfully listen to,
understand, and answer questions asked in class.
You are expected to attend class and actively participate in discussions every day,
answering questions, asking questions, presenting material, etc. Your
participation will be respectful of your classmates, both of their
opinions and of their current point in their educational journey, as we
each approach the material with different backgrounds and contexts.
Constructive Feedback
I will keep office hours and be available for outside appointments, and respond
to emails within one business day (not including weekends).
I will provide feedback on group presentations within one day. For exams, projects,
and homeworks, I will provide graded feedback within two weeks.
You are encouraged to provide constructive comments for improving this
course for furthering your learning throughout the semester.
There will be an opportunity for
anonymous course feedback
at the end of the term, in which I hope you all participate. Through your
feedback I can improve this course and others for future students.
Academic Integrity
I will abide by the above syllabus and grade your work fairly.
As stated in the Hendrix Academic
Integrity Policy, all students have agreed to adhere to the following principles:
- All students have an equal right to their opinions and to receive constructive criticism.
- Students should positively engage the course material and encourage their classmates to do the same.
- No students should gain an unfair advantage or violate their peers' commitment to honest work and genuine effort. It follows that any work that a student submits for class will be that student's own work. The amount of cooperation undertaken with other students, the consistency and accuracy of work, and the test-taking procedure should adhere to those guidelines that the instructor provides.
- Members of the Hendrix community value and uphold academic integrity because we recognize that scholarly pursuits are aimed at increasing the shared body of knowledge and that the full disclosure of sources is the most effective way to ensure accountability to both ourselves and our colleagues.
More details of our departmental stance on integrity can be found in the
Hendrix
Computer Science Academic Integrity Policy
Learning Accomodation
I will make this classroom an open and inclusive environment,
accommodating many different learning styles and perspectives.
Any student
seeking accommodation in relation to a recognized disability should inform me
at the beginning of the course.
It is the policy of Hendrix College to accommodate students with disabilities, pursuant
to federal and state law. Students should contact Julie Brown in the
Office of Academic
Success (505.2954; brownj@hendrix.edu) to begin the accommodation process.
Physical and Mental Health
I am willing to work with you individually when life goes off the rails.
Coursework and college in general can become stressful and overwhelming, and
your wellness can be impacted when you least expect it. You should
participate in self-care and preventative measures, and be willing to
find support when you need it.
- The Office of Counseling Services
welcomes all students to see a counselor
in a private and safe environment regardless of their reasons for making an
appointment. Counseling services are available to all Hendrix students
at no cost.
- Student Health Services
provides free healthcare to Hendrix students. Services are provided by an
Advanced Practice Registered Nurse (APRN) in collaboration with a local physician.
The Offices of Counseling Services and Student Health Services are located in the white house
behind the Mills Center for Social Sciences at
1541 Washington Avenue.