JavaRush /Java Blog /Random EN /How to learn Java correctly
Зеленая лягушка
Level 26
Москва

How to learn Java correctly

Published in the Random EN group
How to learn Java correctly - 1
Good afternoon, dear Javarashites and Javarashites! Almost everyone who comes to study at JR is faced with the question of how to study correctly? And right now, without registration and SMS, I will share my experience on this topic. When coming to JR, most people set themselves the task of learning Java to a level that allows them to get a job as a Java programmer. I myself have not yet studied Java to such an extent, and I have never worked in IT specialties. But I’m already eager to teach you. Some ( eg Jesus ) will say that this is the sin of pride. Others ( for example, Freud ) will say that this is an inflated self-esteem regarding the size of one’s own MPH. But that's not true. After all, I won’t teach you Java, but how to learn it. And I won’t teach, but will share my own experience. As we all know, know-how gives a huge advantage over those who don’t know how. So you will get this advantage.

Primary tasks of the Soviet government

How to learn Java correctly - 2
As I already wrote, the goal of most people is to learn Java to a level that allows them to get a job as a Java programmer. It raises the following basic questions. What to teach? In what order should I teach? How to teach? In principle, the JavaRush course itself is the answer to the questions “what to learn?” and “in what order should we teach?” But the answer is far from complete, which the Javarashites and Javarashates begin to guess about already by the fifth level. Accordingly, the answer to the question becomes very important: what else should be studied in addition to the JR course? It is also necessary to answer the question, what does it mean to know the Java language? Do you need to know anything else besides Java to be a Java programmer? To the question, what does it mean to know Java? Three answers can be given:
  1. Know the syntax of the language;
  2. be able to write something that works in Java, which implies knowledge of the language's capabilities, as well as the purposes and cases of their use;
  3. be able to write Java programs.
The first version of knowledge is taught at levels 1 - 10 JR. The second - the rest of the JR course. The third is an internship and independent writing of programs while simultaneously mastering additional technologies necessary for such writing, but not taught at JR.

Young fighter course

How to learn Java correctly - 3
What else besides Java and JR do you need to learn to become a Java programmer? There are three components to the answer to this question. Firstly, you need to study several books at the same time as taking the course. These books supplement the meager theoretical material of the course, contribute to its understanding and help its completion. These are described in the next section. Secondly, if we claim that java is a language for writing “large” back-end business applications, then such writing is impossible without mastering additional technologies. About these technologies here, just below. I don’t consider Android development, because... not competent to study it. Yes, you can write “small” applications and custom applications with an interface in java. But still, that’s not what it’s for, in my humble opinion. Therefore, these options are also not considered. Thirdly, to become a professional you need to study, study, and study again (© V.I. Ulyanov (Lenin)). I will tell you what literature to use for this first of all in the section “Communism is Soviet power plus electrification of the entire country.” Let's look at “secondly” in more detail. There is always data! They need to be stored somewhere. And their enterprise applications are stored in databases. Therefore, it is necessary to gain a good understanding of working with databases. Books from the HeadFirst series are often good for first acquaintance. There is also a book in this series by Lynn Bailey “Learning SQL”. Additionally, you can master Alan Bewley's book "Learning SQL". To hone your skills, there is a good website http://sql-ex.ru/ containing SQL tasks. Front-end and back-end technologies are not much needed by the developer, but an understanding of HTML\CSS is necessary. This is where the HeadFirst series comes to the rescue again in the form of the book “Learning HTML, XHTML and CSS” by Elizabeth Freeman and Eric Freeman. You can learn SQL, HTML and CSS at any JR level. A program written in java must somehow work with the database and the web interface. And here you can’t do without jdbc technologies (this is about databases) and servlets/jps (this is about working with a web interface). Unfortunately, I cannot suggest good books in Russian on these topics. To get acquainted with these topics, you can watch the Basic Course in JDBC and Java EE for Beginners. These are more advanced topics and should be studied after mastering SQL, HTML and CSS. Enterprise applications are written using so-called frameworks. One of the most popular is Spring. There is a good book on this framework, Spring 4 for professionals. Schaefer K., Ho K., Harrop R. You should master Spring after mastering the topics mentioned above in this section. The entire area of ​​​​knowledge "secondly" can be studied simultaneously with the passage of JR. It depends on your level of preparation and availability of free time. If you have time and have reached the appropriate level of understanding, we teach in parallel with JR. No - we leave it at "after JR". Having decided on the answers to the questions of what to teach and in what sequence, let’s turn to the answer to the question how?

How to take mail, telegraph and telephone correctly

How to learn Java correctly - 4
The first and most important thing is the study methodology. To master the material, you need to understand it, remember it and be able to apply it. Once you start taking JR, you should immediately study the book “Think Like a Mathematician” by Barbara Oakley . And apply all the rules described in it. You read the first chapter, study the second according to the rules of the first. The third according to the rules of the first and second, etc. The JR course and the books you study, study as Barbara Oakley teaches. What you read will help you understand the topics being studied. For example, memorizing and understanding material is facilitated not by re-reading the material, but by trying to reproduce it independently. This means that the examples given in the text must be read once to achieve a general understanding of what is happening, and then reproduced independently. At the same time, if difficulties arise, do not immediately go for a ready-made answer, but look for it yourself - remembering and finding it. If you can reproduce it, then the topic is mostly clear. If it doesn’t work, we reproduce it again, working with tomatoes. More on tomatoes later. Secondly, install the Anki program on your computer and smartphone. All material that requires memorization must be learned using the Anki program . For each topic, a set of questions and answers is formed and repeated according to the Anki schedule. Example: Level 20 Lesson 3 5 Anki questions loaded Q: What is object serialization? A: Object serialization is the ability of an object to store a complete copy of itself and any other objects it references using an output stream (for example, to an external file). Source: Level 20 Lesson 3 Q: Algorithm for serializing an object to a file? A: 1) the object being serialized must implement the Serializable interface; 2) create an object of type FileOutputStream, passing it the file name in the parameters; 3) create an object of type ObjectOutputStream, passing it an object of type FileOutputStream as parameters; 4) call the writeObject method on an object of type ObjectOutputStream, passing it the serializable object in the parameters. Source: Level 20 Lesson 3 Q: What is a marker interface? A: An interface that does not contain any data or methods. Used only to "tag" (label) classes. Source: Level 20. Lesson 3 If you don’t teach it this way, then what you have learned will be forgotten after two or three lessons. How long does it take to do this repetition? I think that until the repetition period becomes more than six months. After this, you can stop repeating the topic. Of course, this does not guarantee the effect of “photographic memory,” but the material will be remembered very well. Regarding books. The material on JR is presented very sparingly. And this is a “feature and not a bug”. For more information on topics, Horstmann's two-volume Java Professional's Library, Tenth Edition, is a good choice. There you should read the relevant sections as you progress through the course. At the first levels, you can read the first three chapters from Laforet's book "Java Algorithms and Data Structures". It's about arrays and simple sorting algorithms. Be sure to solve projects at the end of chapters. These projects are excellent examples of good learning tasks. Unlike HeadFirst, where the tasks are bad. Also, simultaneously with the course and even ahead of it, it is advisable to read “Learning Java” by Kathy Sierra and Bert Bates from the HeadFirst series. This will give a good general idea of ​​the language. It's better to learn "tomatoes". This technique allows you to better concentrate, take into account the time spent on studying, motivate yourself, and involve the subconscious in solving problems. It is “pomodoros” that make it possible to implement the principle: it is better to increase the number of attempts to do something than the duration of one attempt . These are the basic principles of "how?" There is a lot more useful information in Think Like a Mathematician.

Communism is Soviet power plus electrification of the entire country

How to learn Java correctly - 5
JR's course is good, but the depth of topics covered is shallow. If you want to dive in, here are 10 essential books for learning Java. Read more here . I will not describe these books in detail, except for Bloch’s “Java. Effective programming". On rutracker.org there is an electronic version of the second edition with additional editing by Linneris. It's better to read this edition.

The Norwegian Asthmatic Skiers Method

How to learn Java correctly - 6
Some Javarashites and Javarashates are 50 years old, or over 50 years old, or about 50 years old. Age creates additional, natural difficulties, reducing learning abilities. Cognitive abilities decrease, fatigue sets in faster, and the overall tone of the body decreases. Hormonal changes in the body make adjustments to mood, self-control, and weaken volitional behavior. Older people may turn to their doctors for pharmacological support in order to reduce the described age-related effects. You can enhance cognitive abilities and memory with the help of so-called nootropics. It is necessary to contact a neurologist for the prescription of appropriate medications if there are complaints of worsening memory and decreased cognitive abilities. Nootropics help, but you shouldn’t expect miracles from them, as from other drugs. To combat age-related hormonal changes, there is HRT (hormone replacement therapy). For men, this mainly comes down to taking testosterone. But as a side effect, there is a high chance of getting cancer and dying in agony. Women are prescribed their own hormones. And the consequences there are not so destructive. In any case, what has been said applies exclusively to older students. All pharmacology is taken strictly as prescribed by a doctor and under his supervision.

The most important arts at this stage for us are circus and cinema.

How to learn Java correctly - 7
Studying and especially studying the exact sciences is a difficult and long-term endeavor. In addition, the specificity of the current historical stage and IT specialties turns studying from a temporary process into a way of life. Into a lifestyle that requires a certain amount of stress. This must be realized and one must be prepared for it. Let us remember Baudrillard with his simulations and simulacra. The terrain plan is not equal to the terrain itself. The terrain plan is a distortion of the terrain. When you fall under the influence of advertising for IT courses and are delighted with the size of programmers’ salaries, you should remember that these are simulacra, not reality. A lack of understanding of the difference between expectation and reality led to the emergence of the meme “enter IT.” A meme that characterizes a superficial, “hat-kicking” approach. “Login to IT” will not work. Only long and hard work can result. You can learn to program in 10 years , no less. No matter how much you gamify the learning process, it will not turn into a stress-free pastime. That's not how it works. They say about learning foreign languages ​​that they learn by doing it. You sit down on your butt and teach, teach, teach. Java is learning too. For those who are serious about learning, I would like to recommend the wonderful book by writer and teacher Simon Soloveitchik, “Learning with Passion . ” () Its first version was published back in 1976. Since then, a lot has changed in the world around us. But people have not changed, the need for knowledge has not changed. Knowledge now opens even more doors and horizons. As before, without knowledge it is impossible to achieve much and do anything significant. Yes, individuals have learned to consume in incredibly beautiful and fantastically unusual ways. But acts of consumption are not achievements (© J. Baudrillard). And the importance of knowledge has not diminished at all over the years. According to some terrible and catastrophic forecasts, modern society is heading towards cyberfeudalism . But even in such a future, segregation will be carried out not only by wealth, but also by knowledge. Only the rich and their intellectual techie servants will eat. So studying will help you prepare for any future. And to cyberfeudalism, and to the World of Noon . Best regards, Green Frog. PS The title photo shows one of the bookshelves of the author of the article. PPS To be continued.
Comments
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION