Ordinary, my three-year university

image.png


A while ago, some readers asked me about my study route during university, saying that he himself is a bit confused now. To be honest, for articles like learning routes, I don’t like to suggest to others how to learn, the order of learning, and so on. But for universities, when many people enter the university, they may start from the same starting point. After four years of university, they have completely different life trajectories. It happens that I also want to record the learning and changes in the past few years from high school to university. My university experience can be said to be very ordinary. I have not participated in any competitions and have never received a scholarship (of course, I have to get a national scholarship, haha) . It is also because of ordinaryness that I want to share, because I believe you have seen a lot of college experiences full of awesomeness.

So this article, in chronological order, records the studies, thoughts, and books that have been read over the past few years. Perhaps ordinary college experience is more informative, hehe.

1. Freshman of non-computer major

When I got down my college entrance examination score, I looked at the score. I went, at least a few points less than expected. I really can’t figure out why my mathematics and English are so poor. Normally mathematics and physics are my strengths. I often rank first in the class. I expected a few points less, and I was on the verge of passing the pass. Moreover, my English was not as expected by more than 20 points. At that time, I was still very depressed. The college entrance examination was such an important occasion that the exam was so low.

But to be honest, I was not sad at the time because I felt that although the school was very important, it was not that important. I believed that what I wanted to do could be done in any school, and in my opinion, the skills and achievements were just Part of the university , although it is a more important part. Of course, it would be better to go to a better school, at least you can pretend to be a force, haha.

At that time, I wanted to study computer science , but based on my scores, if I choose a school in the province, I would not be able to study computer science, and I would only be transferred (not considered outside the province). But I must study computer science, and I also want to enter a one-book school as much as possible (not to look down on other batch schools). At that time, I checked which schools were easier to transfer to, so I enrolled in one. A school that is easy to transfer to a major is to choose to be transferred, and then transfer to a major that you prefer. Of course, there is a risk of failure to switch to a major.

Later, I was transferred to the major of wood science and engineering , which was expected. A few days before the start of school, I read a book that had a great influence on me called "The Autobiography of Li Kaifu". There is a sentence in the book. It has been affecting me. The general meaning is " When you forget all the knowledge you have learned in college, what is left is the essence of education. " To be honest, I still like this sentence, which I interpreted as , In university, improving your thinking and learning ability is the core. Therefore, in the subsequent studies, I pay more attention to my own learning ability. I will also do a good job seriously, because I think it is very important to do something seriously, and it can be done indirectly. Improve your learning ability , although this matter may not have anything to do with your major.

In wood science and engineering, there is a subject, "Engineering Drawing", I went, I was really tortured by this subject, drawing various diagrams. For example, based on a picture of a screw, drawing it in three views is too difficult for me. Later I thought, if I study hard, I will not believe that I will not be able to figure it out. Later, it turns out that people really have their own strengths . For drawing, I really can’t do it. Although I study hard to understand, it takes time. Many, and the effect is not very good. Since then, I have felt that although the learning ability is universal, there are some skills that you are really not suitable for , because your interest and past accumulation of skills affect how good you are at this skill . It’s really important to choose the skills that I’m good at to learn, which strengthens my idea of ​​changing my profession.

On the National Day in the first semester of university, I started to learn c language by myself, mainly reading books. At that time, I followed the book to play the demo, and it felt quite interesting. It seemed that in seven days, I learned the structure part and felt that I was still learning very fast. At that time, I could say that I didn’t want to understand it (that is, I felt that I understood a little and proceed to the next chapter). Then I went to learn pointers. I went, and the difficulty suddenly increased. I felt that I had encountered a bottleneck, and then I looked at it casually and didn't continue.

After learning a little bit of C language, it's like writing a slightly more fun program, and then I don't know what C language can do, and there are no examples of interesting programs in the book. Later, I went to Baidu Tieba and found that many people had posted game programs, but many of them were designed with other knowledge, and I didn't understand it. Finally I found a snake-eating program. This should be the simplest snake - eating program I have ever seen. It only has a black interface and a square as a snake head . But I was still very interested at the time, so I followed the source code to play the program. , After I understood that the original game was made like this , the dynamic effects of the screen were made like this , and after running the program, I added some things of my own.

To tell the story of the greedy snake, I want to say that I think it is very important to be interested and like to explore . At that time, without anyone teaching me, I went to toss and search by myself, and finally wrote a simple greedy snake. I am still very happy. During this process, it is also very important for me to improve my learning ability. In an environment that I am completely unfamiliar with, how to adapt quickly and be willing to toss is very important, but it is also very important to know how to use search engines . Many people often ask me questions that search engines can solve. To be honest, I am lazy to answer. Some people asked me to help him solve the bug. I smiled and didn’t say anything. It’s not that I don’t help you, I can’t help you, and I’m not willing to help you. You make things like bugs yourself, and you do it yourself. It is the best person to solve. In the process of solving, you can really learn a lot of things, and these things are subconscious and invisible.

2. Data structure and algorithm of pit entry

During the freshman winter vacation, I learned that the professional exam was in March. I also hurriedly re-learned pointers during the winter vacation, and also learned linked lists. To be honest, for me at the time, linked lists were too damn difficult, really I was tossed for a long time because I didn't know much about memory addresses and things like that. Until I took the exam, I didn't understand the linked list. To be honest, if you don’t understand the linked list after several days of studying, don’t doubt your IQ. For beginners, it’s really difficult, especially for me, a non-scientific class who has only learned C language by myself for about ten days. .

Here are some more suggestions. For those who have never learned C language, if you have time, I still recommend that you learn C language, especially the pointer part. I also welcome you to use C language as an introductory language. I think, After learning the C language, learning other languages ​​in the future can help you understand more deeply, and you can also start with other languages ​​quickly, such as references in Java. Isn't this just the address? Anyway, I think the C language is a must if there is time. Of course, it's just my personal opinion.

Later, I passed the major, and I was so happy that I could finally learn programming unscrupulously. At that time, I was really interested in learning (this sentence means that I can't learn later). In the second year of freshman year, the school opened a course on data structure and algorithm . I think this course is a relatively difficult one, I believe many people have been tortured by this course.

However, what I want to say is that this course is also difficult to link lists. If you learn linked lists, I think it is not difficult at all. Since I have tossed about linked lists myself, I will start this course soon. I didn’t read the school’s textbooks either. The school’s textbooks were Yan Weimin’s first edition of Tsinghua University . When I said that, I personally felt that this book was really not suitable for beginners. Also sold the "Data Structure and Algorithm Analysis-C Language Description Edition". To be honest, I like this book very much and I feel very comfortable. If you want to learn data structures and algorithms, then you can choose this one. There is a C language version and a Java version, but if you can, I suggest you use C language To implement those data structures.

In the data structure and algorithm book, the explanation of the linked list is more detailed. In addition, I have read some articles about the linked list before, so I quickly understood the linked list, and followed the book a little bit to implement the basic operation of the linked list (addition, deletion, and modification) ), I must say here, don’t write the code without understanding it by yourself , you must write by hand , because you will encounter many bugs in the process of writing. By solving these bugs, you will understand the linked list better. profound.

For the study of data structure, I basically did not attend the class, because I felt that what the teacher said was not suitable for me. When the teacher linked list was not finished, I had already learned the part of the graph . Anyway, I have basically learned all the algorithms involved in that book and realized them. They are roughly: linked lists, queues, stacks, binary trees, graphs. I have learned more about graphs. I feel that there are more algorithms designed, such as deep traversal. , Breadth traversal, minimum spanning tree, topological sorting, shortest path, I think these graph algorithms are very practical and very important. I suggest you learn if you don’t understand.

Three, choose not to play ACM

Before entering the computer major, I still wanted to join the school’s training team very much. I felt that acm was very awesome. I also often went to the school’s OJ to write questions. I bought the book "Algorithm Design and Analysis Fundamentals", which is an introduction to algorithms. I think the book is very suitable for getting started. It is implemented with pseudo-code. It is very simple. I seem to have finished reading it in a week. Later, I bought the algorithm book of "Challenge Programming Contest". I went there. At that time, I felt that the book was quite good. This book is mainly about brushing the questions , and I am having a great time in learning. Although it was a joy to learn, I felt that those contest questions were too damn difficult. Sometimes it took a day to understand a question, or at least a few hours, and I still understood it by looking at the answer. At that time, I still did a lot of questions, but I felt that if I played acm by myself, with my level, I felt that I couldn't get any awards. I also felt that I was really not very sensitive to these competition questions, and I couldn't tell at a glance. Solving the problem, and for a few hours, I really couldn't solve it by myself, so I gave up my plan to participate in the school acm.

However, the learning of algorithms in those few months also laid a good foundation. I also want to do something later, but the interface written in C language is dark and I don't like it much. So I learned some HTML later, this kind of skill that can see the results immediately after learning, I feel that learning is more interesting. After a few days of learning, I learned the general knowledge points, and later I found that HTML alone is not enough, and I have to learn JavaScript. Then it took more than ten days to learn JS, and then there was no such thing, because I moved away from love.

But this made me understand some front-end knowledge. When I said that, even if you don’t learn the front-end in the future, you should also understand some front-end knowledge. This is a must. Even if you are a back-end, you often need to use the front-end. knowledgeable.

Four, the summer vacation

1. Windwos programming

In the summer vacation after the freshman year, I wanted to write a game, but the C language has no interface, what should I do? Later, I found that windows programming can draw interfaces, drawing pictures and the like, which are also implemented in C language, so at that time I watched the video of the little turtle to learn windows programming, and bought the book "Windows Programming" by the way, that book 900 pages, ha ha. I think Windows programming is still quite difficult. I learned all kinds of handles for about a month. I also read about 600 pages at 900. Various keyboard events, mouse events, anyway, are many. Relying on this knowledge, I wrote a calculator. I went there. I was still very happy. I told my sister to let him try this calculator. Then there is no more, I am empathetic again, haha.

But the toss of windows programming has also taught me a lot. For example, I know how we usually move the mouse, know how the bottom layer of our text editor is implemented, and feel that I know a lot of relatively low-level things, and let myself The learning ability is stronger.

2. Android learning

Because the programs written by windows programming cannot run on mobile phones, no one uses my program, so I switched to learning Android, but Android heard that it was implemented in Java, so I started Java, and it seemed that I watched a video for a few days For the beginners, I only learned a little bit and went to write Android. I bought the book and I learned that it was a great joy. After about 20 days of tossing, I wrote a weather forecast with the book. In the process of learning, because of myself I don’t understand too much, I encountered a lot of bugs, and crashed myself several times. Later, I wrote an app of "Happy Learning Numbers" and sent it to App Store. Of course, these programs are written along with books, haha. And dozens of people downloaded it, so I was very happy. Then there is no more, I am empathetic again, don’t fall in love again,,,,

Five, on the right track

To be honest, the freshman really tossed a lot of things. At that time, I was full of enthusiasm for learning everything. Although much of the knowledge learned was not needed later, I think it is very worthwhile because I think that the freshman and sophomore period , Don’t ask others what to learn, if you are interested, go and toss, toss with all your heart, you can really learn a lot of things, and these things are far from those specific knowledge points. What's more, your learning ability, tossing ability, logical thinking .

In the sophomore year, I paid attention to the official account of "Code Farmer Turning Over". Through this official account, I understood a lot of knowledge points. The understanding at this time is more of a "breadth" understanding. If you are interested, you can also buy the book "The Turnover of the Coder". You can read the catalog before buying it, mainly to explain the technology with stories.

In the sophomore year, I mainly studied "Discrete Mathematics". This book allows us to learn about algorithms and data structures. Later, we learned "Java Programming Thoughts", but I think this book is not friendly to novices. I don’t understand. I watched the Shangxuetang Java300 episode during the period, and I feel that it is very good. You can search for it by Bilibili. After watching this video, I feel that my Java is awesome and I understand a lot of things. Then I will look at "Java Programming Thoughts". I went and felt that this book is too good. I recommend you to learn Java. Anyway, from this time on, I decided to learn the Java system.

6. Start learning with purpose

For Java, I felt that after reading Shangxuetang 300 episodes + "Java Programming Thoughts", I felt that I had almost mastered it. Later, I heard that learning Java depends on the virtual machine for advanced learning, so I bought the "In-depth Understanding of Java Virtual Machine". Look at the book. After that, I feel that my Java is quite strong, but I don’t have much knowledge about multithreading. Regarding Java multithreading, I recommend "Java Concurrent Programming Art" and "Java Concurrency Actual Combat". I just read the above books. Of course, I read a lot of other books scatteredly. I won’t list them here, because I think these are almost enough.

However, language is just a tool. I think we need to choose a language and study it in depth. Here I chose Java, but this is not enough. I learned that the interviews of major companies and value the basics of computers, so I learned about computer networks. At that time, I watched the video "Computer Network Principles" by Teacher Han at Bilibili, and I felt that it was very good. After that, I learned the operating system from the school curriculum . I watched "Operating System: Essence and Design Principles". "Principles of Computer Composition". If you want to learn the basics of computer, I think you have to learn these two courses. Here I recommend reading "In-depth understanding of computer operating systems". This book feels that these two courses are almost integrated.

However, after learning this knowledge, it is seldom used and easy to forget, but I think it is not important, because in the learning process, you will learn a lot of design and algorithm ideas. In my junior year, the school opened a computer network course, so I studied computer network again. At that time, I read the book "Computer Network: Top Down". I thought it was very good. I didn't read the school. Teaching materials. Of course, during the period, I also learned knowledge about databases, such as the mastery of these courses, recommended books, etc. I won't talk about it. You can read my previous article [Hematemesis Arrangement] Those basic computer knowledge that made you take off: What to learn and how to learn?

Since my own writing is a bit long and the number of words is a bit too much, I might write it more concisely next, as if it has a little beginning and end? Haha

7. Opening of WeChat Official Account

In my junior year, I opened my own official account and started to write articles. To be honest, I opened the official account for three purposes:

1. Make money

2. Add points to the interview through technical blogs

3. Train your soft abilities

Facts have proved that the official account has brought me a lot of gains, met many people, and made some money. But to be honest, it really took me a lot of time to get an official account. It takes a few hours to write an article and typesetting. I think if I don’t get an official account, I must learn a lot more now. The technology is definitely awesome. During the year of working on the official account, although I learned a lot less, I don’t regret it, because I said that technology and grades are only part of the university . Playing the official account , I also learned a lot of other things, such as Operations have also been exposed to the so-called knowledge payment that has emerged in recent years . Many people have also made a lot of money by taking this test.

And through the official account, I also achieved financial independence. I no longer need to ask my parents for money. I was really happy at the time. Later, I bought my own OnePlus 6T and Mac notebook with my own efforts and sent it back to my parents. Several times for money. After playing the official account for one year and three months now, I have probably earned seven to eighty thousand . Although the money is not worth mentioning, I am really happy for me who has not graduated yet. Although I spent a lot of time on the official account, Qiuzhao still found the big factory he wanted to go to with his solid foundation . And relying on the public account, before graduation, achieved a monthly income of over 10,000. Regarding the toss about the official account, I think I can write another long article. If you are interested, you can write an article about the history of the official account.

Everyone, don’t see the official account is so good to make money and just play the official account. A lot of things seem easy, but it is not easy to get it. How many people give up just writing, I also put it halfway. However, I can only say that the official account has brought me a lot of gains, not just making money during the period.

Eight, unfinished

I feel that this article is going to be unfinished, haha. The core wrote his freshman and sophomore toss, accidentally wrote more than 6,000 words, there are very few introductions about learning on the right track, mainly because after on the right track, I feel that there is nothing to say, mainly It is the study of basic computer knowledge . If you want to write in detail, it feels like you need to write in three articles, so I chose to be unfinished. I'll write it later. It is estimated that this nearly 7,000-word article has been written for three or four hours. I don't know how many people have read it, so I won't write that long, otherwise no one will read it, hehe. In the past three years of university, the summary is the toss and exploration of the  freshman year, the accumulation of basic knowledge in the second year, the operation of the junior public account and the preparation for the autumn recruitment interview .

Of course, what I said above are only technical learning and tossing points. There are still a lot of life insights that have not been written, and I will write it later, although you may not be interested. Well, I don’t know how many people saw it here, but it’s true love who saw it here.

Nine, the final last

Although my university is ordinary and ordinary, but I am still satisfied, at least I have my own official account, there is nothing you can do nonsense, find the company you want to go to, oh, university forgot to fall in love, freshman After breaking up with his first love, Buddhism did not continue to find a girlfriend. The goal now is to learn sql + Linux + go well, write technical articles well, prepare well for future work, and earn money! If you like the article I wrote, or if you are familiar with my experience, you are welcome to pay attention to my WeChat public account, and also welcome to add my WeChat.

image.png

Recommended reading

Leetcode has 500 questions, is the written test/interview stable? Talk about algorithm learning

[Hematemesis finishing] Those basic computer knowledge that made you take off: what and how to learn?

After two months, my autumn move is over!

What are the tricks in the algorithm data structure?

image.png


Guess you like

Origin blog.51cto.com/15015171/2554944