.. Geo-Python-2017 documentation master file, created by sphinx-quickstart on Mon Feb 20 15:58:24 2017. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. .. figure:: img/banner/GeoPython_banner.png Welcome to Geo-Python 2017! ================================================ **Geo-Python** -course teaches you the basic concepts of programming using Python programming language that is easy to learn and understand (no previous programming experience required). Each lesson is a tutorial with specific topic(s) where the aim is to gain skills and understanding how to solve common data-related tasks using Python programming (see schedule & learning goals). Course format ------------- The majority of this course will be spent in front of a computer learning to program in the Python language and working on exercises. During Teaching Period I, the `Automating GIS processes `_ and `Introduction to Quantitative Geology `_ courses will meet together and focus on learning the basic concepts of programming using Python programming language. The computer exercises will focus on developing basic programming skills using the Python language and applying those skills to various problems. Typical exercises will involve a brief introduction followed by topical computer-based tasks. At the end of the exercises, you may be asked to submit answers to relevant questions, some related plots, and/or Python codes you have written or used. You are encouraged to discuss and work together with other students on the laboratory exercises, however the laboratory summary write-ups that you submit must be completed individually and must clearly reflect your own work. Schedule -------- The materials are divided into weekly themes that are published at these pages every Wednesday morning. Lessons are held with following schedule (see :doc:`here for further details about schedule and lecture rooms `). The **learning goals** for each lesson are separately documented :doc:`in here `. +----------------+---------------------------------+ | Time | Theme | +================+=================================+ | **Class 1** | Basic concepts of Python and | | 6.9.2017 | computer programs | | | | | | | +----------------+---------------------------------+ | **Class 2** | Diving into Python | | 13.9.2017 | | | | | | | | +----------------+---------------------------------+ | **Class 3** | Repeating tasks and making | | 20.9.2017 | decisions | | | | | | | +----------------+---------------------------------+ | **Class 4** | Creating and using functions | | 27.9.2017 | | | | | +----------------+---------------------------------+ | **Class 5** | Data analysis with Pandas | | 4.10.2017 | Part I | | | | +----------------+---------------------------------+ | **Class 6** | Data analysis with Pandas | | 11.10.2017 | Part II + Dealing with errors | | | | +----------------+---------------------------------+ | **Class 7** | Basics of data visualization | | 18.10.2017 | | | | | +----------------+---------------------------------+ | .. admonition:: Open Access! The course is **open for everyone**. The aim of this course is to share the knowledge and help people to get started with their journey for doing science more efficiently and in a reproducible manner using Python programming. .. admonition:: Step by step instructions with cloud computing! The materials are written in a way that you can follow them step by step exactly as they are written, as long as you use the cloud computing resources that we provide for you (unfortunately **for Uni. Helsinki people** only). Read more about our cloud computing environment from :doc:`here `. If you work from your own computer, **you need to adjust the file paths to the data** accordingly. .. admonition:: For teachers If you would like to use these materials for your own teaching or develop them further, we highly support that. Please read more about how to do it from :doc:`our licensing terms`. .. toctree:: :maxdepth: 2 :caption: Course information course-info/course-info course-info/learning-goals course-info/grading course-info/installing-anacondas course-info/python-vocabulary course-info/resources course-info/licensing .. toctree:: :maxdepth: 2 :caption: Lesson 1 lessons/L1/motivation lessons/L1/overview lessons/L1/lesson-video lessons/L1/course-environment-components lessons/L1/intro-to-cloud-environment lessons/L1/slack-usage lessons/L1/A-taste-of-Python lessons/L1/exercise-1 .. toctree:: :maxdepth: 2 :caption: Lesson 2 lessons/L2/overview lessons/L2/lesson-video lessons/L2/intro-to-GitHub lessons/L2/GitHub-classroom lessons/L2/working-on-assignment lessons/L2/python-basic-elements lessons/L2/writing-scripts lessons/L2/ex-2 lessons/L2/exercise-2-hints .. toctree:: :maxdepth: 2 :caption: Lesson 3 lessons/L3/overview lessons/L3/lesson-video lessons/L3/for-loops lessons/L3/conditional-statements lessons/L3/ex-3 lessons/L3/exercise-3-hints .. toctree:: :maxdepth: 2 :caption: Lesson 4 lessons/L4/overview lessons/L4/lesson-video lessons/L4/functions lessons/L4/modules lessons/L4/ex-4 lessons/L4/exercise-4-hints .. toctree:: :maxdepth: 2 :caption: Lesson 5 lessons/L5/overview lessons/L5/lesson-video lessons/L5/pandas-overview lessons/L5/pandas-basics lessons/L5/pandas-basic-operations lessons/L5/ex-5 lessons/L5/exercise-5-hints .. toctree:: :maxdepth: 2 :caption: Lesson 6 lessons/L6/overview lessons/L6/lesson-video lessons/L6/pandas-analysis lessons/L6/interpreting-errors lessons/L6/debugging-scripts lessons/L6/ex-6 lessons/L6/exercise-6-hints .. toctree:: :maxdepth: 2 :caption: Lesson 7 lessons/L7/overview lessons/L7/lesson-video lessons/L7/python-plotting lessons/L7/plot-anatomy lessons/L7/matplotlib lessons/L7/using-plotly lessons/L7/pandas-plotting lessons/L7/ex-7 lessons/L7/exercise-7-hints