Computers Windows Internet

Java programming from scratch online. Ease of use

More recently, we held a webinar and we, as owners of online Java courses, were asked to tell us how you can learn Java on your own. We decided to write some proven ways to learn Java, or in general, how to learn programming from scratch.

So, you are determined to become a Java programmer. And right away you have a bunch of questions: “Where to start learning Java? How to choose the right training program? How to learn Java and get work experience? ”.

Appendix: Language Selection

Assign a career mentor who is responsible for carefully developing a career plan. Encourage training opportunities for developers to interact and encourage each other. Alan Perlis puts it more succinctly: Anyone can be taught to cut: Michelangelo can be taught not to sculpt. But it won't change your life, or your knowledge as a programmer for 24 hours, days or months.

  • Systematically identify best designers As soon as possible.
  • It's the same with great programmers.
Many people have asked me which language to learn first.

There are many ways to learn today, and programming is no exception. In addition to the classical methods - self-study and offline programming courses - there are currently many online Java courses, trainings, both paid and free.

We've highlighted the most popular ways to learn programming on your own.

There is no answer, but consider the following points. The advantage is that if you can learn from your friends, you win the difference between operating systems or languages. Do you have a large user community or is it just a dead community? Stay away. As a result, these languages ​​have complex details designed for these circumstances. You are focusing on learning to program, you don't need this concern. You need a language that is easy to learn and remember. To interact. The way you usually learn piano: in an interactive way where you hear a note, as soon as you press a key or in an automatic way where do you hear every note when the song ends? It is clear that learning online is much easier, and therefore programming. Insist on an interactive language and use it.

  • Are there books, websites, and forums to find answers?
  • Do you like the people on these forums?
We will now show another type of Internet-oriented development.

So, there are several ways to learn Java:

1. Self-study.

The advantageThis way of teaching is that you yourself can plan absolutely all aspects of your training - what, where, how and when to teach you.

Disadvantagethe same is that not everyone will have the willpower to independently master a huge amount of material, read a bunch of books, get enough practical experience and not give up everything at the beginning of the path. In addition, everyone will have doubts: "Am I going the right way, am I doing everything right?"

In a very simple form, a markup language is a set of rules and codes for defining how web content will be defined, how a page will be formatted and displayed. It has a cover, its colors, headings, a summary, when a chapter ends on a page, the next chapter only starts on another page, there is a space between the spacing between a paragraph and another, foreign words are in italics, quotes are quoted, etc. etc. these are formatting rules, a set of templates, orders for the text to be displayed.

For example, we could do it, the same, the organization is terrible. It says that when there is a place, a paragraph, a heading with a capital letter, with different colors, where the image stays on the page, it will say that the menu is next, and the heading is on top, etc.

2. Free online course.

The advantage this method training is, of course, the cost - it simply does not exist, all materials are free and this is a huge plus.

Flawalso lies in the fact that, as practice shows, not everyone has enough motivation to complete an online course in Java or any other language, and many quit, in fact, without even starting to learn.

This is marking, formatting of content. Imagine this page with no heading, no spaces, the same font size, color, picture above or after the text. And it doesn't matter if your content is social network, scientific article, by e-mail to your boss or images and texts of an online game: all information should be well organized, aesthetically pleasing, make sense.

It was absurd, disgusting work. And who created the text had to worry about organization and style. Thus, we create a file that defines the rules: the distance between one paragraph and another is as follows; the color of the title is as follows; the font size of the title is this and the size of the text is that. So the font color and size will be like this. Will this page remain in the sports section? Then use the green theme.


3. Offline training.

The advantageSuch a study of programming in Java will be that you can communicate with the teacher live, in addition, there will already be a small community of your colleagues with whom you can discuss the issues that have arisen and their solutions.

That is, we define a style sheet, a sheet with a set of rules. This way you can have billions of pages, but the style of the ones you are about to define is one file. If all your headings are blue and you want to change them to red, go to this stylesheet and change them only there, as this is where all pages will consult to find out what color to use in the headings. Consequently, you only change once in one place, and this effect spreads throughout the site.

He programs "this menu is on the side, these links are here and the content of the article here, what will be in this article or the design of the site, I don't care." If you used the Internet in the 90s, you should remember that sites were solely for displaying content, mostly text. When I had a photo, it opened very slowly and made the page very heavy.

Flaw- this is that, as a rule, such courses are not taken at the most convenient time for mastering the material - in the evenings, and the time spent on the way back and forth can be very significant. In addition, the cost of the course includes the cost of renting premises, equipment and materials for teaching.



Today, with good internet connections, things have changed a lot. Now you know what's going to happen on the Internet. The point is, a lot is changing, and what you learned five years ago may be far behind schedule today. Therefore, it is very difficult to decide what to study. But there is a fact: you have to study different things, different technologies, be always up-to-date and get information about what's new.

Why choose this course?

We understand that it is important to learn the basics, make a website on a nail in a notebook, in order to understand how everything works. As a result, Learning to program in this language can really impact this particular moment of the employment crisis. With this course, even if you have never planned before, you will learn all the basic concepts of this language in a simple and gradual manner, thus, complete syntax, object-oriented programming, graphic creation. user interfaces, exception handling, etc.

4. Personal coaching / mentoring.

Advantageof this way to learn Java or another programming language is that you can find yourself an experienced mentor-mentor who will work with you personally, prepare individual tasks especially for you, do a code review of your code and point out exactly your mistakes and gaps in knowledge.

What will you learn in this course?

The course was designed for students with no programming experience, so nothing is taken for granted. Application development using object programming. Create simple and fast graphics applications for your application. Complete the first full applications and distribute them right away.

Of those in the top ten, 9 are programming books. Similar results also arise when we change the search for "learn" to "learn" or "hours" with "days." The bottom line is that either people are in a rush to learn something about programming, or programming is something that is sometimes easier to learn than anything else. Fellezin and colleagues hint at this trend in How to Design Programs, saying Bad Programming is Easy. Idiots can learn this in 21 days, even silly.

The only one disadvantageit will be that the time of an experienced mentor is worth a lot, and finding a person who will agree to give you so much attention is not always easy.


5. And finally, training in the company.

There is an option to get a job at any training courses in an IT company, where, most likely, you will work on a project that is close enough to real conditions, plus there is a high probability, after successfully completing the course, to get a job in this company. However, the competition for such trainings is often very high and you already need to have confident knowledge to be hired.

Learn to program in 10 years

The comic tells us even more about the subject. Find out: In 24 hours, you won't have time to write any meaningful programs, or to learn from your successes and failures in parallel. Thus, a book can only mean superficial knowledge, not a deep understanding of things. But then you won't learn to program; you will learn how to complete this task. within 24 hours: unfortunately this is not enough, as shown in the next section. As Alexander Pope said, “learning a little” is a dangerous thing. ... Researchers have shown that it takes about 10 years to develop experience in various fields, playing chess, musical writing, telegraphy, painting, piano, swimming, tennis, neuropsychology, and topological research.


In any case, you can learn Java or learn programming from scratch, just find the way that works for you.

Good luck in all your endeavors! If you know some more methods and are convinced in your practice that they work, write to us. We are always ready to communicate with people who are open to dialogue.

The key in the practice in question is not just repeating the same thing over and over, but challenging yourself to a task that is beyond your current ability, trying to solve it by analyzing your performance as you perform it, and then that, and also fixing yours. errors. It turns out that there are no shortcuts: even Mozart, who spent another 4 years in the musical miracle, takes another 13 years to create world-class music. In a different genre, the Beatles took the stage with a series of greatest hits, and the Ed Sullivan show over Malcolm Gladwell popularized the same idea, albeit focusing on 10,000 hours instead of 10 years.

Do you want to learn how to program? Sound thought: such a skill, most likely, will not be superfluous. True, this will require a little work. This is a cycle of classes that will allow you, in the foreseeable future, not only to get an idea of ​​what programming is, but also to learn how to create programs of non-trivial purpose and size.

And what, you want to be a programmer

Perhaps 10,000 hours, not 10 years, is the magic number. This suggests that "Life is a pause, the craft is long, the probability is short-lived, the danger of experiment and evaluation are difficult." Of course, no number can be the final answer: it doesn't seem reasonable to assume that every thing - programming, chess, play pools, music - will require skill at the same time, and that all humans will share that equal amount of time. Here's my recipe for programming success.

Get interested in programming and try something because it's fun. Make sure you continue to have fun to invest in those 10 years or 10,000 hours. In technical terms, the maximum level of performance for every person in a given field is not automatically achieved based on advanced experience, and the level of performance can increase even for experienced people as a result of targeted improvement efforts. And the most effective learning requires a well-defined task with an appropriate level of human difficulty, information such as feedback and the ability to repeat, and the ability to correct mistakes. Talk to other developers; read other programs. If you want, you spend four years in college. This will give you access to an assignment requiring accreditation and give you a deeper understanding of the area, but if you don't like school, you can get the experience on your own or at work. Work on projects with other developers. Be the best programmer on some projects; be the worst programmer for others. When you are the best, you need to test your project leadership ability to inspire others with your vision. When you are the worst, you find out what the masters do, find out what they don't like to do. Understand a program written by someone else. See what it takes to figure it out and fix it when its authors are not at hand. Think about how to design your programs to make them more convenient for those who will keep them for themselves. Include a language that focuses on class abstractions, that focuses on functional abstraction, that supports syntax abstraction, that supports declarative specifications, and one that emphasizes concurrency. Remember, "computer science" has a computer. You need to know how long it takes for the computer to complete an instruction, retrieve a word from memory, read a sequence of words on disk, move to a new location on disk. Get yourself involved in standardizing one language. In both cases, you will learn what other people love in the same language, how deep their feelings are, and maybe even a little about why they feel that way. You see how to get rid of the effort to standardize the language as quickly as possible. With all of this in mind, it is about how far you will learn in the books.

There are several ways to teach programming.

The first and, perhaps, the most common one is from books. All you need to do is find a suitable book and sequentially, page by page, read it and complete all the proposed exercises (if any). If the book is worthwhile (preferably from the authors of a technology or programming language), then sooner or later, this method will give excellent results: you will know and understand most of necessary material... But this method is long and not very suitable for those who are just starting to program and whose experience is limited to the most primitive information that he or she received at school or at work. You need to have a fair amount of patience, perseverance (often even stubbornness) to "wade" through a lot of new concepts, concepts and unusual terminology. Still, books are good for those who have at least basic knowledge of the subject and do not stop at every line just to simply understand what is at stake.

In addition, without experience, you are unlikely to choose exactly the book that will provide the necessary knowledge. The book market is littered with high-quality waste paper. But the value of most of these manuals, textbooks and books is more than questionable. Sometimes a small and nondescript book at a ridiculous price turns out to be immeasurably more useful than a luxurious edition with excellent graphics on coated paper (and a price ten to fifteen times more).

The second way is courses with an experienced teacher. The ideal option is when you and the teacher work in pairs: the teacher - explains and shows, you - try to repeat and develop. You can stop at any time and clarify what you do not understand. The teacher himself can adjust the pace of learning in accordance with your successes or failures. It is somewhat worse when there is only one teacher and several students. Usually this method also gives excellent results, provided that the group is not very large (say, 3, maximum 5 people) and the level of preparation of all students is approximately the same. If there is an opportunity and finances allow paying for such courses, it is better to use them.

Unfortunately, this method is not available to residents of small settlements where there are no training centers, as well as to those whose income level is not high enough to afford such a “luxury”. Of course, it happens that the employer at his own expense sends his employees to training courses, but then someone is as lucky.

The third way (and right off the bat - the best of all) is to work alongside an experienced mentor. Books - by books, courses - by courses, and personal example, especially in real ("combat") conditions, is just a godsend. Sometimes it’s enough to just sit and observe, asking questions as needed. If the mentor is a sane person (and real professionals, as a rule, sane and benevolent people), then in a few weeks you will get something that will allow you to start working on tasks of average complexity and not go to reference books every minute in search of elementary things. During such a period, you, of course, will not become a professional, but you will not be a complete beginner either. Of course, in the learning process, you need to remember about a sense of proportion and not "bother" a busy specialist with very elementary questions: first you need to look for the answer yourself. So you will get the necessary knowledge and skills practically free of charge and in a very short time.

But what if this method is not feasible, but you want to learn? Is it really possible to take a chance and turn to books? Still, the situation is not hopeless. We decided to prepare a small training course for beginners. This course contains only the essentials, but provides a sufficient understanding of the subject and skills that will allow you to move on on your own. Of course, the absence feedback there will be a known obstacle between you and us, but we hope that with some effort you will be able to learn a thing or two. In any case, we hope that after studying this course in full, you will be able to move on on your own. Of course, we do not promise you an easy life, but we will try to help. Before moving on to the actual course itself, read and think about a few recommendations:

  • Information Technology you can, of course, study without a computer, but you must admit that with a computer it is still more comfortable and more practical; therefore a computer is necessary. Any model no older than 5 years will do. There are no special requirements for the filling and hardware configuration, but remember these simple rules - the more RAM, the better, the better the monitor, the more convenient it is. In short, don't skimp on trifles, but don't waste your money either. A typical laptop that costs about $ 500 or more is just fine.
  • any modern operating system(which is absolutely not important): Windows, Linux, MacOS, FreeBSD, etc. Since the overwhelming majority of users have an operating system of the Windows family (of one version or another) from Microsoft on their computers, in what follows we will focus primarily on it. You must be able to work on a computer (use a keyboard, mouse, USB devices, a printer, connect to the Internet, etc.). Skills of working with text editors or spreadsheets. In general, remember that the main tool of the programmer (after the head, of course) is the keyboard, so if you can hardly find the space bar on the keyboard, then you will have big problems... Only practice can help here.
  • as for the required for this course software, we will talk about it next time. Let's just note that you need an Internet connection to get it. If you are reading these lines, then you already have such a solution.
  • the course is designed for regular work. Resist the temptation to skip over what seems elementary to you and jump to next topic: this is fraught with unpleasant consequences, tk. you may miss a subtle point or an important detail.
  • information technologies are oversaturated with specific terminology, mainly of English-speaking origin; almost all valuable documentation is written in English language... So it is useful to arm yourself with at least some kind of dictionary (any electronic one will do and not even the most powerful one) - gradually you will get used to and learn most of the necessary phrases and terms.
  • the duration of each lesson is from 15 to 40 minutes. Each lesson should be studied completely: from cover to cover. We tried to make the course as clear as possible, but without water and lengthy arguments. Examples of program code must be typed and tested on your computer (this, however, is not always feasible if a big issue is being considered and the discussion is stretched over several sessions, but sooner or later you must - even must - get the result as it should be).
  • if you are tired - take a day off, then another. No catastrophe will happen. But not more. Do not try to make up in a day what you had to learn for two months - you will get tired, confused and, in the end, disappointed in yourself or in what you were doing. If there is a break, then don't rush to catch up. The main thing is not to remember, but to understand. What is understood is remembered by itself. So no cramming.
  • start a notebook or notebook and mark in it what you think is important. No need to take notes - just write down what you - specifically you - thought interesting, stupid, funny. It can be a phrase, a piece of code, a quote, a caricature - whatever. Review earlier entries periodically; it will help you remember what you have learned.

Our approach is closest to the third way of learning - i.e. learning with a mentor. Our principle is simple: show and explain key details. We will not take a long, boring and tedious discussion of simple and obvious things (about them, if necessary, you will find enough information in books, documentation, and specialized forums). We will gradually develop a small application that will show you the work of a professional programmer. But "small" does not mean "simple" - not at all! You will have to work hard to get the result. But do not be afraid - the result is worth it. The main thing is to want and follow the set goal, overcoming hills and holes along the way.

Now, let's take a break. Prepare your computer for the next lesson — make sure your hard disk has at least 1 GB of free disk space; if the RAM is less than 1GB, then find out if it can be increased and be sure to increase it (with RAM do not save at all: if the computer allows you to install 4 GB, then install that much; Believe me, it pays off with the comfort of work and time saving): we have a little tedious, but necessary work to install multiple programs. So see you soon!