Document Type

Syllabus

Publication Date

Spring 2024

Course Description

The concept of artificial intelligence has been around since before computers even existed. The play R.U.R. by Czech playwright Karel Capek, written in 1920, described the advent of “Rossum’s Universal Robots,” and introduced the word robot to the world. Alan Turing wrote a “program” to play chess in 1948, in the very early years of the computer. Artificial intelligence has been a field of computer science since computer science has existed. The primary goal of this course is for students to learn the classic topics of artificial intelligence. These topics include search strategies (both uninformed and informed), genetic algorithms, classic game-playing strategies, and knowledge representation and logical theorem proving. In addition, we will learn some other areas of artificial intelligence, including computer vision and image processing, natural language processing, and some machine learning and neural networks. This course is not intended to teach a particular programming language; however, there will be several programming assignments. Students can choose any programming language to complete these assignments, within reason. There may be some class time spent teaching certain specialized and/or advanced programming techniques. However, this is an upper-level CSC class, so there is an expectation that students have appropriate programming ability.

Student Outcomes

Students who successfully complete this course will be able to do the following:

  • Execute uninformed and informed search algorithms on graphs, and implement those algorithms.
  • Understand the fundamental operations of genetic algorithms and implement them.
  • Execute game-playing algorithms, such as alpha-beta search, and implement them.
  • Know the basics of propositional logic and first-order logic, and be able to use those rules to solve logical problems and prove logical statements.
  • Know the terms and rules for the various algorithms of reinforcement learning, and be able to implement those algorithms.
  • Understand how to use decision trees and how to use the concept of information gain to construct optimal decision trees.
  • Understand the basic algorithms of computer vision and image processing, including filtering, edge detection and shape detection, and implement those algorithms.
  • Understand the basic idea of natural language processing, including parsing sentences and part-of-speech tagging.

Share

COinS