(CS 600.335 and 600.435)
NOTE: Page under construction and subject to considerable change!!
Instructor: Dr. John W. Sheppard
Class Time: Tuesday and Wednesday 7:35-8:50 am, Shaffer 303
Office Hours: Tuesday and Wednesday 8:50-9:30 am, Location TBD
Email at ARINC.
Phone: (410) 266-2099
FAX: (410) 573-3170
This course examines the concepts, techniques, applications, and theories of Artificial Intelligence. The focus of the course is on the theory and application of artificial intelligence. Topics include logic, search, and reasoning with an emphasis on fundamentals and recent advances in AI. Given the broad range of topics addressed by the AI field, topics for discussion must, necessarily, be limited. Therefore, this course will focus on issues of search, knowledge representation, reasoning, decision making, and learning from the perspective of an intelligent agent.
At the end of this course, the student will be able to:
- Formulate and assess problems in artificial intelligence.
- Assess the strengths and weaknesses of several methods for representing knowledge.
- Assess the strengths and weaknesses of several AI algorithms in areas such as heuristic search, game search, logical inference, statistical inference, decision theory, planning, machine learning, neural networks, and natural language processing.
- Implement software solutions to a wide-variety of problems generally considered to require artificial intelligence.
Grading will be based on several homework assignments and examinations. The homework assignments will focus on clarifying and implementing ideas presented in class or in the readings. The student may use any language and machine for satisfying the programming requirements. The student may be expected to write one or two short papers consisting of brief reviews and critiques of current research papers in the Artificial Intelligence field. The following weights will be assigned to each of the course requirements.
- Homework assignments (6): 60% (10% each)
- In-class examinations (2): 20% (10% each)
- Final (comprehensive) examination (1): 20%
- Artificial Intelligence: A Modern Approach, Stuart Russell & Peter Norvig, Prentice-Hall.
- ANSI Common Lisp, Paul Graham, Prentice-Hall (recommended, others will do as well).
Week 1: Introduction
- Textbook: R&N 1, 2, 3
- Tuesday: Intro to AI (Lecture Slides), Homework #1 assigned
- Wednesday: Agent-Based Systems (Lecture Slides)
Week 2: Search
- Textbook: R&N 4
- Tuesday: State-Space Search (Lecture Slides)
- Wednesday: Genetic Algorithms (Lecture Slides)
Week 3: Game Playing
- Textbook: R&N 5
- Tuesday: Game Theory (Lecture Slides), Homework #1 due, Homework #2 assigned
- Wednesday: Minimax/Alpha-Beta (Lecture Slides)
Week 4: Logic
- Textbook: R&N 6, 7, 9, 10
- Tuesday: Propositional Logic (Lecture Slides)
- Wednesday: First-Order Logic (Lecture Slides)
Week 5: Inference
- Textbook: R&N 14, 15
- Tuesday: Logical Inference (Lecture Slides)
- Wednesday: Examination #1
Week 6: Uncertainty
- Textbook: R&N 11, 12
- Tuesday: Bayesian Networks (Lecture Slides), Homework #2 due, Homework #3 assigned
- Wednesday: Other Uncertainty Formalisms (Lecture Slides)
Week 7: Planning
- Textbook: R&N 16, 17, 20
- Tuesday: Total Order Planning (Lecture Slides)
- Wednesday: Partial Order Planning (Lecture Slides)
Week 8: Decision Systems
- Textbook: R&N 18, 19
- Tuesday: Naive Bayes (Lecture Slides), Homework #3 due, Homework #4 assigned
- Wednesday: Markov Decision Processes (Lecture Slides)
Week 9: Reinforcement Learning
- Textbook: R&N 22, 23
- Tuesday: Table-Based Methods (Lecture Slides)
- Wednesday: Function Approximation Methods (Lecture Slides)
Week 10: Pattern Recognition
- Textbook: R&N 24
- Tuesday: Instance-Based Methods (Lecture Slides)
- Wednesday: Examination #2
Week 11: Pattern Recognition (continued)
- Textbook: R&N 26, 27
- Tuesday: Decision Trees (Lecture Slides), Homework #4 due, Homework #5 assigned
- Wednesday: Backpropagation (Lecture Slides)
Week 12: Natural Language Processing
- Textbook: R&N 26, 27
- Tuesday: Other Neural Networks (Lecture Slides)
- Wednesday: Basic Natural Language Processing (Lecture Slides)
Week 13: Perception
- Textbook: R&N 26, 27
- Tuesday: Natural Language Processing (continued) (Lecture Slides), Homework #5 due, Homework #6 assigned
- Wednesday: Computer Vision (Lecture Slides)
Week 14: Wrap-Up
- Textbook: R&N 26, 27
- Tuesday: Philosophy of AI (Lecture Slides)
- Wednesday: Review for Final (Lecture Slides), Homework #6 due
Policy on Personal Communications Devices
It is unfortunate, but the advances in personal communications technologies has also resulted in the need for a policy concerning the use of these devices. Since students receiving and/or responding to pages or cell phone calls creates a distraction to other students, no pagers or cell phones will be permitted to be brought into the classroom without prior authorization of the instructor.
Policy on Class Absences
A large amount of information will be covered in a relatively limited amount of time. In addition, a fairly large amount of work will be done by the student. Consequently, class attendance is required. If a student must miss class for any reason, he or she should notify the instructor as soon as the absence is known. In the event of emergency absences, the instructor reserves the right to request an excuse from some cognizant authority such as a supervisor or physician. Note that an inordinate amount of absenteeism may affect the student's final grade.
Policy on Assignments
This course has several assignments requiring outside work of the students. The assignments are critical for gaining understanding and experience using the materials presented in class. Due to the importance of these assignments, the following policy is set forth.
- All assignments will be completed by the individual student and will be the original work of that student.
- All assignments are due at the beginning of class on the dates indicated in the syllabus. No assignments will be accepted late without prior approval of the instructor. Note that this approval will not be easy to obtain, so don't try unless absolutely necessary. Unapproved late assignments will receive no credit. Approved late assignments may still receive a penalty, depending on the circumstances. It is the responsibility of the student to ensure that the instructor is kept informed of any problems related to turning in assignments on time. Only serious, uncontrollable circumstances (such as serious illness or family tragedy) will result in accepting late assignments without prior notification. In such cases, documentation of these circumstances must be provided.
- Attending class sessions is critical to a successful course. If an absence is anticipated, please notify the instructor beforehand by phone or email. Unexplained absences may adversely affect the final grade.
- All written assignments are expected to be typed or neatly printed. Avoid hand drawn figures if at all possible. If the assignments are not legible, they will be returned to the student with a grade of zero. Be sure each assignment includes name, affiliation, daytime phone number, and email address (if available).
- While the preferred programming language is LISP and a computer account is provided to all students, any language and any computer system can be used to complete the assignments unless otherwise specified in the assignment itself. Students are responsible for learning LISP on their own time.
- All programming assignments must include fully commented code and several sample runs to demonstrate proper functioning of the assigned program. It is the responsibility of the student to ensure that the code is readable and understandable. It is also the responsibility of the student to ensure that the output is understandable and accurately reflects the functioning of the program.
The world-wide web provides a resource for finding and using a tremendous amount of information in the computer science and engineering fields. As computer scientists, we are able to use the web to maximize our productivity in all aspects of our life, including home, work, and school, and in this class, all students are encouraged to use the web as an educational resource. Unfortunately, as with any resource, use of the web can be abused to the point where the educational experience is diminished. As an attempt to limit such abuse, the following policy on using the web in this class is set forth:
- Students are free to explore the web to visit sites related to topics discussed in this course insofar as such exploration identifies material that elucidates and expands on material related to or discussed in class.
- Students are not permitted to seek out solutions to any of the problems assigned unless the assignment specifically states that web use is permitted.
- On programming assignments, students may not download solutions from a web site implementing similar or equivalent programs. Further, students are discouraged from even examining such solutions. Turning in a program obtained from the web will result in no credit for that program. Further, turning in a program obtained from the web without attribution to the web source constitutes plagiarism and will result in failure of the course.
- On problem assignments, students may not download or examine solutions from a web site focusing on similar or equivalent problems. Turning in a solution from the web will result in no credit for that problem. Further, turning in a solution obtained from the web without attribution to the web source constitutes plagiarism and will result in failure of the course.
- On papers and similar expository assignments (e.g., research projects, critiques, evaluations), students are strongly encouraged to use the web to find related material to assist in completing their assignments. All information obtained from the web, as in any other source, must receive full attribution in the final paper. Failure to do so will result in failure of the assignment or the course (depending on the seriousness of the infraction).
- If there are any questions or even a hint of doubt concerning appropriate use of the web for completing class assignments, the student should consult the instructor for guidance.
JHU CS Home Page.
JHU Part Time Engineering Programs.
JHU Part Time Computer Science Program.