Skip to content

Latest commit

 

History

History
53 lines (37 loc) · 3.75 KB

README.md

File metadata and controls

53 lines (37 loc) · 3.75 KB

CS 5/7320 Artificial Intelligence

Assignments and examples for the course in CS 5/7320 Artificial Intelligence taught at the Computer Science Department at SMU by Michael Hahsler. Slides and more for students taking the course can be found on Canvas.

The code examples follow the textbook Artificial Intelligence: A Modern Approach by Russel and Norvig. The code in this repository is intended to be simple to focus more on the basic AI concepts and less on the use of advanced implementation techniques (e.g., object-oriented design). More complex code examples accompanying the textbook can be found at the GitHub repository aimacode.

Covered Chapters

Installing Python and Jupyter Notebook

To install Python and Jupyter Notebook on your system, you can

  • (prefered solution) install Docker and execute docker run -p 8888:8888 jupyter/datascience-notebook to download and create a running container of the jupyter/datascience-notebook image. From now on, use docker ps -a to list containers and their container id, docker stop <container id> and docker start <container id> to stop and start the container (do not use run again because it will create a new container), or
  • install Python, Jupyter Notebook and the needed packages (e.g., via Anaconda), or
  • use a service like the Google Colab environment (there are some limitations and you will have to copy some needed files to Google Drive).

Learning Python and Jupyer Notebook

If you are not familiar with Python then you should work through a tutorial like this to learn the basics about Python and the packages numpy and pandas. Another good source to learn Python are the notebooks intro to Python and intro to numpy and pandas by Eric Larson. Some code examples that help with the assignments are available here.

How to use Jupyter Notebook is covered in many online tutorials like the Jupyer Notebook tutorial.

Working on Assignments

You can fork this repository to work on your solutions locally. Submit a pdf of the compiled notebook (either export the notebook as pdf or print to pdf). The notebook needs to be a complete project report with documentation (including your design choices), code and results (e.g., tables with simulation results) with a short discussion of what they mean. Use the provided notebook cells and insert additional code and markdown cells as needed.

License

All code and documents in this repository is provided under Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) License

CC BY-SA 4.0