Skip to content

bvanelli/python-for-data-analysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python for Data Analysis

This teaching material has been developed for the course CES Python Programming - Fundamentals (2,5 ECTS) for the Hochschule Albstadt Sigmaringen.

Course in data science. Learn to analyze data of all types using the Python programming language. No programming experience is necessary.

Quick links:

Software covered:

  • Python 3
  • IPython environment and Jupyter notebooks

Course topics include:

  • Fundamentals of Python and its data types
  • Python programming logic, conditional, loops, functions, and Python objects
  • Data analysis packages Numpy and Pandas
  • Plotting packages like Matplotlib
  • Basic Statistics
  • Modules and classes
  • Git and GitHub
  • AI-assisted programming

Instructor

Organization of classes

There are a total of 15 double classes. Each of the double classes will consist of:

  • 45 minutes of topic introduction, with some live examples using Jupyter Notebooks.
  • 45 minutes of exercises, where questions can be asked for each of the topics.
  • One assignment for self-study.
  • Additional reading material for the class content (from the textbook, online resources, etc.)
  • For some classes one optional bonus assignment (if you want to learn things more in depth).

Useful links

Textbooks

Additional Materials

Command Line Resources

Python Resources

Data Analysis Resources

Developer resources

Course Philosophy

  1. You learn Python by doing, just like anything else. With a few exceptions, you're not going to break your computer by trying new commands. So try it and see what happens. Print output of commands. Print values of variables. Kick the thing until it works.
  2. Resist the urge to get frustrated and blame the computer when your code doesn't run. Computers are deterministic machines; it's almost always your fault. But that's OK! Your computer will give you error messages that describe what went wrong. Read them and try to understand them.
  3. When you don't know how to do something, google it. You'll be amazed by the solutions you'll find to do thing x if you google "python thing x". StackOverflow will often have high-quality answers to your problem.
  4. Resist the urge of using AI tools to do all the job or answer all your questions: doing so will often prevent you from learning from your mistakes. Remember that "the master has failed more times than the beginner has tried". There will be a class where you will learn how to use AI tools to help you in your programming.
  5. Learn keyboard shortcuts. Tab-complete in the shell and IPython/Jupyter!
  6. Remember Zed's sage wisdom:
    • Practice every day.
    • Don't overdo it. Slow and steady wins the race.
    • It's alright to be totally lost at first.
    • When you get stuck, get more information.
    • Try to solve it yourself first.

Assignments and Grading

Weekly Assignments

Weekly take-home assignments will take the course schedule, reinforcing skills with exercises to analyze and visualize scientific data. Assignments will be given out on Wednesdays and will be due the following Wednesday.

Final Project

TODO

Grading

The grade will be based on a final project that exercises the concepts learned in the class. The grading will be done for both the project delivery (notebooks, code, and datasets) and a presentation. Both the project and presentation will have the equal weight on the final grade.

Schedule Overview

The course consists of 15 lessons. As a class, it is taught as one double-class per week for 15 weeks, but the material can be covered at any pace. Each one of those classes will consist in a theory class, followed by a practical class where questions will be answered.

The classes will cover basic concepts in Python and will be taught using Jupyter Notebooks.

Lesson Schedule

Lessons' previews are available as .ipynb files by clicking on the lesson numbers below.

Lesson Title
1 Python, IPython, Packages, and Jupyter Notebooks
2 Printing, Strings, Numbers
3 Logic, Loops, Syntax, and datatypes
4 Taking Input, Reading and Writing Files, Functions
5 Numpy, Pandas and Matplotlib introduction
6 Pandas Part I: Basic operations
7 Pandas Part II: Data cleaning and wrangling
8 Plotting with Matplotlib
9 Pandas Part III: Group operations
10 Statistics Packages
11 Pandas Part III: Time Series
12 Modules and Classes
13 Concepts of clean coding
14 AI assisted development
15 Final assignment presentation

About

An introduction to data science using Python and Pandas with Jupyter notebooks.

Topics

Resources

License

Stars

Watchers

Forks