How self-Python?

I graduated from Clemson University political science. I have considered whether to choose to study computer science, also freshman year to enroll in the "Introduction to Programming" course, but soon dropped out. It is too difficult.

After graduation I have been living in Silicon Valley, I found that I need to learn programming. A year later, I became a mid-level software engineer at eBay. I do not want to give the impression that it is easily able to do. In fact, this is a very challenging thing. In the process of trying to keep trying this year, I had so much fun.

1.1 self-advantage

Although has a BS in Computer Science, Masters or even a lot of pressure to work with a doctorate colleagues, but do not forget you still have "self-advantage." Python programming you choose to study, not for the teacher assigned tasks, but because your inner desire to learn, and this is the biggest advantage you have. Apple co-founder Steve Wozniak (Steve Wozniak) is a self-taught programmer; there due to make outstanding contributions in NASA's Apollo program obtained Presidential Medal of Freedom Margaret Hamilton (Margaret Hamilton); also, the founder of Tumblr founder David Karp (David Karp), Twitter founder Jack Dorsey (Jack Dorsey) Instagram Kevin Strom Sam (Kevin Systrom), they are self-taught programmer.

1.2 Why should learn programming

No matter what your job, the programming will help your career. Learning program will energize yourself. I like to try new ideas, always have hope that the new project started. After learn programming, I can sit down and achieve their own, without relying on others.

Programming will also enhance your skills in other areas. Because you have mastered the problem-solving ability, few other jobs will not benefit from this. I recently decided to rent on Craiglist, search and filter house is a very laborious job. But I wrote a program to search my place, final results will be sent to me by email. Learn programming, you will be freed from repetitive work.

If you want to be a software engineer, the market demand for these positions is also growing, but the candidates meet the requirements are always in short supply. 2020, is expected to have one million job vacancies programming. Even if your goal is not to become software engineers, science and finance jobs also began to tend to those applicants have programming experience.

1.3 no programming experience how to do?

If you do not have any prior programming experience, worried he was not qualified for programming work, I think to tell you: you are fully capable to do. People programmers have some common misconceptions, such as the programmer had to be good at math. This is a wrong impression, but the program is really a difficult task. Fortunately, the contents of the column covering makes that even more easier than you think.

In order to improve programming techniques, you should practice programming a day. The only obstacle to stand in front of you just can not stick, so we have to take some measures to ensure that they can persevere. Prepare a checklist to ensure that there are to do the exercises every day, and can also help you stay focused.

If you need additional assistance, efficiency expert Tim Ferris recommend the following tips to remain the driving force. Advance money to family or friends, if you complete the objectives within the stipulated time, let them pay you back, otherwise the money will be donated to the organization you hate.

1.4 you need to know before learning

"Zero-based learning Python" is not only to teach you how to use a particular programming language, will introduce all the other standard textbook knowledge points not covered. I share in the column is in the process of becoming content software engineers had to self-study. Box is not suitable for those who want to understand random programming knowledge, I will write the code as a hobby, but specifically written for those who want to programmatically as a career. Whether your goal is to become a software engineer, entrepreneur, or used on other positions programming skills, you are the target audience column.

Learn a programming language is not enough, you also need to learn other skills, like computer scientists to work the same way. I will teach you everything I have from novice to professional software engineer programming process learned. This column is to share the knowledge they need to frame people interested in programming positions.

I often hear feedback from friends that self-programming: I do now? I'm not a programmer, do not know what the next step to learn? So I designed the following column structure.

1.5 column structure

My goal is not to include all the details you need to know about each topic, but to provide a set of guidelines - a roadmap for all technical programming career development needs. Which brings me to column divided into five parts.

Part I: Introduction to Programming. Let you write your first program as soon as possible, preferably today.

Part II: Introduction to Object-Oriented Programming. This section describes the different programming paradigms, focuses on object-oriented programming. You will develop a game, experience the power of programming. After reading this part you will indulge in programming.

Part III: Introduction to Programming tool. We describe the different programming tools to enhance productivity. At this point, you have to indulge in programming and want to get better. You will learn the relevant operating system, use regular expressions to enhance efficiency, install and manage other people's programs, as well as version control knowledge in collaboration with other engineers.

Part IV: Introduction to Computer Science. A brief overview of computer science, covering two main themes - algorithms and data structures.

Part V: find a job. The last part is about the best programming practices, how to find a job software engineer, self-improvement and teamwork programmers. I will share technical interview by suggesting how to collaborate with the team, as well as how to further enhance their skills.

1.6 From the end

I learned way of programming, with the usual way of teaching computer science just the opposite. Structure column is based on my own way organizations. Generally, you will first spend a lot of time learning theory, the theoretical knowledge learned so much that many computer science graduates do not even know how hands-on programming. Jeff Atwood (Jeff Atwood), in his blog, "Why will not the programmer programming" wrote: "Like me, many people have encountered such a situation, 200 applicants programmed positions, there 199 will not write code say it again: they will not write a bit of code "this phenomenon led directly to the invention of Atwood FizzBuzz Code challenge a screening interview for the applicant's programming test.

"King of the trip" the protagonist of the movie Josh (Josh Waitzkin), in "learning the art of" book recalls how he reverse learning chess. He did not start to study like everyone else, but from learning chess pieces (only a few pieces on the board) start. Doing so gave him a deeper understanding of chess, and won the championship many times. Similarly, I think first and then learn how to program learning theory method is more efficient, because you will have a strong understanding of the principles behind the driver. This is why the column was introduced until the fifth part of computer science theory, but the content is as concise as possible. While theory is important, but after you have programming experience, theory of value was greater.

1.7 column format

Closely related to each chapter column. If you read some of the concepts do not understand, we may have done in the previous chapter introduced. Try to avoid repeated explanation in the column, so keep in mind this feature. When defining a lower key words, use italics. At the end of each chapter there is a glossary to explain the terms appear in italics in the chapter.

Notes column before the code segment GitHub website, copy the code reader can be directly on the website.

Box 1.8 Use of technology

In order to give readers as much as possible the accumulation of programming experience, the column will introduce a variety of techniques. In some cases, the choice must be made in a number of different technologies. In Chapter 20 "version control", we will learn the basics of Git. Git is a popular version control system Git select presentation because I believe that it has become the industry standard version control. Box with Python to write most of the programming examples, because it is a very popular language for beginners, and even if never used Python's also relatively simple to learn. In addition, almost every area of ​​demand for Python developers are very large. However, the column will try to do the content has nothing to do with technology - focus on the concept, rather than the technology itself.

1.9 Starter Kit need to be prepared

We first need to have a computer, for example exercises to follow each column content. The computer has an operating system (operating system), i.e., a program play intermediary between human and physical computer hardware. You can see on the screen is called the graphical user interface (Graphical User Interface, GUI), which is part of the operating system.

Desktop and notebook computers There are three kinds of commonly used operating systems: Windows, UNIX and Linux.

  • Windows is Microsoft's operating system.
  • UNIX operating system was invented in the 1970s, the most popular UNIX operating system is Apple's OS X.
  • Linux is currently the world's most server (server) in the use of an open source operating system. Server refers to the execution site hosting tasks such as computer or computer program.

Open Source (open-source) means that the software is not owned by a company or individual at all, but maintained by a group of volunteers. UNIX and Linux are UNIX-like operating system, meaning that between the two are very similar.

Guess you like

Origin blog.csdn.net/java276582434/article/details/91590542