Write for a long time, this is a most suitable / appropriate general public / Coban / non-Coban "learning path"

To tell the truth, to learn the route that I usually do not write the article, we look at the article I also know that I seldom write recommend how people kind of like how the article, more, write their own true experience , then for everyone to reference, like this, my heart is also more practical, not afraid to mislead others.

Recently, however, a lot of people asked me to learn the route, and many freshman sophomore, said he was very confused, to see my essay ordinary, my college years popular incentive after that and he can do it , (is of, do not wave, you can do it) I hope I can give him a study course, to be honest, almost every day to ask this question, in view of this, I have to write one for the general public to learn the route , it Speaking from the moment introductory freshman enrollment, though not necessarily right for you, but perhaps people do not give clear objectives to bring some direction to learn, then this article, I think the value of.

** Note: ** This article is not to make you into a great God, completion is not more powerful, but, to be in college confused and do not know the direction you what a learning school, regardless of whether you are Coban . But I believe that when you finished school that, you should have the direction of their own learning.

The following are design to development tools as well as e-books, I also find you well, get to see the end the way.

First, choose an introductory programming language in the world

1, an introductory language of choice

The first thing to learn programming, I think it is to choose a language, but can choose the language is too much, do not know how to choose, you can choose a more popular following, entry language is 90% of the people selected . They are the C language , Python , the Java .

That should choose which door it? To be honest, I think not choose which doors are a problem, because then you are successful entry and so on, you big probability will also learn other languages , so I suggested here follow the curriculum to choose , because the basic freshman will also set up a programming language, we learn that time is opened C language .

So the question is, based on reader feedback, in fact, one is not even part of the school opened in these languages, but also learn from these web design this kind of language, that the country? A. I suggest you still here choose a language to learn, because you are not to go along with the school curriculum, so here I suggest you choose the C language .

To be honest, I think no matter what you are learning the language, if you have time, you should understand, learn the C language, I think, as long as you can C language, other languages ​​then you started every minute, but the other language, entry C language might be abused. Learning C language, people really learn a lot of knowledge, so you do not know what language to learn, I suggest learning C right here, after playing ACM like to participate in the game, and also for general use C / C ++.

2, introduce books and videos

This week, I was at least 15 people asked to learn C language which use this way? What compiler ah? Anyway, I was asked to cry, but then I also have this question, so I patiently answered. So here we introduce some books and videos, although not the best, but I think you can. Here I am at C / Python / Java as an example to introduce.

I will back out a summary of various tools article. Now has collected dozens of popular development tools, but can not provide materials to crack Kazakhstan, Baidu search a bunch of tutorial crack or serial number. Estimates for a week, I'll sort out the

(1), C language

Recommended books: books you can see "C Programming Language" written by Tan Hao, suitable for beginners to learn, this is my first look at the book. Advanced can see "C and pointers."

Video Recommendations: You can watch the video recorded Hao Bin, b Search in C language came out, called "Hao Bin C language self-study course." To be honest, for the novice, I think watching video is quite good, the pit may have lost a lot, or you do build environment Gaosi.

Here I will not introduce the tools, books and videos will be hands-general post which compiler you use. I was using a codeblocks and vs6

(2)Java

Recommended book: "Java Core Volume 1", which it regarded as entry-books, introductory books I see much, being introduced this one, because I have not seen generally does not cover, you can go online to search.

Video Recommendation: [] Java300 Shangxue Tang set here, the author is Gao Qi recorded, b Search on it. Talking about is really good, entry, then feeling to see in front of 100 set on it. Advanced can see "Java programming ideas", the book is also very good, I solve a lot of doubts. ,

Java compiler recommend using IntelliJ IDEA , themselves Baidu to search.

(3)Python

Recommended books: It is recommended that "Python Programming: from entry to practice."

Video Recommendations: I have seen a small turtle is video, not bad, if you look at the video of a small turtle, it can be the way to his books books supporting it. Video called "[small turtle] zero-based learning portal Python", b Search on it. Book is also "[small turtle] zero-based entry-learning Python".

Development tools I was using pycharm

The question is, a lot of people ask, should grasp the extent to which it can be considered?

To be honest, I am not sure, and I think the book says, 90% understand it, attention, understanding, specifically how to write, forget the big problem. In short, of course, darker is better the learning.

No. article first appeared in public " hard to force the code farmers " more often welcome Concerned about the article, there are more than 150 original articles, public No. reply "e-book" to send you a selection of e-books

Second, the data structures and algorithms

After the first semester of college you started some kind of language, we must begin to learn data structures and algorithms L. Of course, not necessarily the first semester, for the same non-Coban, but also suggests that this learning sequence. Of course, you have your own goals, their own can be.

My article is primary write data structures and algorithms , I rely on this autumn trick is to get the advantage of the offer, so I think data structures and algorithms are very, very important, you may hear work is basically useless to them knowledge, ah, or library functions to help us a good package, ah, why should we learn.

If you think so, then you are wrong. For those who want to find work for, this knowledge is compulsory, so you have to learn; for it is already working, this knowledge, you can learn to make a lot of design ideas, so-called data structures + algorithms = program , and you learn this, you will find that learning other knowledge, particularly fast to get started. In conclusion, the data structures and algorithms must learn.

Well, so much pull above, is to tell you, the importance of data structures and algorithms, well, I was introduced following the entry data structure will learn what, but you follow the order book to learn it wants.

1, the basic data structure of learning

1, the time complexity, spatial complexity

2, linked lists, queues, stacks

3, the tree (binary tree, look for a binary tree, AVL tree, red-black tree, etc.)

4, (figure there is a good variety of algorithms, depth / breadth first search, shortest path, minimum living trees, etc.)

If you are Coban, then the second semester of freshman year, I think you can study all the best, and did not finish school it does not matter, some people may be the first to teach "Discrete Mathematics" This lesson, as data structures and laying the groundwork algorithm.

Recommended books: "Westward data structure", "Data Structures and Algorithms analysis: C language description Edition", which in this study? All OK, not a big problem, I was a student of the second book. It will be recalled according to their own language to learn, I listed above, are using c language to achieve.

Video: I only read "data structures and algorithms small turtle" video, you can figure it out.

2, learning algorithm

In the freshman sophomore, really suggest you to lay the basic algorithm behind really nothing like the time to brush the question, because no matter which direction you later to learn, algorithms are practical, some algorithms will speak also confident. Learning algorithms, brush problems is a must, but do not recommend blindly brush the question, but first learn some algorithm ideas , find the corresponding title in the brush, there are to be learned:

1, the top ten ranking algorithm

2, recursion, greedy, backtracking, dynamic programming, enumeration, etc.

Recommended books: "Aha algorithm", "Algorithm Design and Analysis" for entry; "algorithm, Fourth Edition," "Introduction to Algorithms", "Beauty of Programming" for Advanced

Video: This is very recommended reading, I have not seen the video ,, not presented here.

Specific can see my previous article: the programmer must master algorithm What? This algorithm talk about the past few years learned

3, to keep learning algorithm

Learning algorithm, really it relies on the accumulation, while brush title is a must. And the school will host some games, here it is quite recommended that you go to see, so that also make you more passion to the study. Of course, every year there are a lot of ACM programming contest, not to participate in it? This is up to you, does not mean that it is necessarily good to participate, see yourself, specifically refer to an article I said before: ordinary, my three-year college

You can maintain long-term problem in leetcode brush day twelve, Wednesday or four will do.

No. article first appeared in public " hard to force the code farmers " more often welcome Concerned about the article, there are more than 150 original articles, public No. reply "e-book" to send you a selection of e-books

Third, select a language in-depth study

I just chose to select a language to get started, then you may also learn other languages. I was C language portal, behind-depth learning Java.

Then you can learn too many languages, but you must have one shot to get the language, so the above study, and this time you might be a sophomore, junior year at most, then you should choose a language in depth learning, and generally there are four optional: C ++ , Java , Python , Go , if you want to engage the back-end development positions, then C ++, Java, and Go is believed to be most people's choice, which I think is the number of people choose Java the most. Go is a recent fire from the language, but also a good choice.

So the question is, what door this option do? After the entry you want to engage in game development and the like, it is recommended to select C ++, or you want to compare later Tencent , byte beat them, you may choose C ++ bit better. If you want to engage in Web site development, or in the future want to go to Alibaba, the US group of these, then Java will be better, Go, and Python it? In fact, I do not really understand, ha ha ha ha. But I have heard, for, will quickly develop in Python or Go like some kind of not very large website.

If you are company-oriented programming, you can go and see what the company's technology stack, to the election. Of course, no matter which door you choose, as long as you have the strength, which the company will charge you, but there may be time to turn to the language, I seem to need to shift from Java Go, but the language is only a tool, the basis of common learn knowledge, not turn language problem.

Fourth, the Java-based back-end development of learning route

Because I am a Java-depth study, and then I introduce the recommendation of Java books and learning it, I think it is similar in other languages. My sophomore started learning Java, or looked at a lot of knowledge. Entry is not introduced, introduced above . Below that is basically a thorough study must be understood.

1, Java will learn advanced

Aggregation module : mainly contain various common collections: e.g. Set (including HashSet, TreeSet), Map (including HashMap, HashTable), List (including ArrayList, LinkedList) and the like, the above-mentioned study had its source

Multithreading : synchronize, volatile, thread pool, and contract (such as lock, etc.), too much, you learn naturally know, I do not say too detailed. Recommended to see "Java Concurrent Programming Art" + "Java programming engendering real."

Various file stream : file, inputStream, outputStream and so on, anyway, is a variety of file stream, you will naturally see when reading, not described in detail.

VM : The virtual machine is required to study the focus is GC part, it is recommended to see "in-depth understanding of the Java Virtual Machine: JVM advanced features and best practices", an almost enough, to look at four or five times on the line.

Other : There are many, such as reflections, comments, and other abnormalities.

2, JavaWeb entry

Learned so much above what the program, the site did not write it, a little uncomfortable? All right, this time, we will begin a line and website, if based on Java as a development language, you must learn the JavaWeb. This time you can these (note, not deep, quick to find a video entry on it) at study entry

1, mysql, html + css + js, tomcat, xml and so on. Recommend watching videos, searching JavaWeb themselves to video, so where is not where fill this knowledge, a few hours one of the entry.

2, servlet + jsp series.

Not recommended for direct learning framework, we should first learn servlet, which is the most important underlying drops.

3, the three framework

Servlet write too much trouble, benefit people who can blow framework servlet only seriously studied, so the first study to learn servlet framework, there are three main frameworks: Spring + SpringMVC + Mybatis.

In fact, it SpringMVC also belong Spring, MVC is just an idea, here to study the order is recommended to learn Spring, watch the video directly to getting started on it, back in the books. Video Again, B station search. Dark horse of speaking well, I was also looking dark horse.

3, middleware learning

Must Middleware: redis, the other I never learned, which studied the door, Redis feeling that everyone had to learn ah, recommended books "Redis Design and Implementation", "Redis development and operation and maintenance." I look at the latter, feeling the latter for entry, and then look at the former.

Because of my article is to give a general direction of learning, I will not say too detailed, or else have to be a separate "Java learning course" the.

For Java to learn, I think you will be the top of these, I think we can go try to find internships, and should be able to find, sophomore junior to experience a wave of learning is very good.

No. article first appeared in public " hard to force the code farmers " more often welcome Concerned about the article, there are more than 150 original articles, public No. reply "e-book" to send you a selection of e-books

Fifth, computer-based learning

Read my articles know that I have been the importance of a strong computer-based, so there must be enumerated to learn what. Just said selecting a language in depth, you in the process of in-depth learning, certainly also learning courses offered by the school, including: computer network operating system + database + + compilation + + compiler theory Principles of Computer Organization and so on.

And these, I think it is very important for the autumn recruit students, as long as these you will, even if you are in-depth learning Java, C ++ and then you go to apply for the post, I think it does not matter, you and the interviewer said, I will not C ++ can be a big deal when the time reorientation. Although I am a Java technology stack, but I face the company, not the Java technology stack, such as millet, Shopee, byte beating, Tencent. However, these are not a big problem, as long as you can these basic + algorithms, and, in the autumn trick, especially for large companies, with regard to language, in fact, is not a lot to ask , the foundation asked a particularly large number, so you'll basis interview will occupy a lot of advantages. The following order of priority learning to row a sequence of these courses.

In fact, to prioritize them is not very good, so give them a row, big brother feeling vulnerable to spray, but no way, for white, I still want to row in the following order

1, the computer network operating system +

2, the database + computer composition principle (corresponding database you may have first learned of MySQL)

3, compilation + compiler theory

However, if you still freshman sophomore in the school, you can learn to order according to your course, but I would suggest there is time to learn ahead of time, do not have to wait until the school to teach the scholarship, anyway, most of the teachers speak very in general, but when you have learned, you can as a review or learn more.

Recommended books

"Computer Network top-down", "graphic http", "depth understanding of computer operating system", "assembly language" (written by Wang Shuang). Specifically to grasp the extent to which I can see the previous article.

[] That make you vomit blood finishing off the computer basics: what to learn, how to learn?

Prior written many articles, so here not to write too specific, concrete can see I wrote the previous article.

VI Summary

I think for four years in college to learn, which is the core of the above, but also must learn. But only those above is not enough, above which a couple of years you can learn finished. So you have a lot of other times, you can learn some of their own interest, and more agonizing, more than Dougu, and what I have learned, I hope you have learned. You can also see some of the core basics I learned in college:

My experience / growth / experience

Two years ago in torment, especially in the first year, however, I have always been the core of the study compared to those courses. Again , this article is not to make you into a great God, completion is not more powerful, but, to be in college confused and do not know you, learn what's in one direction, whether you are Coban , as the title says, the S & P P / public . But I believe that when you finished school that, you should have the direction of their own learning.

Finally, I hope you are still in school students, freshmen can have a good wave, but also to maintain proper study time, then, to learn it. Whether you are elite or non-elite, I think you just learn seriously in the past few years, large companies into the chance, really big, this is not chicken soup.

Published 177 original articles · won praise 31 · views 80000 +

Guess you like

Origin blog.csdn.net/qq_36963950/article/details/103281407