Paul Bodily About Courses Research Outreach Tips for Communicating Teaching Philosophy Vitae

CS 4499/5599: Artificial Intelligence

Lecture: T/Th 2:30-3:45pm, Rendezvous 108
Prerequisite: CS 3385
Required text: Artificial Intelligence: A Modern Approach (3rd Edition), by Stuart Russell and Peter Norvig
Moodle page: Moodle
Instructor: Paul Bodily (office hours and contact information)

Course Overview

Introduction to the philosophy, utility, and models of artificial intelligence, such that students are able to understand the basic concepts and issues of AI. Students will be prepared to use AI approaches in real world applications and/or to continue in a graduate research program. Topics covered include search strategies, constraint satisfaction problems, propositional logic, first-order logic, Bayesian networks, Markov decision processes, and natural language processing.


Final grade percentage will be computed as follows:

Type Number Percentage
Daily Quizzes 26 (Drop lowest 3) 15%
Projects 5 25%
Homework 10 (Drop lowest 1) 15%
Midterm 1 20%
Final 1 25%


Daily quizzes will occur at the beginning of class. I will drop the lowest 3 quizzes. The quizzes will be on the video lectures assigned for that day. You do not need to have a perfect understanding of everything, but you need to have a grasp of what is being talked about, why it is important, etc. Quizzes can only be taken in class and cannot be made up.


Parts of the course, particularly the latter half, will involve some math. To ensure that your math skills are adequate for the course, here is a self-diagnostic (solution).

Programming projects are done in Python and will be turned in using Moodle. The projects for this class assume you use Python 2.7. For each project you will be given some starting code with instructions on which files you must edit and submit. Every project's release includes its autograder for you to run yourself and which will also be used for grading technical correctness. All project specifications and details on what is expected in reports is found via project links under "Assignments" on the Schedule.

CS 5599 Requirements

Students taking the course for graduate credit have the added requirement of doing a research project. The goal of this project is to provide a structured opportunity for graduate students to incorporate AI techniques into a graduate-level research project at ISU. The project you choose may relate to your graduate research or that of another graduate student in the course. A project proposal will be due by Feb 26 at 11:00 pm. This should be sent via email to the instructor and should be roughly 2-3 pages (including references) outlining the background and proposed methods for the project.

A conference-style report for the project should include a related works section and compare the performance of the student's implemented model with that of other models designed to solve the same task. The report should be written in a standard academic publication format that is typical of the student's field of study.

CS 5599 students will give an oral presentation. Your report and oral presentation should answer the following questions:

  1. What problem do you want to solve?
  2. Who cares about this problem and why?
  3. What have others done to solve this problem and why is this inadequate?
  4. What is your proposed solution to this problem?
  5. How can you demonstrate that this is a good solution?


Submit the homework in PDF format through Moodle. You may submit it as a document, or as a scan of your handwritten version. It should be neat and legible. The homework is at 11 PM on the due date, and we will go over it together at the beginning of class. Watch the schedule closely as occasionally we adjust due dates based on how far we get in class. Homework submitted late will receive no credit. If you put in a good effort and do your best you will get most of the credit even if you make some small mistakes.


There will be one midterm and one final, both administered in the normal classrom. They will consist of written problems testing your understanding of the algorithms and concepts covered in class. If you put in the effort on watching lectures, homework, and programming projects, then the tests should go well for you. Practice exams will be provided to help you study for the midterm and final..

Final grade

Grades are assigned on the following absolute scale:

85.0 <= A
80.0 <= A- < 85.0
75.0 <= B+ < 80.0
70.0 <= B < 75.0
65.0 <= B- < 70.0
60.0 <= C+ < 65.0
55.0 <= C < 60.0
50.0 <= C- < 55.0
45.0 <= D+ < 50.0
40.0 <= D < 45.0
35.0 <= D- < 40.0
F < 35.0

Exceptions will be made at the sole discretion of the instructor. Scores and grades will be maintained on Moodle.

Incomplete Grade Policy

An incomplete grade is available when a student who is satisfactorily completing the course and who has completed approximately 70% or more of the course suddenly encounters an extenuating circumstance that prevents them from completing the course. The student must contact me to negotiate the requirements for completing the incomplete grade at the time that the extenuating circumstance arises (not at the end of the semester). For more information see


Pursuant to our goals as an institution of higher learning, Idaho State University expects all students and faculty to adhere to CDC guidelines. Please observe the current university COVID-19 requirements as indicated on ISU's Roaring Back page.

The University also strongly encourages all individuals to receive a COVID-19 vaccine. Students who are experiencing COVID-19-like illness should NOT come to class and should contact the COVID Health Committee at or (208) 282-2705. All confirmed cases of COVID-19 should be provided to the COVID Health Committee on the self-reporting form. All students are required to fully participate in the university’s contact tracing process and follow all instructions related to quarantine and isolation.

Questions and forum

Questions on how to do homework and projects should be asked using the class discord server (link available from Moodle) where other students can benefit from and possibly provide help on your questions in addition to help provided by the professor. Please see section below on "Academic integrity" for clarification on what types of help may or may not be appropriate. Score and grade questions should be addressed directly to the instructor via email.

Getting Help

TA information can be found atop the Moodle page for this course. A tutoring lab is also available for students enrolled in any CS course. Note that not all tutors may have taken the course you need help with, so you may need to try a few different tutors. The schedule and location is available here. Students can also get help from the professor outside of class as needed.

Free Access to Microsoft Office

Please be aware and take advantage of Microsoft Office software as needed to complete work for this course. Microsoft Office is a free program for those at Idaho State University, including different Microsoft Software. Find more information here.


Like it or not, much of your future success depends heavily on your skills as a communicator. Whether in project reports or service learning proposals, any work (including emails and forum posts) should exhibit a professional standard of writing. Like it or not, potential and actual employers will judge you based on your ability to communicate. I will happily give feedback on your writing, but it will be of greatest benefit to you if you are making your best effort. Points may be taken off for poor grammar, spelling, etc.

A free writing center is available on both the Pocatello and IF campuses that offers face-to-face, online chat, and online written feedback.

Late work policy

No late homework or projects are accepted. This means that if you turn an assignment in one minute after it's due you'll receive a zero. Daily quizzes and exams cannot be made up. Exceptions are on a case-by-case basis and are only granted for religious holy days (must have prior approval), documented illness, or documented emergencies.

It is in your best interest to submit whatever you can before deadlines. Probably the best way to make sure you are not unpleasantly surprised is to submit incrementally: submit what you have early, and then continue to improve your work and resubmit as you make improvements, up until the deadline.

Note that the schedule is carefully designed to give you plenty of time between when we discuss in class the concepts needed for a project and when it is due. Please start early and make use of that time to do a good job. If you do not get the entire project completed by the deadline, make sure you submit what you have.

In my experience, one key to success, in class, in our profession, and in life in general, is being organized and meeting deadlines. The no-late-work-policy is in large part to help you be successful and be able to continue progressing and focusing on new material. Please submit your work on time!

Letters of Recommendation

Not infrequently do students ask me to write them a letter of recommendation. I am generally very happy and willing to do so. I will paint you in the best light possible, but I will be honest and transparent. Make it easy for me to give you a good recommendation. I highly recommend that you attend class in person and that you participate regularly in class so that I can write a recommendation based on more than simply the grade you receive in the class. I suggest that whenever asking someone to write a letter of recommendation (including myself) that you ask specifically if they are willing and able to write a good recommendation.

Academic integrity

You may work together with other members of the class; in fact, you are strongly encouraged to do so; however, do NOT turn in other people's work. There is a fine line that may require some judgment on your part. Unless explicitly stated otherwise, all work is to be done individually. Helping each other through discussion is permitted. You may consult the internet for questions related to programming projects (not homeworks), but you may not copy code from the internet or any other source except for the course textbook. Projects may not be done in groups unless the instructor explicitly says otherwise. Homework may be discussed in groups, but students should be careful to develop individual mastery of the problems and solutions. Exams are closed book except for half page, single-sided of notes (i.e., half of 8.5" x 11").

Academic integrity is expected of all students. Academic dishonesty, including cheating or plagiarism, is unacceptable. The Idaho State University academic dishonesty policy allows an instructor to impose one of several penalties for cheating that range from a warning up to assigning a failing grade for the course or dismissal from the University. ANY use of an electronic device or other form of unauthorized materials during an exam or other assessment will be considered cheating. For more information, please see the ISU Policies and Procedures Policy 5000 (Student Conduct Code).

Some examples of dishonest behavior include, but are not limited to

  • Copying material from a source without attributing the source.
  • Allowing another student to copy your work and then submit it as his/her own.
  • Allowing someone else to complete your assignments for you and then passing off the work as your own.
  • Bringing unauthorized material or devices to an exam. Note that you do not have to be caught using them – just having them is an offense.
  • Copying from another student's exam.
  • Communicating with someone other than the professor during an exam.
  • Removing the exam from the classroom.
  • Acquiring exam or assignment answers or questions.
  • Taking an exam for someone else or having someone take an exam for you.
  • Finding and using another student's solution to a similar project.
  • Performing any act designed to give unfair advantage to a student or the attempt to commit such acts.

I prosecute cheating cases to the full extent. I have a general policy that I adhere to in isolated instances. When addressing academic dishonesty my policy is to submit a report to the registrar's office (two such reports across any courses at ISU can result in expulsion from the university). Besides this report, I give students two choices. The student can simply fail all assignments/exams where academic dishonesty was an issue and then continue to work through the course. The second option is to fail and repeat the course. Simply withdrawing after having been caught for academic dishonesty is not a viable option. If you choose to stay in the course, you will receive a 0 on all assignments where academic honesty was an issue (based on your integrity in letting me know or based on me finding evidence of dishonesty). I do not mean to sound gruff. I do not wish to discourage students from learning, growing, and moving on from such experiences. I will support students however they wish to proceed. Incidents with academic dishonesty do not change my eagerness to support your learning and your success.

ChatGPT Usage Policy for Programming Assistance

We recognize the potential of ChatGPT as a valuable resource to support your learning in programming courses. While ChatGPT can offer assistance and guidance, it is important to strike a balance between utilizing the tool and nurturing your independent problem-solving skills. As such, we encourage you to follow these guidelines:

  1. Understanding First: Always make a sincere effort to understand the problem and the underlying concepts before seeking help from ChatGPT. Engage with course materials, textbooks, and lectures to build a strong foundation. This will enhance your ability to discern relevant and accurate advice from ChatGPT's responses.
  2. Strategic Queries: When seeking help, frame your queries strategically. Instead of asking for direct solutions, ask for explanations, insights, or guidance on specific aspects of the problem. This will empower you to grasp the solution process while still requiring active problem-solving on your part.
  3. Incremental Assistance: Use ChatGPT to supplement your understanding rather than replace it. Seek assistance for specific stumbling blocks or clarifications. Avoid using it for complete problem-solving without attempting the problem yourself first. You should never be asking ChatGPT to generate code for you. It is appropriate to ask ChatGPT questions about language syntax, though you are expected to gain syntax mastery yourself.
  4. Iterative Learning: Challenge yourself to solve problems independently before consulting ChatGPT. Once you've made an attempt, feel free to consult the tool to validate your approach, identify potential errors, or refine your solution.
  5. Code Comprehension: While ChatGPT can help interpret code snippets and suggest improvements, rely on it to enhance your understanding rather than as a primary debugging tool. Debugging is a crucial skill that comes from analyzing errors and iteratively refining your code.
  6. Peer and Instructor Interaction: Prioritize interactions with peers and instructors for discussions and problem-solving. Collaborative learning fosters creativity, teamwork, and a deeper understanding of the material. Use ChatGPT as a supplementary resource to complement these interactions.
  7. Time Management: Be mindful of time management. Spending excessive time interacting with ChatGPT may hinder your progress and delay real learning. Strive for balance by allocating most of your time to active coding and problem-solving.

In essence, ChatGPT should be seen as a tool to enhance your learning journey, not a crutch that hampers your growth. By leveraging it thoughtfully and responsibly, you can maximize its benefits while developing the skills that will serve you well in your programming career.

CoSE X grade policy

In the College of Science & Engineering, a student who earns a failing grade via course work (exams, homework, etc.) and has unexcused absences that total more than 30% of class meetings will receive a grade of "X".

Classroom Etiquette

To facilitate a productive learning atmosphere, it is expected that students will be punctual, regularly attend class, maintain a positive attitude, use appropriate language, and show respectfulness to other students and the professor. Students are expected to come to class prepared, participate in activities and discussions, and treat others with respect in the classroom, which includes listening interactively to classmates and the professor, and respecting others’ viewpoints. Students should expect frequent and personal invitations to participate in course lectures.

Open laptops and phones are not allowed except for the purpose of taking notes. Please do not text, check social media sites, or eat meals during class.

Students are expected to arrive for class and be in their seats by the scheduled beginning of class. Repeatedly coming to class late disrupts the teaching/learning environment in the classroom and adversely affects the other students in the class.


Our program is committed to all students achieving their potential. If you have a disability or think you have a disability (physical, learning disability, hearing, vision, psychiatric) which may need a reasonable accommodation, please contact Disability Services located in the Rendezvous Complex, Room 125, 282-3599 as early as possible.

Personal Health and Well-Being

Success in this course depends heavily on your personal health and wellbeing. Recognize that stress is an expected part of the college experience, and it often can be compounded by unexpected setbacks or life changes outside the classroom. I encourage you to reframe challenges as an unavoidable pathway to success. Reflect on your role in taking care of yourself throughout the term, before the demands of exams and projects reach their peak. Please feel free to reach out to me about any difficulty you may be having that may impact your performance in this course. If you are experiencing stress in other areas of your campus life, I am happy to help you get in contact with other resources on campus that stand ready to assist you. In addition to your academic advisor, I strongly encourage you to contact the many other support services on campus that are available.

Counseling and Testing Service

ISU Counseling and Testing Services (CATS) would like to remind all students who are enrolled in the current semester (part-time or full-time) they are eligible for free, confidential counseling services. CATS offers individual, group, and couples counseling, as well as Biofeedback Training. We also offers crisis intervention services Monday through Friday from 8-5.

To establish services:

  • Pocatello: Call 208-282-2130, Monday – Friday from 8am – 4pm. Office is located at Graveley Hall, 3rd floor of the south side. Walk-ins are welcome Monday-Friday from 8am - 4pm.
  • Idaho Falls: Bennion Student Union, 2nd floor, Room 223. Please call 208-282-7750 to schedule an appointment.
  • Meridian: Counseling services are available to Meridian students through the ISU Counseling Department. Please call 208-373-1719 to schedule an appointment.
  • Out of State ISU Students: ISU Counseling and Testing Service has partnered with LifeWorks, Inc. to bring the MySSP tool to ISU students while they are physically out of the state of Idaho. Through MySSP, students can access health assessments, real-time chat support, and free counseling from licensed mental health professionals. Connect with My SSP by calling 1-866-743-7732 or visiting If calling from outside North America: 001.416.380.6578· Download "My SSP" from the app store to use on your phone.

Preventing & Responding to Sexual Misconduct

In accordance with Title IX of the Education Amendments of 1972, Idaho State University prohibits unlawful sex discrimination against any participant in its education programs or activities. The university also prohibits sexual harassment—including sexual violence—committed by or against students, university employees, and visitors to campus. As outlined in university policy, sexual harassment, dating violence, domestic violence, sexual assault, and stalking are considered forms of "Sexual Misconduct" prohibited by the university.

University policy requires all university employees in a teaching, managerial, or supervisory role to report all incidents of Sexual Misconduct that come to their attention in any way, including but not limited to face-to-face conversations, a written class assignment or paper, class discussion, email, text, or social media post. Incidents of Sexual Misconduct should be reported to the Title IX Coordinator (visit for contact and other information).

Academic Freedom and Responsibility

In carrying out its educational mission, Idaho State University is committed to adhering to the values articulated in Idaho State Board of Education Policy III.B. Membership in the academic community imposes on administrators, faculty members, other institutional employees, and students an obligation to respect the dignity of others, to acknowledge the right of others to express differing opinions, and to foster and defend intellectual honesty, freedom of inquiry and instruction, and free expression on and off the campus of an institution.