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.
For our new employees. The literary and programming experience is different.
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". ..
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.
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)
――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.
――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.
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?
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.)
――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.
――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
――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.
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