Welcome to CSE 30124 Introduction to Artifical Intelligence, which (as the syllabus states) is a broad introduction to the field of artificial intelligence. We will begin the semester with a brief history of the field and review of relevant mathematical concepts that form the foundation of AI. As the semester continues we will dive into Machine and Deep Learning and then at the very end loop back around to where we started.

TL;DR

For this week, you should familiarize yourself with using [Slack], setup your [GitHub] assignments repository, decide how you will run the notebook software used in this course and then submit your first reading quiz.

Course Overview

Artificial Intelligence is an extremely broad field and while no doubt all of you will be familiar with some aspects of it, likely the GPT family, these tools are only a small subset of what the field encompasses as a whole.

We will begin the course at the top of the circle and work our way down. However at the end of the semester and the bottom of the circles we will find that we start to wrap back around again to the top.

Task 1: Slack

For communication outside of our meeting time, we will be using [Slack], specifically the #cse-30124-fa25 channel:

https://nd-cse.slack.com/messages/cse-30124-fa25

There is a class mailing list, but most day-to-day communication (including office hours and homework help) should take place on [Slack].

Be aware of the following:


Task 2: GitHub

All of your homeworks will be submitted to [GitHub] using git and may be done either with a partner or individually. Your third task is to setup your [GitHub] repository by doing the following:

  1. (Optional) Find a partner to work with.

  2. Sign-in or create a [GitHub] account if you do not already have one.

  3. Either:

    • Fork the class homework repository from the following template:

      https://classroom.github.com/a/4JvWlt8h

      This will create a private cse-30124-homeworks-$TEAMNAME repository under your own account and linked to the [nd-cse-30124-fa25] organization.

      Then invite your partner to join your repository by adding them as a collaborator.

    • Join your partner's repository.

  4. Once this is done, you can clone your git repository to your local machine (or the student machines):

    $ git clone git@github.com:nd-cse-30124-fa25/cse-30124-homeworks-$TEAMNAME
    

    Note, that [GitHub] has recently shutdown password authentication.

    To remotely access your repository from the command-line, you have two options:

    1. Setup a Personal Access Token: With this method, [GitHub] will generate an application specific password that you can use with HTTPS. As the PAT is a long string of characters, it is recommended that you use it in conjunction with a password manager or keyring.

    2. Setup SSH Keys: With this method, you generate a local public and private key pair on your computer and then upload the public key to [GitHub]. When accessing [GitHub] from the command-line, you will use the private key to authenticate to the server. This is the recommended way to setup your repository as it will allow for passwordless access.

    Setup SSH Keys

    Here is a quick tutorial on how to Setup SSH Keys on the student machines (if you have not already):

    1. Generate SSH keys if you don't have them yet:

      # Accept the defaults, don't make a password if you want to go passwordless
      $ ssh-keygen
      
    2. Copy the contents of ~/.ssh/id_rsa.pub to the SSH Keys section of your [GitHub] settings page:

      https://github.com/settings/keys

      # Copy and paste the contents of this file into GitHub
      $ cat ~/.ssh/id_rsa.pub
      
    3. Edit/create ~/.ssh/config to use this key with [GitHub]:

      # Add the following to your config (replace $NETID with your netid)
      $ $EDITOR ~/.ssh/config
      Host github.com
              User git
              Hostname github.com
              PreferredAuthentications publickey
              IdentityFile /escnfs/home/$NETID/.ssh/id_rsa
      

    Once this is done, you should be able to do git operations without a password. You will need to accept the host key the first time by typing in "yes".

    Note: Please update the README.md file to include your name and NetID so it is straightforward to identify your account.

GitHub Repository

You are responsible for ensuring that your [GitHub] assignments repository is in proper order, which means you have the correct settings and permissions set. Failure to properly configure your repository will adversely impact your grade.

Task 3: Notebooks

Please at least skim all four, but for the purposes of this course you just need to get one of the methods working to run your notebooks. Notebooks can be run locally through something like VSCode, and this is what I recommend and use. If you have other methods, please feel free to reach out to your me to discuss them.

Once you have read the above, run the following notebook using the method of your choosing:

DOWNLOAD NOTEBOOK

For your convenience the notebook is displayed below as HTML but you will likely find it easier to download the raw notebook file given above.

Task 4: Reading

Syllabus: CSE 30124 Introduction to Artificial Intelligence

Most weeks you will have a reading assignment followed by a brief quiz that will cover the two upcoming lectures. Each of the two will have a primary reading and then a link to a number of additional resources that I encourage you to explore if you're interested. Once completing the readings, use the google form to submit your answers to the quiz. Quizzes are due at 3:00 PM on the day of the first lecture for the topic.

Note: We will be a little lenient on this first reading quiz.

Note: Most of the readings are significantly more in depth than what you will need to answer the quizzes. It's completely fine if you skim portions (especially the ones full of equations (yuck)), these are merely meant to prepare you for the lectures so you at least have some familiarity with the material (and they allow me to shift some of the exam points to the quizzes, which are hopefully less stressful).

Search: Search Algorithms in AI (Uninformed Search Section) (Reading)

Additional Resources:

A* Search: Introduction to the A* Algorithm

Additional Resources:

Task 5: Quiz