I propose to consider the question, ‘Can machines think?’ This should begin with definitions of the meaning of the terms ‘machine’ and ‘think’. — A. Turing, Computing Machinery and Intelligence, 1950.

Work through the following materials for this unit.

  1. Chapters 1 & 2 — Unless otherwise stated, the readings are from Russell & Norvig, AIMA.

    1. Describe:
      • Russell & Norvig’s four-part definition of Artificial Intelligence (AI).
      • the Turing Test and the Turing machine
    2. When was the field of AI born and who were the founding researchers?
    3. Describe:
      1. Physical Symbol System hypothesis
      2. Expert Systems
      3. Symbolic vs. Logicist vs. Connectionist models
  2. Prerequisites

    1. Version Control Systems — In this course, you will use Git/GitHub to access the code materials and to submit your assignments.

      1. You can refresh your understanding of these tools using the following materials.
      2. CS 344 Course Code — Follow the instructions in this repo to get access to the course code and to configure your own solution repo.
      3. Google Form for GitHub names/IDs: If you don’t already have one, create a Github account, then add a repo named cs344 and submit your name/GitHubID using this form.
    2. Python — the course programming will generally be done in Python. The Linux partition on the lab machines is configured to support this course.

      1. Prerequisites and Prework — Be familiar with the Python features listed in the Google ML Crash Course’s sections titled “Basic” & “Intermediate” Python sections.
      2. PyCharm Professional — To work on your own machine, you will need to set up your own local Python virtual environment. We suggest using Intellij/PyCharm, but any virtual Python environment will work. To use PyCharm, follow this Configuring Virtualenv Environment tutorial. You will need to request a student license, which gives you access to the professional versions of all Intellij products. PyCharm supports Python/Venv, Git/GitHub, Jupyter notebooks, and machine learning tool integration.

You do not submit the answers to guide questions, but they may serve as the basis for class discussion or exam questions.

Normally, the readings are due by the beginning of the first day of each unit (see the policies page), but for this week, complete the guide sometime this week before the lab period.