Introduction to AI
This course introduces students to the central concepts of computer science and artificial intelligence. We will examine questions such as "What is a computer?", "What makes a function computable?", "What are algorithms and how do they differ from programs and heuristics?", "What does it mean to implement a program?". Students will learn, e.g., the difference between formal systems, finite state automata, and Turing machines. We will consider fundamental issues in AI such as how programs relate to the world, what makes a system intelligent, and whether computers can have minds. Students will also become acquainted with some narrower topics in AI such as knowledge representation, machine learning, artificial neural networks, natural language processing, and robotic perception. Finally, we will explore some of the ethical challenges that face AI such as whether intelligent artificial systems deserve rights, whether they should be relied upon to make life-or-death decisions, how use of these systems might (re)produce social injustice, and whether we should create such systems in the first place.
While the course will not require students to learn any particular programming language, they will have the option of submitting assignments in Python. The course will introduce all students to the basic features of such languages via the programming of Register Machines. Students will also learn a notation resembling a simplified programming language—what is known as pseudocode. Assignments will include program-design projects using pseudocode, position papers, and reading quizzes.
While the course will not require students to learn any particular programming language, they will have the option of submitting assignments in Python. The course will introduce all students to the basic features of such languages via the programming of Register Machines. Students will also learn a notation resembling a simplified programming language—what is known as pseudocode. Assignments will include program-design projects using pseudocode, position papers, and reading quizzes.