I did Python data analysis training remotely

Overview

We conducted python training in April 2020 as an in-house training for new graduates, so we have summarized the various things we considered in doing so. I hope it helps people who are trying to do the same thing.

If you are also interested in the previous Training on data analysis using Python, please do.

Outline of study session

participant

For our new employees. The literary and programming experience is different.

About the goal

The purpose of the training is to be able to perform data analysis tasks using Python. However, this is like an effort goal, so I set action goals and achievement goals in order to embody what I should do a little more.

The action goal was "Understanding the basic functions handled in the lecture, and implementing an advanced implementation that combines them by trial and error", and the achievement goal was "Clearing the specified task". ..

environment

This time, I decided to use Anaconda.

I also considered google colab, which even beginners can use immediately if they have an account, but considering that it is not just for the purpose of touching but for actual business use, it is better to install it by yourself and visualize the environment. Because I thought.

Training curriculum

We proceeded with the following contents.

I haven't confirmed it very well, but I think that the subjectivity when I took the exam covers the content that can take about 40 to 50% of the Python3 engineer certification basic exam.

Data analysis and machine learning practices are covered in another training, so they are not covered here. (This is also my responsibility, so I will write an article soon)

  1. Orientation --Outline of training ――How to proceed and what the students should be aware of --Image of using Python in data analysis --About the features of Python --About the Python environment --What you should be aware of when programming
  2. Basics of python --Type (int, float, str, bool) --Data structure (list, dict, tuple) --Syntax (if, for, try, def) --File input / output --Class
  1. Exercise --Actual data collection and visualization --Announcement of results

Things to consider when preparing

――We tried to get people to understand "why Python is used" and "why Python" first, including how to use it in business. ――The idea that having a concrete image will increase your motivation --Although it seems to be from the review point of view described later, it is clearly stated that you should be aware of it when programming ――As long as you program in business, it is not a transient thing, but it needs to be at least highly readable in anticipation of long-term operation. ――Since it is difficult to explain everything in the lecture, I was conscious of adding a lot of sample code so that I could understand it while moving it. ――In addition, we purchased and distributed related books at an expense and had them use them.

――Since the purpose is to acquire the knowledge necessary for data analysis, unnecessary knowledge has been removed as much as possible. ――For example, try and assert are useful, but I thought that it would be a source of confusion especially for beginners, so I only introduced them. ――We also handle classes, but we keep the minimum information. ――Rather than cramming a lot of knowledge, it is important to have people understand the important basics properly and to acquire the ability to make various trials. ――About half of the content of the assignment is based on the premise of investigating. ――I will show you a simple sample coat, but I will not give you a direct answer and ask you to solve it without referring to the reference etc. --Learning pandas and matplotlib, which are almost indispensable for data analysis in the assignment ――The ultimate goal is to reach a level that can be used in business, so we conducted exercises assuming actual business. ――Get an image of how to actually use it ――Various stories about data analysis are not covered in this training.

What I devised in the way of proceeding

――Since it is not realistic to hold a local event in Corona, the training itself was conducted remotely using an online video conferencing tool. ――Unlike on-site, it is difficult to understand the degree of understanding from the reaction, so ask questions as appropriate. --Simple creation with a large font so that the material itself is easy to see ――I explained each function while actually executing the sample code attached to the document. ――We have prepared a question channel in Slack and prepared a mechanism that makes it easy to ask questions both during and outside the lecture. ――In addition, in order to give individual guidance after understanding each person's understanding level, we conducted individual interviews and conducted oral examinations and code reviews while looking at the program tasks that were solved. ――The effect of this instruction is great, but it takes a lot of time, so it is also an improvement point.

About the issue review policy

We set issues during the training, but we clearly defined what to check during the review. This is based on the following Google Code Review Guidelines.

--Design: Is it properly designed? --Function: Does it behave as expected? --Complexity: Is it simple? --Test: Is there a suitable automation test? --Name: Are variables, classes, methods, etc. clearly named? --Comments: Are the appropriate comments attached? --Style: Do you follow your coding style? --Documentation: Is the related document updated?

Excerpt of material

I'm going to publish some content.

(It's okay to publish the whole story, but I don't think it's enough because the material is based on oral explanations.)

Attitude when receiving training

――Let's move your hands first ――It's easier to give birth than you think --Don't be afraid of failure ――Experience of trial and error will be utilized later

――If you don't understand, look up / ask a question ――Someone has solved the problems that beginners have. ――It is NG to end with copy and paste Let's understand the cause and solution firmly ――If you can't solve it, ask a question. Sometimes it is necessary to get help from others. ――Learn the key points when solving problems

--Work independently and autonomously ――The content of this lecture deals with the minimum skill level. ――It is important not only to be taught but also to learn ――When you're done, let's learn more about the fields you care about.

Things to be aware of when programming

――Aware of high quality programs ――The spirit of "just move" is evil --Programs are more likely to be read or modified than to be written from scratch —— Poor quality programs affect your productivity and those around you later

--Program quality perspective -Google Code Review Guidelines

Reflections

――I was not good at communication peculiar to online meetings ――It's a reaction that you can feel live on-site, but you have to actively check the reaction online. ――Also, the information delivered from here is only screen sharing information and audio (depending on the method), so you need to be careful. ――This is for the instructor's convenience, but the situation where you have to keep talking alone is mentally exhausting.

――We have created a system that makes it easy to ask questions, but building psychological safety to make it easier to ask questions is an issue in the first place. ――How do you build relationships with people who you only interact with remotely after joining the company? I feel ――I think that individual interviews will be one of the countermeasures.

--There was not enough troubleshooting for beginners to trip over ――It's still difficult to teach how to teach the points that you can understand when you gain experience. ――One way is to have them learn hard, but there are some parts that cannot be solved by that, so I thought it was necessary to set a standard for how much I would do it myself. --Insufficient way of thinking to solve complex problems ――We set up a task to realize complicated processing by combining simple processing, but it seems that the hurdle was high for beginners. ――The intention is to acquire the idea of programming logic, but because it was premised on proceeding while investigating other issues, the solution method will change significantly. ――Maybe you had to read a complicated program and have it do some work such as drawing it into a simple diagram so that you could learn how to proceed with programming.

Finally

I had the opportunity to train as an instructor several times, but it was the first time for me to do it online, so I had a lot of trouble.

I am also in charge of another lecture, so I will write about that as well.

Recommended Posts

I did Python data analysis training remotely
Data analysis python
Data analysis with python 2
Data analysis overview python
Python data analysis template
Data analysis with Python
My python data analysis container
Python for Data Analysis Chapter 4
Python data analysis learning notes
Python for Data Analysis Chapter 2
Data analysis using python pandas
Python for Data Analysis Chapter 3
Which should I study, R or Python, for data analysis?
I passed the Python data analysis test, so I summarized the points
Python: Time Series Analysis: Preprocessing Time Series Data
Preprocessing template for data analysis (Python)
Data analysis starting with python (data visualization 1)
Data analysis starting with python (data visualization 2)
Python visualization tool for data analysis work
I tried factor analysis with Titanic data!
I took Udemy's "Practical Python Data Science"
[Python] First data analysis / machine learning (Kaggle)
What I did with a Python array
Data analysis starting with python (data preprocessing-machine learning)
Python 3 Engineer Certified Data Analysis Exam Preparation
What I did to save Python memory
Python practice data analysis Summary of learning that I hit about 10 with 100 knocks
[Examination Report] Python 3 Engineer Certified Data Analysis Exam
Data analysis Titanic 2
[CovsirPhy] COVID-19 Python Package for Data Analysis: Data loading
Python3 Engineer Certification Data Analysis Exam Self-made Questions
[Python] What I did to do Unit Test
I started python
Python 3 Engineer Certification Data Analysis Exam Pre-Exam Learning
I tried principal component analysis with Titanic data!
[Python] Data analysis, machine learning practice (Kaggle) -Data preprocessing-
Data analysis Titanic 1
[Data analysis] Should I buy the Harumi flag?
Data analysis Titanic 3
I started machine learning with Python Data preprocessing
What I did when updating from Python 2.6 to 2.7
A well-prepared record of data analysis in Python
[python] Read data
Data analysis for improving POG 1 ~ Web scraping with Python ~
Have passed the Python Engineer Certification Data Analysis Exam
[Python] [Word] [python-docx] Simple analysis of diff data using python
[For beginners] How to study Python3 data analysis exam
I tried to predict the J-League match (data analysis)
[OpenCV / Python] I tried image analysis of cells with OpenCV
Reading Note: An Introduction to Data Analysis with Python
Data analysis environment construction with Python (IPython notebook + Pandas)
[Python3 engineer certification data analysis test] Examination / passing experience
Challenge principal component analysis of text data with Python
List of Python code used in big data analysis
[CovsirPhy] COVID-19 Python package for data analysis: SIR-F model
[CovsirPhy] COVID-19 Python package for data analysis: S-R trend analysis
[CovsirPhy] COVID-19 Python Package for Data Analysis: SIR model
[CovsirPhy] COVID-19 Python Package for Data Analysis: Parameter estimation
I tried to analyze J League data with Python
[Technical book] Introduction to data analysis using Python -1 Chapter Introduction-
Data analysis using xarray