An email from a student:
========================================================== ============
Instructor Jin:
Hello.
I was a big 3 student and once wrote a letter to you. Under your guidance, I chose to study the java language. Now I am attending a java training class held by a school teacher, I have talked about 80 lessons (45 minutes per lesson) and the content is as follows: Object-oriented, interface, set, event processing, GUI, jdbc (the sequence is written by memory, not by the instructor ). Today, the jdbc operation to retrieve data from the database has just ended. According to the instructor, our jdbc operation has ended.
When I followed the teacher along the way, I felt that I had learned a lot, but I was just getting started, and my knowledge was not just my own. I can write it out of the teacher's instruction in class, but I don't know where to start. I can't remember the relationship between different layers, for example, jdbc has four steps: Driver, connection, fetch number, and output. I know that the specific implementation in the middle can be recalled only after reading the source code written by the teacher. In addition, I am still isolated from various knowledge points, just as my teacher told me today how to output the data from the database, so I forgot to use the set. The teacher remembered it again.
The students in the same class have a better understanding than I have. I have summarized the reasons, probably as follows: I usually do not spend all my time on java during non-training hours, I will listen to other professional courses, and I will also take some time to go to postgraduate courses such as high education. In contrast, my students read java books all the time after class, perform exercises on the machine. So now I am a little confused: I want to learn java well, and I want to prepare for postgraduate entrance exams, it seems that this is unlikely. Should I give up my postgraduate entrance exam and devote myself to java learning?
In addition, is reading a book especially important after class? You introduced me to Li Gang's crazy java handout. I have already bought it. In the mail, according to you, there are many examples in this book, do I have to compare the book without looking at the author's code?
Also, I usually watch a video of Zhang Xiaoxiang, which is quite useful. I would like to ask you what other aspects can be improved during the learning process?
==============================================
My return:
What you said is to concatenate knowledge points, which is actually a central task of learning. The achievement of this task cannot be achieved overnight. The old saying goes: When a book is read for hundreds of times, its meaning is similar. But the times are different. Especially when learning software technology, you can't just read a book, no matter how many times you read it.
For software technology, you do not need to remember it, but you will find it later. As you said about JDBC, you don't need to memorize the steps. Prepare a typical piece of code and place it in a fixed place. You need to open it and see it later. In addition, the vast majority of sample code can be found through Google. What should I do? The program design course is not a political course. Remember to use it more than you can. We recommend that you create a database that allows you to easily find the "sample code", which may be developed using JDBC and applied to your applications. I have also compiled many such small programs. For example, in order to take a postgraduate entrance exam to recite English words, I have compiled a software for memorizing words. For the convenience of writing, I have developed a "Personal Data Management Center" applet to classify and manage various materials in the form of trees. I have been using this tool for many years. I also see that many excellent programmers have the habit of developing some gadgets.
It's hard to get both fish and bear's paw. If you plan to take a postgraduate entrance exam, I suggest you temporarily release Java and take a postgraduate entrance exam first. If you can get to a better school, it will have a great impact on your path to life, and you must really like programming, in the future, I can compile programs for more than ten or even 20 years (I have also written programs for more than ten years, because I like them, so I still write code frequently). Why should I rush for a while?
Li Gang's crazy Java handout has many examples, detailed explanations, and comprehensive content. It is suitable for beginners, but the knowledge points are scattered and it is difficult to help you link them together. If you really want to form a useful "Knowledge Network", you have to "practice" + "Read/access" + "think/understand" and emphasize again, in fact, this is a long-term process. A person must have an attitude of seeking knowledge from students all his life. If this is not the case, he will stop and lag behind the times.
I have never watched Zhang Xiaoxiang's video and do not comment on it. However, I have heard some news that he has spent a lot of effort on these videos. In general sense, as long as a person invests heavily in a job, his work and achievements will not be bad.
After practicing Java through software development, be sure not to be satisfied with function implementation, but try to explore the mysteries behind it, in addition, we have to start to study related computer science theoretical knowledge. For example, if we have learned a database and written several programs, we can find this database management system and learn Socket programming, let's take a look at "Computer Network" and pay attention to the current situation and progress of technology. For example, what new things have been introduced in the Java field recently, what are the mainstream tools used in the industry in a certain field.
Well, let's talk about it so much and wish you a better learning experience.