COSC-270: Artificial Intelligence

Fall 2017



Where, When, Who

Class Time: TR 9:30 AM–10:45 AM
Classroom: REI 264
Instructor: Mark Maloof
Office: 325 St. Mary's Hall
Office Hours: M 12:00–1:30 PM, R 2:30–4:00 PM (or by appointment).


Artificial Intelligence (AI) is the branch of computer science that studies how to program computers to reason, learn, perceive, and understand. The lecture portion of the class surveys basic and advanced concepts and techniques of artificial intelligence, including search, knowledge representation, automated reasoning, uncertain reasoning, and machine learning. Specific topics include symbolic computing, functional programming, the Lisp programming language, state-space search, game playing, theorem proving, rule-based systems, rule induction, Bayesian networks, probability estimation, and philosophical issues. Applications of artificial intelligence are also discussed in domains such as medicine and computer security. Students complete midterm and final exams, and five programming projects using the Lisp programming language.

Prerequisite: Data Structures (COSC-160).

Required Texts:

Learning Goals

By the end of the semester, students will be able to:

My course policies are designed to supplement the University's Undergraduate Honor System and the CS Department's Honor Policy. Unless stated otherwise when I distribute an assignment, the following is the default for all assignments for this course. I've developed my policies from past teaching experiences and from the CS Department's Honor Code at George Mason University.

I am obligated to refer all suspected cases of academic dishonesty by undergraduate students to Georgetown's Honor Council. If you have any questions about these policies or how they apply, please discuss such concerns with me during class, during office hours, or by e-mail.

In my experience, students at Georgetown do honest work. The small percentage of students who have submitted someone else's work as their own did so because they did not manage their time wisely.

Students must follow proper scholarly practice for all submitted work, whether graded or ungraded and whether a draft or final version of a proposal, paper, or program. We must acknowledge our reliance on the work of others through citation.

Students may be quite adept at and knowledgeable about citing and quoting material from traditional sources, such as books and articles. Typically, we do not have cite facts, common math formulae, or expressions of our own ideas, observations, interpretations, and analyses, However, students new to computer science may not realize that formulae, theorems, proofs, algorithms, and programs can require the same treatment as any other form of expression.

For convenience, you do not need to cite the course materials, conversations with me or information you obtain from class lectures and discussions. If you are unsure about what requires citation or what constitutes proper scholarly practice, please ask me during class, during office hours, or by e-mail.

I design my courses and assignments so students have what they need to complete the assignments individually without consulting outside resources. I determine the size of and credit for assignments based on the assumption that the work for them is the result of individual effort using only the course resources and materials. Students who use outside resources to complete assignments may not be eligible for full credit. Students who do not acknowledge their use of outside resources to complete assignments may be in violation of my course policies and the university's policies on academic integrity.

The following list details acceptable and unacceptable practices:

Policies dealing logistics:

Assignments and Grading

(defun grading (grade)
    ((>= grade 94) 'A)
    ((>= grade 90) 'A-)
    ((>= grade 87) 'B+)
    ((>= grade 84) 'B)
    ((>= grade 80) 'B-)
    ((>= grade 77) 'C+)
    ((>= grade 74) 'C)
    ((>= grade 70) 'C-)
    ((>= grade 67) 'D+)
    ((>= grade 64) 'D)
    (t 'F)))

Materials: Readings, Videos, and Links


Week Topics and Materials
1 Introduction: What is AI? Foundations, History, State of the Art (Russell and Norvig, 2010, Ch. 1)
2 Symbolic Programming and Lisp (Graham, 1995)
3 Symbolic Programming and Lisp (Graham, 1995)
4 Blind Search: Depth-First, Breadth-First (Russell and Norvig, 2010, § 3.1–3.5)
5 Informed Search: Hill-Climbing, Greedy Best-First (Russell and Norvig, 2010, § 4.1, 3.1–3.5)
6 Admissible Search: Uniform-Cost Search, A*; Adversarial Search (Russell and Norvig, 2010, § 3.1–3.5, 5.1–5.3)
7 Logic: Propositional, Resolution (Russell and Norvig, 2010, § 7.3–7.5)
8 Logic: Predicate, Unification, First-Order Resolution, Midterm Exam (Newell and Simon, 1976; Russell and Norvig, 2010, Ch. 9; Turing, 1950)
9 Uncertainty: Probability Review, Bayes' Rule (Russell and Norvig, 2010, Ch. 13)
10 Uncertainty: Bayesian Inference Networks (Russell and Norvig, 2010, § 14.1–14.3)
11 Learning: Supervised Learning, Decision Trees (Domingos, 2012; Russell and Norvig, 2010, § 18.1–18.4)
12 Learning: Evaluation, Ensemble Methods (Russell and Norvig, 2010, § 18.4 and 18.10)
13 Learning: Linear Machines, Support Vector Machines (Hearst, M.A., et al., 1998; Russell and Norvig, 2010, § 18.9)
14 Learning: Neural Networks, Back-propagation (Russell and Norvig, 2010, § 18.7)
15 Learning: Probabilistic Models, Naive Bayes (Russell and Norvig, 2010, § 20.1 and 20.2)
16 Philosophical Issues in AI (Russell and Norvig, 2010, Ch. 26; Searle, 1990)


Other Interesting Links