ECE 4524 Artificial Intelligence and Engineering Applications | ECE | Virginia Tech

Undergraduate PROGRAMS

Course Information


Problem solving methods; problem spaces; search techniques; knowledge representation; programming languages for AI; games; predicate logic; knowledge-based systems; machine learning; planning techniques; reactive systems; artifical neural networks; natural language understanding; computer vision; robotics.

Why take this course?

Computational systems are very good at repetitive tasks that are completely specified in advance. They do not perform so well at tasks that are poorly specified. The course presents Artificial Intelligence as providing the potential for making computers more useful, motivated in part by biological systems. Engineering applications are used to illustrate the concepts.

Learning Objectives

  • Formulate problems that involve knowledge representation and state-space search
  • Demonstrate proficiency with an AI programming language
  • Develop and analyze software that performs heuristic search
  • Develop and analyze software for game-playing using adversarial search
  • Use predicate logic to represent facts and perform resolution theorem proving
  • Develop algorithms and software for action planning, machine learning, natural language processing, and computer vision in constrained problem domains
  • Develop and analyze a knowledge-based ("expert") system
  • Describe the operation and limitations of common artificial neural network systems

Course Topics


Percentage of Course

What is artificial intelligence? 5%
Languages for Artificial Intelligence programming: Lisp, Prolog 10%
Problems and Problem Spaces 5%
Basic Problem Solving Methods and Heuristic Search 10%
Games 10%
Predicate Logic and Theorem Proving 10%
Knowledge Representation 5%
Knowledge-based (Expert) Systems 10%
Machine Learning 10%
Natural Language Understanding 10%
Computer Vision and Scene Analysis 5%
Planning Methods and Reactive Systems 10%