Academic Catalog

C S 11A: INTRODUCTION TO ARTIFICIAL INTELLIGENCE

Foothill College Course Outline of Record

Foothill College Course Outline of Record
Heading Value
Effective Term: Summer 2025
Units: 4.5
Hours: 4 lecture, 2 laboratory per week (72 total per quarter)
Prerequisite: C S 3A.
Advisory: MATH 10.
Degree & Credit Status: Degree-Applicable Credit Course
Foothill GE: Non-GE
Transferable: CSU/UC
Grade Type: Letter Grade (Request for Pass/No Pass)
Repeatability: Not Repeatable

Student Learning Outcomes

  • Explain the autonomous agent paradigm and how it differs from and is enhanced by related fields such as data science and machine learning
  • Use Python packages to develop and evaluate key AI models and algorithms
  • Discuss ethical considerations such as bias, privacy, and disinformation, and how AI can reduce or amplify these problems in society

Description

A survey of artificial intelligence (AI) and its application. Includes search algorithms, evolutionary algorithms, and machine learning. Explores issues of ethics and equity. Students will use Python and publicly available packages to develop and test AI models. Students will gain practical experience coding models, with less emphasis on math and theory.

Course Objectives

The student will be able to:

  1. Define the role and function of intelligent agents in artificial intelligence (AI)
  2. Describe search problems and identify several models used in search
  3. Describe game theory and identify several models used in adversarial search
  4. Discuss logic problems and explain the role of a logical agent in AI
  5. Identify probabilistic AI problems and choose an appropriate model
  6. Explain the role of natural language processing in communication and learning
  7. Identify machine learning algorithms as a subset of artificial intelligence
  8. Recognize AI as a tool that can reduce or amplify problems in society

Course Content

  1. Intelligent agents
    1. ​Environments
    2. Rationality
    3. Structure
  2. Search
    1. States
    2. Actions
    3. Transition
    4. ​Uninformed search
    5. Informed search
    6. Heuristic functions
    7. Search in complex environments
    8. Particle filter
    9. Genetic algorithms
    10. Swarming algorithms
  3. ​Adversarial search
    1. ​Game theory
    2. Minimax
    3. Monte Carlo tree search
    4. Stochastic games
  4. Logical agents
    1. Knowledge-based agents
    2. Propositional logic
    3. First-order logic
  5. Probabilistic reasoning
    1. Naïve Bayes models
    2. Bayesian networks
    3. Markov decision process
  6. Natural language processing
    1. Sentiment analysis
    2. Language models
    3. Grammar
    4. Parsing
  7. Machine learning
    1. ​Supervised learning
    2. Unsupervised learning
    3. Reinforcement learning
  8. Social considerations
    1. Historical and contemporary examples of racism and inequity in AI
    2. Safety
    3. Ethics
    4. Equity
    5. Diverse model training and testing

Lab Content

  1. Familiarity with package installation
    1. Installation
    2. Importing
    3. Documentation
  2. Develop at least one search application in Python from each of:
    1. Uninformed search
    2. Informed search
    3. Swarm intelligence or evolutionary algorithms
  3. Apply adversarial search to a game
  4. Demonstrate the application of logic to at least one problem, such as:
    1. Family tree
    2. Logic puzzle
    3. State based game (e.g., Wumpus)
  5. Apply probabilistic reasoning to solve a problem with incomplete information
  6. Use a Python package to demonstrate the application of NLP, for example:
    1. Sentiment analysis
    2. Sentence completion
    3. Language identification

Special Facilities and/or Equipment

1. The college will provide access to a computer laboratory with Python and an IDE installed, with sufficient privileges to allow students to install Python packages.
2. The college will provide a website or course management system with an assignment posting component (through which all lab assignments are to be submitted) and a forum component (where students can discuss course material and receive help from the instructor). This applies to all sections, including on-campus (i.e., face-to-face) offerings.
3. When taught online, the college will provide a fully functional and maintained course management system through which the instructor and students can interact.
4. When taught online, students must have currently existing email accounts and ongoing access to computers with internet capabilities.

Method(s) of Evaluation

Methods of Evaluation may include but are not limited to the following:

Tests and quizzes
Lab notebook
Written laboratory assignments which include source code, sample runs, and documentation
Reflective papers
Final examination or project

Method(s) of Instruction

Methods of Instruction may include but are not limited to the following:

Instructor-authored lectures which include mathematical foundations, theoretical motivation, and coding implementation of artificial intelligence models
Detailed review of assignments which includes model solutions and specific comments on the student submissions
Discussion which engages students and instructor in an ongoing dialog about artificial intelligence
Instructor-authored labs that rigorously demonstrate a student's ability to implement artificial intelligence models

Representative Text(s) and Other Materials

Russell, Stuart, and Peter Norvig. Artificial Intelligence: A Modern Approach, 4th ed.. 2022.

Hurbans, Rishal. Artificial Intelligence Algorithms. 2020.

Artasanchez, Alberto, and Prateek Joshi. Artificial Intelligence with Python, 2nd ed.. 2020.

Types and/or Examples of Required Reading, Writing, and Outside of Class Assignments

  1. Reading
    1. Textbook assigned reading averaging 30 pages per week
    2. Reading the supplied handouts and modules averaging 10 pages per week
    3. Reading online resources as directed by instructor though links pertinent to programming
    4. Reading library and reference material directed by instructor through course handouts
  2. Writing
    1. Writing technical prose documentation that supports and describes the programs that are submitted for grades

Discipline(s)

Computer Science