Java programming training. Java developer. Basic level Tested operation only under Windows

Java. Fast start
Basics of the Java language using the example of developing a small game

The video course will introduce you to one of the most popular, beautiful, widely used, reliable programming languages ​​- Java. In the first part, you will learn the basics of the language and learn how to write simple console applications. Next, we will tell you how you can create a simple game with a graphical interface in just a few minutes and without using third-party libraries. The purpose of the course: to reveal some of the language's capabilities and show that Java is simple and fun. After successfully completing the course, you will be able to use the model we created to develop your own games. To effectively master the material, minimal programming experience is required, so for complete beginner developers, we recommend that you first take the free online course “Programming Fundamentals.”

Lesson 1: Introducing the Java Language

Brief description of the language; installation of the necessary development tools; writing the first program.

Lesson 2. Variables, data types, branching

Description of the fundamental concepts of the Java language using the example of a simple console calculator.

Lesson 3. Cycles; game "Guess the number"

We are starting to write a console game “Guess the Number”, using which we will continue to study the basics of the language.

Lesson 4. Methods

Demonstration of methods using the example of improving the game “Guess the Number”.

Lesson 5. Finishing the development of the game “Guess the Number”

We bring the game code to the final version.

Lesson 6. Development of the game “Catch the Drop”. Part 1

Create a game window.

Lesson 7. Development of the game “Catch the Drop”. Part 2

Learn to load and draw pictures; Let's implement the game loop.

Lesson 8. Development of the game “Catch the Drop”. Part 3

We catch mouse events and finish developing the game.

Lesson 9. Summary

We assemble the project into one jar file so that it is convenient to run it without a development environment; Let's sum it up.

Programmers are not born, they are made. And this means that you need to at least try. For this purpose, we created the interactive course “Programming Fundamentals”. You will learn all the most useful and relevant things about modern programming languages ​​and get your first experience in writing code. We thought about how to create such an online course so that it would become a bright and memorable event in the life of every beginning programmer. After all, further interest in this area largely depends on the first acquaintance with the code. We will tell and show how things work, what professions are in demand and what prospects for development exist in each area of ​​the IT sector. During the course we will create a website with browser games and publish the project on github.com. This site will become the first case in your future portfolio, which is very important, because a portfolio is the first thing people pay attention to when applying for a job. By completing this course, you will take the first step towards serious learning and will be able to clearly determine the direction of your interests!

Lesson 1. Concept of algorithm, variables, data types.

Introduction: what will we do on the course?
Will I become a successful programmer?
The concept of an algorithm. Setting up the working environment. Hello world.
Introduction to Variables.
Computer architecture
Data types: strings and numbers. Operations with numbers and strings.

Lesson 2. Branching. Cycles.

Branches: if/else
Loops: while, for
Logical operations. Do while loop.
Development of the game "Guessing"

Lesson 3. Arrays and functions

Getting to know the array. Memory development program.
Changing the length of an array. Multidimensional arrays. English language learning program.
Getting to know the functions. Functions without a return parameter.
Functions with return parameters.
Recursive functions. Development of a program for teaching touch typing.

Lesson 4. Website layout: introduction to HTML and CSS

Introduction to HTML
Introduction to CSS
We post a riddle game on the website
We place the guessing game on the website
Publishing a website to hosting

Lesson 5. Review of modern programming languages

How to choose a programming language and direction?
Choosing a Programming Language: Web Development
Mobile development. Universal programming languages
How to learn to be a programmer?

A course for beginner developers, those who want to quickly master the basics of object-oriented programming (OOP) and learn how to create their own projects. The main feature of the course is a combination of studying the theoretical foundations of the Java language and practical online training under the guidance of a mentor.

Lesson 1: Introduction to Java

  1. How Java works. JVM. General principles. Tools.
  2. Hello, world!
  3. Variables and data types.
  4. Methods and their application.
  5. Conditional statements.

Lesson 2. Loops and arrays

  1. The concept of cycles. while loop;
  2. Loops for, foreach;
  3. The concept of an array;
  4. Analysis of homework solutions.

Lesson 3. Workshop. Procedural Tic Tac Toe

  1. Algorithm development;
  2. Logic creation;
  3. Creating computer opponent logic;
  4. Analysis of homework.

Lesson 4. Introduction to OOP

  1. What is OOP and why is it needed? Basic concepts;
  2. Creating classes and objects;
  3. Encapsulation;
  4. Inheritance;
  5. Abstract classes, interfaces and polymorphism;
  6. Analysis of homework.

Lesson 5. Memory, data storage

  1. Data storage in Java: stack, heap;
  2. Garbage collection;
  3. String classes, string pools;
  4. Analysis of homework.

Lesson 6. Graphical interfaces

  1. Swing library and other graphics libraries. Swing Basics;
  2. Placement managers and element alignment;
  3. Events in Swing. Menus and dialog boxes;
  4. Analysis of homework.

Lesson 7. Workshop. "Tic-tac-toe" in OOP

  1. Definition of classes and GUI;
  2. Logic development, part 1;
  3. Logic development, part 2;
  4. Analysis of homework.

Introduction to Git
Git Basics

Over the course of 13 videos, we will get acquainted with the basics of the Git version control system. Let's find out why it is important in modern development and collaborative programming. Let's get acquainted with the basic concepts of Git: repositories, commits, branches and tags. Let's learn basic operations: creating and cloning a repository, merging branches, requesting change history, and much more. Let's see how to submit homework using Git. This course is basic and after it you can start learning any programming language. In addition, you will be prepared for the interview, where several questions usually focus on the version control system.

Lesson 1. Introduction to version control systems

What is a version control system?
Types of version control systems
Git and its benefits
Documentation

Lesson 2. Working with the command line

What is the command line?
Why is the command line important?
How to open the command line?
Useful commands

Lesson 3. Working locally with a Git repository

Introduction to the Console Client
Git setup
Initializing the repository
Cloning a repository
Graphical git clients

Lesson 4. Basic Operations

Indexing
Publishing changes
Commits
Cancel indexing
Current status

Lesson 5. History of the git project

History of changes
Rollback according to project history
Change credits: git blame
Ignoring .gitignore files
Website gitignore.io
Keeping folders.keep

Lesson 6. Branches

Branch management
Creating and deleting branches
Switching between branches
Conflict methods and their resolution
git merge

Lesson 7: Creating a remote Git repository

Git hosting (GitHub, GitLab, Bitbacket)
Creating your own bare-git repository
Register on GitHub
Publishing changes to a remote repository

Lesson 8. Deleted branches

Repository names
Multiple repositories in one project
.git/config
Managing branches on a remote repository

Lesson 9. Versioning

Versioning methods
Tags and their relationship with commits
Adding a tag
Deleting a tag
Managing a tag on a remote repository

Lesson 10. Merging and transfers

We merge the changes. git merge
We move the branches. git rebase
Moving commits. git cherry pick
We merge the commit into one. git squash
Hooks
Nicknames

Lesson 11. Gitflow

How is it used and why?
Test cycles
Possibly Blue/green
Release branches
Hotfixes

Lesson 12. SSH

SSH protocol
Why is it used?
Creating Keys
Forwarding
SSH agent
Copying files via SSH
Windows: Git for Windows
Using SSH with Git

Lesson 13. Submitting homework via Git

Database Basics. 20 lessons.
Database Design and SQL Queries

Databases (DBs) are data storage and processing systems that are accessed using the SQL (Structured Query Language) language. Any modern website, game or desktop application needs data storage. At the moment, there are many different database management systems (DBMS), the most popular being MySQL. “Database Basics” is 20 intensive video lessons (10 minutes each), where we will go through all the stages of database design using the example of an online store using the SQL query language. After this course, you will be able to use various databases, such as MS SQL and Postgre Sql, since the SQL syntax for them is practically the same.

Lesson 1: Relational Databases

What is the difference between a database and a DBMS; what databases are called relational; overview of modern DBMS.

Lesson 2. Installing a DBMS

Installation of the MySql DBMS and the Mysql Workbench graphical application.

Lesson 3. Database design, normal forms

Data design in Excel; normal forms; primary key.

Lesson 4. SQL CREATE command

Creating tables in the MySql Workbench GUI; CREATE command; data types; work in the console.

Lesson 5. SQL INSERT command

Filling tables with data using a graphical interface; INSERT command; AUTO INCREMENT.

Lesson 7. SQL commands DISTINCT, ORDER BY, LIMIT

Receiving and filtering data using SQL commands DISTINCT and LIMIT; sorting using the ORDER BY command.

Lesson 9: Data Consistency

The concept of consistency or consistency of data.

Lesson 10. Foreign key

The concept of a foreign key and restrictions on column values; FOREIGN KEY CONSTRAINTS.

Lesson 11. Creating tables with a many-to-many relationship

Adding a cart to the online store database.

Lesson 12. Composite primary key

Using a composite primary key when designing a table with a many-to-many relationship.

Lesson 13. Joining data from multiple tables

Retrieving data from several interrelated tables; inconsistency of the approach using several SELECTs.

Lesson 14. INNER JOIN operator

Joining data from multiple tables using the INNER JOIN operator.

Lesson 15. Operators LEFT JOIN, RIGHT JOIN

Joining data from multiple tables using LEFT JOIN and RIGHT JOIN operators.

Lesson 16. UNION operator

Combining the results of multiple SQL queries using the UNION operator.

Lesson 17. Aggregation functions

Aggregating functions COUNT, SUM, MIN, MAX.

Lesson 18. GROUP BY operator

Group a selected set of rows using the GROUP BY clause.

Lesson 19. Indexes

Filtering in GROUP BY using HAVING; increasing the speed of query execution using indexes.

Lesson 20. Transactions

Transaction concept; TRANSACTION statement; ACID requirements for the transaction system.

This course is for those who want to strengthen their knowledge in Java. During the course, students master the theory and, at the same time, under the guidance of a teacher, develop a full-fledged project in Java from scratch, thus gaining practical experience in applying complex object-oriented concepts characteristic of the language. Before taking the course, it is recommended to master the course for beginners: "Java. Level 1".

Lesson 1: Object-Oriented Java Programming

In-depth study of OOP issues in Java: basic principles of OOP, abstract classes, interfaces.

Lesson 2. Exceptions

Concept of exception handling, its comparison with traditional error handling mechanism, try-catch-finally block, types of exceptions, standard exceptions in Java and their role, throwing an exception from a method

Lesson 3. Collections

Types of containers in Java: List, Map, Set. Basic implementations and usage techniques, walking through collection elements, comparing and sorting collection elements

Lesson 4: Advanced GUI Creation

Create your own controls. Working with graphics. Event Handling

Lesson 5. Multithreading

Threads in Java, ways to create and manage thread states, main problems when working with threads and synchronization.

Lesson 6. Working with the network

Sockets Writing a simple echo server and console client.

Lesson 7. Writing a network chat. Part I

Writing the client and server parts of the chat. Multi-threaded processing of client connections.

Lesson 8. Writing a network chat. Part II

Interface development for the client side. Authorization. Mechanisms of interaction between client and server.

Java. Level 3. 2 months.
Professional software development

The course is designed for those who want to learn about the advanced features of the Java language and gain practical experience in writing applications. To successfully complete the course, students must understand basic programming concepts and have some basic experience with Java. The course covers all the basic topics required for professional work.

Lesson 1. Generalizations

What are generics, generic classes, methods and interfaces, inheritance of generic classes, restrictions when working with generics

Lesson 2. Databases

Relational databases, SQL query language. Operators SELECT, INSERT, UPDATE, DELETE. Connecting to the database via JDBC, sending requests and processing results

Lesson 3. Input/Output Tools

Overview of input-output tools. Byte, character, buffered streams. Network communication, object serialization/deserialization

Lesson 4. Multithreading. Part I

Multithreading in Java, shared memory, thread management and synchronization issues, interaction of execution threads, deadlocks

Lesson 5. Multithreading. Part II

Classes for working with multithreading, Concurrent collections, analysis of practical examples

Lesson 6. Review of development tools

Logging. Testing using JUnit, writing tests, Assert class

Lesson 7. Reflection API and Annotations

The concept of reflection, Class data type, class metadata, access to fields and methods, annotations and their use, writing your own annotations.

The course focuses on the use of data structures and algorithms in Java programming. Data structures define how data is stored in computer memory. The course will cover the following data structures: arrays, stack, queue, lists, graphs, trees, hash tables. For each data structure, algorithms will be considered that provide various operations on these structures, for example, searching or sorting. The course is designed for students who have completed the basic course on Java SE.

Lesson 1: Introduction to Algorithms and Data Structures

Introduction to algorithms and data structures.

Lesson 2. Arrays and sorting

Working with arrays and ways to sort them.

Lesson 3. Stack and Queue

Overview of data structure, stack, queue and priority queue.

Lesson 4. Linked Lists

Learning to create and use lists.

Lesson 6. Trees

Let's look at working with binary trees.

Lesson 7. Graphs

Let's consider working with one of the most flexible and versatile structures.

Lesson 8. Hash tables

Fast search and insertion using hash tables.

Internship at GeekBrains. 2 months.
In webinar format

During the internship, students will have to work remotely on an Open Source project or startup. Students will be asked to choose from a set of projects available for development. Students will learn to work in a team, communicate with other developers, product and project managers, designers, learn flexible methodologies, the SCRUM framework, and master the principles of remote work. The result of the internship is the ability to work in a team, the addition of a portfolio, and the opportunity to indicate work on a project as core work experience in your resume. The internship takes place in the format of part-time remote work, weekly status meetings with the teacher in webinar format.

Lesson 1. Introduction, project selection

What roles are there in development? Product Manager, Project Manager, developer, designer. What is MVP. Architecture of modern service. How developers interact with each other. REST API, Web Socket. Backend, Frontend, mobile applications. Microservice architecture. Basics of remote work. Sign up for teams.

Lesson 2. Development methodologies

Review of methodologies. Cascade (waterfall), Agile manifesto, Kanban, Scrum. Where and for what they are used. Mixed methodologies.

Lesson 3. SCRUM methodology

Work using SCRUM. Sprint planning. Backlog grooming. Sprint goal. Increment. Flexible methodology in remote working conditions. Task trackers (Trello, Favro)/

Lesson 4. User Story Mapping

Types of tasks. Decomposition of tasks. Mapping user stories. Working on user stories. Working with technical specifications using waterfall and flexible methodologies.

Lesson 5. Responsibility, motivation, personal growth

What and how to motivate yourself. What are the levels of motivation? How not to burn out at work. And how not to forget about work.

Lesson 6. Writing a resume

How to write a resume so that HR doesn’t reject it. How to interest an employer. How to demonstrate the skills acquired in your studies if you don’t yet have relevant work experience.

Lesson 7. Preliminary summing up, preparation for project defense

Analysis of student resumes. Preliminary summary. A little about startups, monetization, investors.

Lesson 8. Summing up, demonstrating the final project

Demonstration of a working prototype by students. Discussion of the results obtained. Feedback from the teacher. Parting words.

How to become a programmer. 13 lessons.
Step-by-step instructions for finding a job

A career in programming is an exciting journey into the world of modern technology. Each developer has his own story and experience. However, there is a basic algorithm that will help you take the first steps correctly and lead to your goal. We have prepared 13 video lessons in which we answered the most pressing questions about a programming career in companies and in the freelance market. Do you often think about getting a job and feel that you are ready to start earning money? Then this video course is for you.

Lesson 1. Profession “Programmer”

Features of the profession; FAQ; demand in the labor market.

Lesson 2. Career guidance

Will I become a successful programmer? Success factors.

Lesson 3. Let's start writing a resume

The most important thing is the first impression; what to name the position.

Lesson 4. Choosing a programming language: web development

Review of languages ​​for website development: HTML, CSS, JavaScript, PHP, Python, Ruby, C#, Java; right choice.

Lesson 5. Mobile development. Universal programming languages

Overview of languages: Java, Objective-C, Swift; C#, C++, Python: the right choice.

Lesson 6. Rules for an effective resume

List of technologies; portfolio; diplomas and certificates; personal qualities. View of a technical specialist and HR.

Lesson 7. Job search: what, where, when

Dream job, psychological aspects; request technique.

Lesson 8. Interview and probationary period

Interviews for programmers: how to behave, what to say, what to listen to; probationary period and rules for passing it.

Lesson 9. Freelancing: first steps

Review of freelancing platforms; registration features; account registration; how to stand out among the majority of performers.

Lesson 10. Freelancing: getting started and finding orders

Order search strategy; priority of orders: what to take on; Negotiation; tasks and pitfalls of technical specifications; methods of contacting the client; writing answers and attracting clients' attention; the right questions.

Lesson 11. Freelancing: order fulfillment and payment

Payment methods: bank transfer or cash; prepayment or postpayment; an overview of situations in which each method will work better; preparation for work and binding agreements with the client; features of the work process; final stages of cooperation; sharing feedback; "consult" technique.

Lesson 12. Specialties in the field of IT

How does development work in large companies? Who are analysts, designers, testers, architects, project managers, team leads, etc.

Lesson 13. Career ladder in IT

What does the career ladder in IT look like? Which specialties are easier to start your career in? What are the development prospects?

The course, developed jointly with the EnglishDom school, will help you master key English-language topics that are relevant for beginning IT specialists. Maximum practice and focus on IT vocabulary. 10 lessons cover the preparation of CVs, technical specifications and business letters, interviews and negotiations, international communication when promoting your project. In live dialogues in English, students will reinforce phrases that will be useful in their work for developers and testers, marketers and designers.

Lesson 10. Start up

We talk about our project and introduce the team in English.

The programming language “Java” can be called the Esperanto language in the IT world. Java was invented in 1995 and since then its popularity has been growing inexorably, despite the emergence of a huge number of new modern programming languages. The secret of Java's popularity is its versatility and relative simplicity. “Write once, run anywhere,” which is why many large companies choose Java more often than any other language when ordering commercial projects.

I could talk for hours about the versatility of Java. Java is the lingva franca of programming. If you “speak” Java with some developers on the forum, there is a very high probability that even those who specialize in other languages ​​will understand you without translation.
As of 2018, there are more than 150 programming languages ​​in the world, but all of them, to some extent, take their origins from Java.

This popularity directly affects the demand and salaries of Java programmers. Only the people who manage them earn more than Java Developers.

Each module studies a specific cluster of theoretical and practical knowledge that will allow you to make a name for yourself in the world of information technology in just 6 months!

The curriculum of the modules is compiled by practicing specialists who know what to pay special attention to. The course goes “from small to large” and is designed for students who are starting from scratch. Each subsequent module is a logical continuation of the previous one. The curriculum allows you to build up your knowledge gradually.

If you have firmly decided to start learning programming, but don’t know which way to approach this issue, don’t know which language to choose and which IT industry to go into, then this course is for you! The course is designed to teach you the basics of programming from the very beginning. We will teach you to look at the program through the eyes of the Creator, and not the ordinary user.

Why are our Java courses so cool?

1. Everything in one place.

If you don’t know where to start learning java, then we will answer you “You need to start learning java by calling EasyUM.” We have compiled a super program of Java courses, comparable to studying to become a programmer at a university in terms of knowledge coverage. During the course you will learn all the necessary skills to work as a Java Junior.

2. In clear words.

Learning to program in Java at EasyUM is easy and relaxed. Our mentors have not forgotten how they felt at the beginning of their personal journey of learning to become a programmer, how they were lost in terms and abbreviations, so they will be happy to explain to you all the difficult and scary moments in simple and understandable words.

3. Combine the program yourself.

Our java courses are designed for everyone who wants to learn, from scratch to tangible results. However, if you are familiar with the syllabus of one of the modules, you can “remove” it from your training program.
Take a confirmation test according to the java course module program that you are familiar with and continue learning as efficiently as possible.

The main advantage of the “EasyUM” java courses is the emphasis on practice. The combination of theory and practice in a ratio of 20 to 80 allows all our students to immediately integrate into their studies, and the presence of practical classes and laboratory work in each module will not allow you to miss “something” important from your studies.

If you still don’t know where to start programming, “EasyUM” is waiting for you!

I'm going to retrain as Java programmers million Human.
I assembled a team and created a training service that I can be proud of.
I'm glad to say that it is now easy to become a programmer, regardless of education and experience.

JavaRush - learning Java programming as an online game


How about a completely new approach to learning programming and education in general? Unlike anything you've seen before. What about learning where there is a goal, a means and an outcome?

I am pleased to present you new online courses for learning programming in Java.

1 Training made in the form of an online game

You take a task, complete it and receive a reward. I think this is both understandable and familiar to you. The tasks will be very diverse: reading code, solving problems, video tutorials, watching Futurama, fixing errors in the code, adding new features and much more.

You might even have to write programs for your robot to fight your friends in an "arena" or something else.

2 Only the essentials

To prevent the course from stretching over 5 years, I threw out everything useful from it and left only the essentials. I analyzed dozens of vacancies on the labor market. The course includes all the topics a beginner needs to know Java Junior Developer to get a job.

3 I approached your training thoroughly

The complete course contains 900 mini-lectures and 2500(!) practical problems. The tasks are small, but there are many, many of them. Just the minimum that, if completed, will give you such valuable experience.

There is also pair work, various games, big problems, real projects and other types of practice.

4 You can't complete the game without becoming a programmer

The course is divided into 80 levels. You can move to the next level only if you have solved most of the problems in the current level. Starting with small and light ones, and ending with large and very useful ones. Everyone who makes it to the end will receive 500-1000 hours of practical experience. A serious bid for victory. And to work.

5 Purposeful preparation for an interview

The last 10 levels focus on resume writing, interview preparation, and teamwork skills. Video recordings of interviews and their analysis will be added. And, of course, typical interview questions with answers.

What are you learning?



For the first 40 levels you learn Java Core. The next 40 are the basics of technologies such as JSP, Servlets, Hibernate, Spring. The Java Core study is very detailed, everything else is in the minimum version that a Java Junior may need when applying for a job.

If there are large IT companies in your city, after level 40 you can try to get an internship with them. If there are none or you lack experience, you can continue learning Java technologies until you reach level 80.

At the end, a lot of time will be devoted to creating a resume, analyzing typical interview questions and recommendations for working in a team.

Course in development (25% done)



Currently the course is in development. About 25% of all work has already been done. It’s enough to try on the role of a Java programmer and evaluate both your strengths and JavaRush. Try it, maybe this small event will begin a series of magical changes in your life.

Future plans

Many features have already been made, many are still being worked on, and the rest is modestly waiting for its turn. Animation, educational games, and a non-linear development scenario will be added. The full course will include 80 levels, 900 lectures and two and a half thousand practical exercises. As well as video recordings of interviews and their analysis. Samples of resume writing and a convenient service for this.

Much will depend on your reviews and traffic to the service.

Why Silverlight?
The game is written in Silverlight. The training course was originally designed as an online game: a lot of animation, built-in mini-games, videos, cartoons and much more. So the choice here was between Silverlight (in which I have good experience) and Flash (in which I have much less experience).

Simple tasks can be solved on the website; for everything else there is MasterCard Intellij IDEA.

Programming is simple and interesting.

Payment

The service is currently free. At the same time, funds are needed for its successful development. A completed service is better than an abandoned one.
Educational grants
It wouldn't hurt much. I hope that my vision of education, described in the article “the right university,” will find a response in the hearts of like-minded people.
Also, I hope for your feedback. The more enthusiastic reviews the project receives, the more likely it is that some good foundation interested in the development of education will give us a development grant.
Freemium model
With this approach, the main functionality of the service is free. The development of the service is carried out using income received from additional paid services. These could be personal consultations, sets of specially written tasks, or deeper training on key topics. Also, for example, video lectures, video lessons, writing a resume, preparing for an interview.

Either I'm too optimistic or too naive, or one of the two.

What is the beauty of the era of online courses?

They will destroy the industry that is mistakenly called higher education.

What about the university?



To get a job as a new Java programmer, you need to have a good knowledge of Java Core, the basics of basic frameworks (Hibernate, Spring, JSP, Servlets) and have at least several months of programming experience.

Formally, they teach you much of this in universities. In fact, almost none of the above.

All universities are different, so, for simplicity, I will compare an average technical university with an average vacancy for a Junior Java programmer and write my vision of the resulting situation. This diagram should not be taken as the ultimate truth, but rather as a simplified view of things, in order to bring at least some clarity.

Java Junior Developer

This is most likely how things are when you have already graduated from college and are just looking for a job:

Everything that the university did not teach you, but that you need in your work, you will have to learn yourself. Most likely, according to the books, 6-12 months. If you have a programmer friend who is ready to be your mentor, this period can be reduced by 2-3 times.

It is also obvious that at university you studied a lot of things that you do not need when you first get a job. You may not need most of this knowledge right away, but will need it in the future. This is how the situation will change in 5 years.

A year ago, such a service was not even in the plans, and I had to train only a few people at a time. Now More than a thousand people use JavaRush and about a third of them practice every day.

So, those who have the desire, but do not have the ability - let's try.

I repeat. Currently the course is in development. About 25% of all work has been done (20 levels out of 80). It’s enough to try on the role of a Java programmer, as well as evaluate both your strengths and JavaRush.

Always yours, General

Personal details and friends
It is necessary in order to display the progress of you and your friends on a star map.

Your audio and video recordings
Futurama series are uploaded to VK. I show them directly from there.
(So ​​as not to overload my server with video distribution)

Working with a wall
So you can invite friends to learn Java with you.
(This can be done in the "Friends" section)

And nothing more.


I tested it only on Windows.

It doesn't seem to work on Linux with Moonlight.
No one has unsubscribed under MacOSX yet.



Why Silverlight was chosen

1 There is no connection between what language we learn and what the application for classes is written in
If I were writing an educational app for the iPad, I would write it in Objective C rather than Java
If I taught SQL, I wouldn't write a client in SQL either

2 Each language/framework has its own purpose
For Java, these are Android and Enterprise.
And for RIA applications, Flash & Silverlight are best suited

3 I have a lot of experience with Silverlight
Of all the technologies I know, I chose the one most suitable for online gaming.
If I didn't know Silverlight, but knew Flash well, the client would be in Flash.

4 There are a lot of IT workers on the hub who basically use Linux and do not use VK.
If you are an IT worker and only have Linux, you may have already outgrown the Java Junior course.

5 We should write everything in Java!
Are there too many demands for a project that started out simply as a desire to help people and a hobby?

6 I saw that Silverlight and immediately closed it
If the technology used to create a client outweighed all the advantages of the project for you, then maybe you didn’t really want it?
Those who want are looking for an opportunity (and I provided it), those who don’t want are looking for a reason.

Ilya Baklanov

First of all, thank you so much for the course! Super homely atmosphere! We studied in a small group, only 5 people, and we met very talkative people with different interests. The good thing is that our teacher devoted a lot of time to each student, no vague answers or superficial explanations. Yes, even I understood everything. My level was zero. The course was structured competently, Alexey did not give the opportunity to get ahead of himself, everything was step by step and after the classes he also answered all vital questions about HTML and website development in general. It is immediately obvious that the teacher really loves his job. Thanks a lot!

Denis Vorobiev

I came to the course with almost zero knowledge of HTML and CSS. I really liked the fact that during each of the courses, and I passed HTML first level and HTML second level, many practical tasks are given and real websites are developed (each level has its own). Therefore, it is not at all difficult to understand what the whole theory is about and how to use it. After finishing the second level, I already had a good modern website, which I didn’t expect from myself). I decided to continue my studies, I want to master JavaScript, without it, as it turns out, there’s no way forward).

Anna Starik

Galkina Maria

I completed the 1st course of HTML training and moved on to the 2nd level. The course is structured logically, the assignments are based on the material covered and there is nothing impossible. The teacher Alexey enlightened me on all issues of interest, you can feel a good school, a lot of experience, and most importantly - interest in your work. The material was presented in a very accessible language. My main education is not in the technical field, but there were no insurmountable difficulties during the training. Another advantage is that the course is neither drawn out nor overly compressed and superficial.

Boldinova Elena

My son completed level 1 of the JavaScript course with teacher Vyacheslav Zhukov. First of all, I want to express my gratitude to this teacher! After classes with Vyacheslav, I saw how my son developed a genuine interest in programming and became motivated for future education. Now a computer for us is not just a tool for computer games, but an opportunity to learn new tricks. Secondly, the training days are very conveniently chosen - three days a week on weekdays or a full day on Sunday. We settled on the second option, because on weekdays it is difficult to combine school studies, additional lessons, sports clubs and courses. During the classes, my son received theoretical knowledge, which was immediately reinforced by practice and always homework, which, I think, is important in the learning process. After classes, the teacher always sent notes, so that while doing homework, it was always possible to return to a complex question and fill in the gap. Thank you for this unique opportunity. We have already rushed to sign up for the 2nd level of the course.

Vintonyak Tatyana

Good afternoon I would like to express my gratitude to Alexey Sokolov for his excellent teaching of the HTML and CSS level 1 course. Everything was told in accessible language and in an interesting way, the time simply passed by unnoticed. Very cozy classrooms and a group of 4 people, Alexey spent time with everyone and sorted out mistakes with everyone. I signed up for level 2 - I’m looking forward to continuing my classes with Alexey. Thanks a lot!!!

Chernov Vladimir

Communicating with individual specialists on work issues can be a serious challenge. I recently felt the truth of this statement when the need arose to communicate with programming specialists on technical issues. The technical specification, which was simple and understandable for them, in my eyes was a long piece of gibberish. Where, although in black and white, but using crocozyabras unfamiliar to me, something was written down. At the moment when I finally realized that I didn’t understand anything, Maxim suggested that I apply here and take a training course.

Convenient location near the Leningradsky railway station with excellent transport accessibility: both public transport (three metro stations in the area of ​​three stations + nearby Sukharevskaya + nearby Krasnye Vorota) and the availability of constantly free parking on Bolshaya Spasskaya Street.

Hello. If you are reading these lines, then I confirm that these are Java lessons. The course is simply crammed with practice (1200+ practical problems) and is designed for an adult audience. I hate boring lectures, so JavaRush is made in the form of an online game (quest).

Did you have to play and level up your characters? Sometimes you don’t even notice how you get involved, right? Can you guess where I'm going with this? In JavaRush you will also have to level up your character. From level 1 to 40. If you complete the entire course, you will become a cool Java programmer.

If you complete 40 levels, you can get a job as a Java Junior. Although there are individuals who have already found a job at level 20. Because there are a lot of practical problems in JavaRush. So many.

The events of the game take place in the distant, distant future, in the year 3017, where people live on Earth along with robots, and anyone can travel through space.

One day a spaceship crashed on an unknown planet...

Background

Team Galactic Rush crashed on an unknown planet. As the ship fell, it crashed into a mountain and was almost completely covered with rock debris. Several days were spent in futile attempts to free the ship. The crew lost all hope of returning home and began to settle in a new place...

A week later, Ellie, the ship's navigator, accidentally discovered that the planet was inhabited... by thousands of wild robots! They could help dismantle the stones and free the ship. But they are very primitive and stupid - they have no skills. They don't even know how to carry stones. Which would be very helpful.

The scientific head of the expedition, Professor Noodles, later recalled:
- A few days later I found a way out. I came up with the idea to take the firmware of the robot Diego, a member of our crew, convert it to the firmware of a bricklayer and upload it to wild robots.

But failure seemed to follow us. After a little research, it turned out that the robots do not have a connector for downloading firmware. They didn't have any connector for flashing at all!

Bilaabo, the only alien in the crew, remembered that he had once seen a robot on his home planet that knew programming. And not only did he know, but he fixed the bugs in his own firmware.

It was at this moment that a brilliant idea came to me. After all, once upon a time I taught one capable robot programming in Pascal.

I ordered the most talented young robot to be captured and taught him to program in Java. Knowing how to program, he could write himself any firmware and help us!

In general, we caught one smart specimen. Diego suggested calling him Amigo, in honor of the brother he never had.

I offered Amigo metal beads for each month of training, and ten dollars a year for subsequent work on removing the blockage. The savages have plenty of this too, because we educate them for free.

Diego would later write in his memoirs:

I was outraged by such a blatant robbery of my brother, but the whole team took the side of the professor and Rishi. Of course, I agreed (for appearances) and offered to help teach Amigo. Hehe! Moreover, no one can train a robot better than another robot.

Everyone was so happy with my compliance that they also decided to take an active part in training the Amigo robot in Java.

You start from the first level. Your task is to upgrade Amigo to level 40. But let's start small. First, get to the second level. Maybe you will like it so much that you won’t even notice how you complete the course and go to work;)

Now let's move on to learning from scratch - press the button “Open next lecture...”.