Revision 08b725ddf663bfec7a48d520be2e78d7e60ca7be (click the page title to view the current version)

Introduction

Changes from 08b725ddf663bfec7a48d520be2e78d7e60ca7be to current

---
title: Introduction
categories: session
---

# Materials
[Overview]() -> Introduction

**Note**
Because of the exceptionally small class, I will adapt even more to the class
than I usually do.  For this reason, there is no rigid schedule for the session.

# Agenda

1.  How do we organise the module?
    + Learning Outcomes
    + Assessment Criteria
    + How do you prefer to work with a taught module?
    + What is the most effective way to reach the learning outcomes?
2.  Problem solving
    + Three problem solving challenges for the module
        + Solving Engineering Problems
        + Learning as Problem Solving
        + Program Machines to Solve Problems
    + The role of modelling in problem solving
    + Agile Approaches
3.  Practical Exercise in [CodinGame](#codingame) (see below)
    + you should be able both to program and to explain the solution
    + use a formal model to explain the solution
4.  What is AI?

# Reading

In general, you are supposed to read through the reading material
and watch any videos assigned *before* class.  Since this is the first
class, it may not have been possible in this case, but please do it if
you can.

Generally, I will try to add a few focus points or questions for you
to keep in mind when reading.  They are not questions for which you can
expect to find a clear-cut answer in the text, but rather questions 
which require you to form your own answer by interpreting the text.

+ **Reading** Russel & Norvig, Chapter 1.
    + What is intelligence?
    + What is artificial intelligence?

## Other materials

+ [Short Video Introduction to AI](https://www.youtube.com/watch?v=61RbzGBpBIs)
+ [Longer Video Introduction](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-034-artificial-intelligence-fall-2010/lecture-videos/lecture-1-introduction-and-scope/) with Prof. Patrick H. Winston at MIT, 2010
    - it is particularly interesting to note his take on models and
      representation
+ Robin T. Bye (2018):
  [A Flipped Classroom Approach for Teaching a Master's Course on Artificial Intelligence](http://www.robinbye.com/files/publications/CCIS2017Bye.pdf)
+ See also the [Reading List]()
+ [Slides](http://www.hg.schaathun.net/talks/ai/intro.html) from 2022 
+ Lecture notes [Introductory Lecture]() from 2022

# Learning outcomes

After the completion of this workshop, students should

+ be familiar with the tools used, including
  the wiki, Blackboard, and CodinGame.
+ have an understanding of the flipped classroom and seminar approaches
  to teaching and learning, and be able to discuss pros and cons of 
  these approach.
+ be able to solve simple Easy puzzles on CodinGame that typically 
  involve the implementation of reflex agents (agents will be introduced 
  next week).
+ be aware of some of the ethical concerns about Artificial Intelligence.

# Briefing

+ [Slides](http://www.hg.schaathun.net/talks/ai/intro.html).
+ [Introductory Lecture]().

# Programming 
# Practical Exercise (CodinGame) {#codingame}

Today, we will work primarily on
[easy puzzles at CodinGame](https://www.codingame.com/training/easy).
This is to familiarise ourselves with CodinGame, and brush
dust of our programming skills.
You may use any programming language supported by CodinGame, but
I am best placed to help you with python.

## Problem-Solving on CodinGame.

You do not have to create a user account to use CodinGame, but
if you agree to their terms and conditions, you may.

The following puzzles are recommended.
I do not expect anyone to manage all six.  
Everbody should do the *Power of Thor*.  
If you think this is difficult, you start with *Onboarding*.
Otherwise, please hunt exercises which you find interesting.

1. [Onboarding](https://www.codingame.com/training/easy/onboarding)
    + Description: A tutorial mission for newcomers.
      Defend the planet with a big laser cannon from the
      invading insectoid alien ships
    + Topic: Finding a minimal value
1. [Power of Thor --- Episode 1](https://www.codingame.com/training/easy/power-of-thor-episode-1)
    + Description: Thor's hammer, Mjollnir has lost all of
      its powers\ldots Will you be able to guide Thor towards the light
      its powers...
       Will you be able to guide Thor towards the light
      of power to make the hammer whole again?
    + Topic: Condition statements (if-else)
1. [The Descent](https://www.codingame.com/ide/puzzle/the-descent)
    + Description: The enterprise is in danger:
      drawn towards the surface of an unknown planet, it is at risk of
      crashing against towering mountains.
      Help Kirk and Spock destroy the mountains... Save the enterprise!
    + Topic: Search in an array
1. [Mars Lander --- Episode 1](https://www.codingame.com/ide/puzzle/mars-lander-episode-1)
    + Description:
      You have been promoted to commander of the Mars Lander mission!
      The goal of the operation is to land an exploration rover on
      martian ground.
      Your superiors at NASA expect very much of you for this mission,
      and you'll have to prove that you have what it takes to become a
      great intersideral commander.
      You will have to land the space ship on mars,
      making sure that the landing is done smoothly.
    + Topic: Speed regulation
1. [Defibrillators](https://www.codingame.com/training/easy/defibrillators)
    + Description: Want to save lives? Good!
      So help us find the closest defibrillator from a given position
      in the city of Montpellier, France.
    + Topic: Distance calculation, big data
1. [Horse-racing Duals](https://www.codingame.com/training/easy/horse-racing-duals)
    + Description: To make a race between two horses interesting,
      you will to find the horses with the closest strength.
    + Topic: Sorting, finding a minimum

## Preparation

Later in the semester, we will have to test ourselves against problems
not available on CodinGame.  You need to make sure that you can use python
and git on your system.  

1.  Make sure you have a development environment (IDE or otherwise)
    for python on your system.
2.  You should install the numpy and matplotlib libraries.
    (Use pip or whatever your IDE suggests.)
2.  Make sure that you are able to clone repositories from github.
    + [AI](https://github.com/hgeorgsch/pai-exercises) 
    + [Genetic Algorithms](https://github.com/hgeorgsch/pygax) 
3.  Test that you are able to run my (some of) test code from the repoes 
    above.

The exact steps depends on your system and preferences.

# Heads up
# Debrief

## Modelling Thor's World

![A model of Thor's world](thormodel.png)

<details>
  <summary>What does the world look like?</summary>

+ Thor moves in a field.
+ We can use Carthesian Coordinates in 2D.
+ The field is a grid, using integer co-ordinates

</details>

<details>
  <summary>What can Thor do?</summary>

+ Thor has a location (coordinate) in the world.
+ He can move to change his location.
+ Given a current location and an action, what is Thor's next location?

</details>

<details>
  <summary>What is Thor's goal?</summary>

+ Thor needs to find his hammer.
+ The hammer has a location (coordinate) in the world.
+ Hence Thor needs to move to the (known) location of the hammer.

</details>

# Homework

1.  Read through the reading material for this class once more.
2.  Do the preparation for the next lecture, on [Rational Agents]().