{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "[![MLR](mlr3.png)](https://ipvs.informatik.uni-stuttgart.de/mlr/marc/teaching/14-ArtificialIntelligence/)\n", "\n", "# AI Class: Programming Introduction\n", "[AI Class Homepage](https://ipvs.informatik.uni-stuttgart.de/mlr/marc/teaching/15-ArtificialIntelligence/)\n", "\n", "**http://goo.gl/V1bkCE** <-- this document (non-interactive version)\n", "\n", "Outline:\n", "- [00: Intro](./00_Intro.ipynb) <-- this document\n", "- [01: Python](./01_Python.ipynb)\n", "- [02: Git](./02_git.ipynb)\n", "\n", "For interactive version:\n", "1. Download jupyter, (with git bash), if you are using anaconda you may skip this step: `$ pip install jupyter`\n", "- Clone the github repo [ai_class_python_intro](https://github.com/sotte/ai_class_python_intro.git): `$ git clone https://github.com/sotte/ai_class_python_intro.git`\n", "- Start the interactive version: `$ ipython notebook`" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Orga\n", "- *TODO:* Setup up Groups?\n", "- *TODO:* Explain the [exercises](https://sully.informatik.uni-stuttgart.de/gitlab/ai_lecture/group_0)? \n", " - Coding-Exercises\n", " - focus on the programming aspect\n", " - Teams of 3\n", " - turned in using gitlab\n", " - Votier-Exercises\n", " - focus on more theoretical aspect\n", " - in the beginning of each tutorial mark the exercises you have done\n", " - students will be randomly selected to present thier result, if they have mark the exercise\n", " - Mandatory requirements\n", " - 50% of all point for Coding-Exercises\n", " - 50% of all Votier-Exercises\n", "\n", "## Learning Goals for this Lecture\n", "You should be able to complete the AI exercises (from a programming language point of view).\n", "\n", "1. \"Understand basic Python\"\n", "- Be familiar with Python's Unittests and Doctests\n", "- Git pull/push your execises and solutions\n", "\n", "There are small programming exercises to give you feedback! Try them!\n", "\n", "\n", "## Survey\n", "TODO: do a quick survey about python and git experiences\n", "\n", "- X% have no experimence\n", "- X% have some experimence\n", "- the rest uses python/git regularly" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Topics Outline\n", "## Python Topics\n", "- General Intro\n", " - INDENTATION!\n", " - Duck Typing\n", " - Interactive and REPL\n", " - help() and ?\n", " - type() and dir()\n", "- Control\n", " - if, while, for\n", "- Datastructures\n", " - list, dict, tuple, set,\n", " - list comprehensions\n", "\n", "\n", "- Functions and Classes\n", "\n", "- Unittests and Doctests\n", "\n", "- PyCharm, IPython notebook, libs: numpy and matplotlib\n", "\n", "\n", "## Git Topics\n", "- clone, pull, push, add, commit" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "# Exercises\n", "The exercises in this tutorial are voluntary but will improve your python and git foo.\n", "\n", "Do the exercises from the python lecture.\n", "\n", "Follow the [git tutorial](https://try.github.io/levels/1/challenges/1).\n", "\n", "\n", "# References\n", "**Python:**\n", "- https://scipy-lectures.github.io/index.html\n", "- http://learnxinyminutes.com/docs/python/\n", "- https://docs.python.org/2/tutorial/\n", "- http://learnpythonthehardway.org/\n", "\n", "**Git:**\n", "- https://try.github.io/levels/1/challenges/1\n", "- http://rogerdudler.github.io/git-guide/index.de.html\n", "- http://git-scm.com/book\n", "- [Windows git GUI](http://www.sourcetreeapp.com/)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.8" } }, "nbformat": 4, "nbformat_minor": 0 }