[PYTHON] Dedicated to beginners! How to learn programming without spending as much money as possible

Introduction

For beginners! I am also a beginner. I'm just a student learning programming on my own. About a year and a half ago, I touched Python and then my fever cooled down and I started studying again around April of this year. As a memo for myself, I would like to write down the learning methods and findings that I feel good now after 4 months. I try to write specialized horizontal characters as easily as possible, so I think there may be some redundant parts, but please forgive me.

Currently, the money used for programming learning is about 10,000 yen as a course fee at Udemy. I want a MacBook with make-up money as soon as possible.

Who I am I am a liberal arts college student. However, I studied by myself and will be hired as an engineer from next year. While studying abroad, it was a pain to look up English words and I started learning programming. My favorite language is Python, and I sometimes work part-time with PHP. Those who have learned (intentionally) the basic operation to some extent by studying at the site described later Python, Go, TypeScript (JavaScript), PHP, HTML + CSS. Recently I'm studying React.

What is programming?

As the name implies, programming gives various instructions to a computer by creating a program, and I think that a programming language is a language that a computer can understand. (Strictly speaking, there are various machine languages and scripting languages.) I think that the programming language that I often see these days is Python. I think the reason is that the learning cost is low even though the application is effective from the field of data science such as machine learning to Web applications.

More finely

There are a wide variety of programmers, including artificial intelligence engineers, database engineers, infrastructure engineers who build and manage servers, and WEB engineers who develop WEB applications. So, I think it's wise to clarify what you want to learn programming for and then choose a language. I'm curious, so I'm the type who is interested in anything, but if you say "I don't care about fun, I want to acquire skills that I can earn !!", I feel like using JavaScript (TypeScript) in any field for the time being. I will. At the programming school, you will learn a language called Ruby and a web application development framework for Ruby called Ruby on rails. However, I think that the demand for Ruby is on a downward trend, and I would like to recommend Python or Go when starting self-study from now on. Therefore, I will proceed with this article with the body of learning Python. However, if you are accustomed to one language and programming, there are many parts that are similar to other languages, and once you understand data structures and algorithms, you can divert them, so it will not be wasted. Therefore, if you want to try programming, please continue reading and recommending it.

What can you do with Python?

I think the correct answer is that you can do almost anything. Unless it's general-purpose business application development, I think it basically depends on your own ideas. Speaking of what I created -A program that inputs multiple English words and outputs the results to a CSV file (so that it can be opened in Excel etc.) at once -Tinder automatic swipe program (noisy): eyeglasses: -A program that reads barcodes to obtain information on corresponding books -FX automatic trading program (this person will be described later)

You can easily browse popular articles in the Python category on this page. [Python] Qiita Hall of Fame Article

For me, the program is just a tool to solve the problem of "what should I do?" (I'm sorry if there is someone who says it's totally different!)

Learn with videos ❗ ① Paiza

I first learned Python on a site called Paiza. This site was easy to use because if it was a Python lecture, you could take it completely free of charge, and you could check the level of understanding in the steps of watching videos → exercises. It feels like learning about Python quickly, so I think it's still not practical at this point. At this stage, I was like, "What is a class ?? I understand grammar, but what do I do with this?"

After learning Python through Paiza, we recommend that you try programming yourself. Dirty code is fine as long as you can do it with a little research, so please write it. I think there will be more learning from that.

Learn with videos ❗ ② Udemy

Let me introduce you to Udmey. Simply put, it is an exam supplement. You can watch it from your PC or smartphone whenever you like, and the period is unlimited. The flow is to purchase and take the course you want to see. If you have any questions, you can consult with us, and you can check the evaluation of the students in advance by reviewing. If you take a course that tens of thousands of people are taking, you will surely be able to learn something solid to some extent. After that ** Never buy a course at times other than the sale. ** Regular price 24000 yen! However, sales are held quite often, and you can buy it for around 1200 to 1680 yen, so let's buy it at that time.

Jun Sakai, a course for active Silicon Valley engineers, is lean and practical, and I personally recommend it the most. .. The content is interesting and I feel that it has been fruitful. Development of FX Systre Fintech app with Python taught by active Silicon Valley engineers Once you have some basics of Python at Paiza, we recommend that you take Professor Sakai's Python introductory course.

Other lectures offered in English are fiercely competitive due to the large number of population parameters, so can lectures that appear at the top of the search receive such quality at this price? I feel that there are many contents that I think. In most cases, you will be able to add English subtitles, so we recommend that you do not hesitate to take classes in English. Getting used to English will definitely help you if you stumble in programming. (Because question sites such as Stackoverflow have solutions in English, and many official documents are in English)

I've finished about 7 courses now, but it seems like a completely different person before and after using Udemy.

Learn with videos ❗ ③ Coursera

Coursera is a site where you can take classes at overseas universities, and is especially attracting attention in the field of data science. I would like to introduce a good article in a timely manner. [Video] Data science at the famous university level that you can learn for free [Yes, coursera. ]

I am studying the field of data science myself, so I will omit it. In addition, [Matsuo Research Institute, The University of Tokyo](https://weblab.tu-tokyo.ac.jp/%e6%bc%94%e7%bf%92%e3%82%b3%e3%83%b3% e3% 83% 86% e3% 83% b3% e3% 83% 84% e5% 85% ac% e9% 96% 8b% e3% 83% 9a% e3% 83% bc% e3% 82% b8 /) The teaching materials are also popular because of their high quality and free of charge.

Learn with videos ❗ ④ YouTube

YouTube really feels like a pinch. Above all, I think that the channel of Sho-sensei is kind to beginners. I think that it is an advantage that you can see it quickly if you have the necessary knowledge each time.

I search for "CSS Animation" etc. and use it when learning a design that looks good. I try not to look at anything other than technical aspects. It seems that there are many people like merchandise stores and salon solicitors, so ...: frowning2:

Finally

I feel that the difficult part of programming is that it is not possible to deal with the understanding of the system simply by knowledge of the programming language, and that there are many points where there are many stumbling blocks in other respects, not just the content of the processing. When it comes to actual on-site development, you can use Docker, Kuberneats, CircleCI, etc., or build infrastructure on AWS. ?? What is it? ?? ?? I haven't worked hard as an engineer myself, so I often don't understand. I don't know anything before everyone does it. Steal technology from someone who understands or is smart and make it your own. As my own experience, I think that if you learn not only "what the system does" but also "how it was born", you can understand it naturally.

Read interesting articles on Qiita, output not only the input but also the knowledge gained on Qiita etc. (even if it is open to the public), and when you learn something on the video learning site, use that technology to make your own I feel that I am gradually understanding by simply repeating the process of building from scratch and approaching from a different point of view when something stumbles. Therefore, I would like to continue to verbalize the knowledge gained from learning at Qiita once a week.

In addition to the video sites listed above, I think it will be even better if you read through the books of the Fundamental Information Technology Engineer Examination and put in basic knowledge about computers. If you plan to work in IT in the future, we recommend that you study lightly regardless of whether you have taken the exam or not. I'm studying for the fall exam: frowning 2:

If you are a university student who feels that online classes are not fruitful, why not use the sites listed above to acquire programming skills? I think everyone has different intentions to learn, but I hope that you will acquire programming skills and improve your life. If you are a beginner programmer, let's do our best together!

Recommended Posts

Dedicated to beginners! How to learn programming without spending as much money as possible
How to solve dynamic programming algorithm problems (as seen by beginners)
How to make Selenium as light as possible
How to collect Twitter data without programming
How to make a dialogue system dedicated to beginners
[For beginners] How to study programming Private memo
Python beginners talk about how to remember this much
I thought about how to learn programming for free.
Deep Learning beginners tried to understand the medical AI online course as much as possible [chapter5]
How to collect tweets from tweetid as soon as possible (72000 tweets / hour)
How to learn TensorFlow for liberal arts and Python beginners