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