• ,

Я без ума от моей работы

Достаточно давно планировал написать свою благодарность javaRush да всё руки не доходили. Заранее приношу свои звинения за ошибки в грамотности и пунктуальности.
Все началось примерно в сентябре 2015го. Сидел я на своей работе. Занимался тех поддержкой пользователей в бовольно крупной компании. Было мне 24 года. Никакого отношения к программированию я никогда не имел. Сидел работал, выполнял бессмысленные заявки, помогал криворуким пользователям, заполнял какие то ненужные отчеты. Я понял что нужно что то менять. А вдруг меня уволят? А я так то нефига же не умею =( Примерно в июне 2015го к нам в отдел взяли нового парня. Он писал на пыхе(PHP). Я видел как горели у него глаза когда он создавал свой проект с нуля. И вот в сентябре я понял что нужно что то менять. Думаю нужно учить какой нить язык программирования. Чисто случайно наткнулся на javaRush и тут понеслось. Я как заядлый геймер просто втянулся в обучение. Было тяжело. Многое не понимал. Очень много тратил времени на каждую задачу. Благо на работе делать было нечего и я мог свободно заниматься самообразованием. Я занимался минимум 6 часов в день. За +-2 месяца я прошел 10 уровней. Мне очень все нравилось и хотелось продолжить, но цена за премиум подписку была слишком высока для меня. Решил нужно копить. Пока денег небыло я начал читать «философия java» и параллельно смотреть ролики с девколибри по андроиду. Все тихо мирно получалось. И тут появились новогодние скидки.
Примерно 10го декабря я психанул и потратил все деньги с кредитной карты на подписку ментор плюс.
И начал я погружение в увлекательный мир программирования. Самое тяжелое было то что никто меня не поддерживал, кроме лучшего друга. Очень тяжело было наткнуться на непонимание моего увлечения. Примерно к июню я прошел 20-23 уровня и решил создать резюме на хедхантере. Если честно я особо не надеялся найти новую работу. Просто хотел мониторить вакансии. Спустя месяц мне позвонили и пригласили на собеседование. После этого звонка я поверил в свои силы.
Моё первое настоящее собеседование. Меня трясло. Пот лился ручьями. Я сидел в переговорной на против 4х парней. Ууух все было как в тумане. Мы пообщались. Отвечал на все вопросы и был в шоке с себя. После собеседования мне обещали позвонить. Ну — ок. Я особо не надеялся. Выйдя с собеседования у меня расползлась улыбка на все лицо. Я понял что на все что меня спросили я ответил и ответил правильно.
Мне позвонили. И тут я стал думать менять мне работу или нет. Родительской поддержки небыло. Мне пророчили хорошее будещее на текущем месте. Это было очень тяжело. Я не мог спать постоянно думал о том какое решение принять. И я его принял.
Через три недели я уже работал джуном. Я должен был программировать микроконтроллеры. 3 месяца испытательный срок. Кстати ушел на зп меньше чем было. Спустя пару недель я понял, что микроконтроллеры это не моё и меня от них воротит. Совсем не то чему я учился на javaRush. Это не программирование. Мне нужно было знать какие то технические процессы и много ненужной мне информации. Отдельно хочется сказать о моем «тимлиде». Кроме как м*дак я не могу сказать о нем ничего=) Просто на любой мой вопрос я слышал — разбирайся сам. Через 2 месяца испытательного срока я понял чт нужно валить.И снова хедхантер и снова поиск. Мой друг параллельно мне устроился разрабом в крупную фирму в нашем городе. Они писали программы\моду для расчета бюджета и всего такого. Он подсказал что мне нужно почитать — sql и парсеры xml. Откликнулся на вакансию. Позвонили. Собеседование. Я чувствовал себя спокойнее. Отвечал по честному. Если не знал ответа то говорил, что нне знаю, но могу загуглить. Обещали набрать. Через полторы недели мне прислали офер. Я был безумно рад. Потому что по результатам собеседования мне предоложили достаточно высокую зп.
И вот 14 декабря 2016 подошел конец моего испытательного срока. Я работаю в классой команде, которая делится со мной знаниями. Я безума от моей работы. Работаю часов по 10 вдень. Хочу быстрее изучить все по максимуму. Очень сильно устаю. Хочется развеять иллюзии по поводу работы разработчиком — это очень не легкий труд. Если кто то дочитал до этого места: хочу советнуть хотя бы немного изучить sql, парсеры — без этого ну реально помоему никак. Огромное спасибо всей команде javaRush за данные мне знания. Спасибо и тем кто писал свои истории успеха — вы реально помогли мне не струсить и уйти с переспективной работы на работу более низкой зп. Ребят если нравится программировать, копаться в коде- не бойтесь. Учитесь, развивайтесь и все у вас получится.
P.S. все 40 уровней я так и не прошел. Осилил примерно 27-29. И до поддержки ментора и реального проекта не дробрался. Возможно в будущем году продолжу, но это уже не точно. Знания с которыми я проходил собеседования были много выше других ребят — это мне сказали теперь уже мои коллеги. Кстати недавно собеседовал парня — он тоже учился на javaRush и его знания реально были много лучше других ребят.

level10.lesson11.bonus02 Почему не компилируеться на сервере?

Ніяк не можу зрозуміти, чому задача не компілюється на сервері.
package com.javarush.test.level10.lesson11.bonus02;

import java.io.*;
import java.util.HashMap;

/* Нужно добавить в программу новую функциональность
Задача: Программа вводит с клавиатуры пару (число и строку) и выводит их на экран.
Новая задача: Программа вводит с клавиатуры пары (число и строку), сохраняет их в HashMap.
Пустая строка – конец ввода данных. Числа могу повторяться. Строки всегда уникальны. Введенные данные не должны потеряться!
Затем программа выводит содержание HashMap на экран.

Пример ввода:
1
Мама
2
Рама
1
Мыла

Пример вывода:
1 Мыла
2 Рама
1 Мама
*/

public class Solution
{
    public static void main(String[] args) throws IOException
    {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        HashMap<String, Integer> map = new HashMap<String, Integer>();
        String key;
        int value;

        while (true) {
            String line = reader.readLine();
            if (line.isEmpty()) break;
            try
            {
                value = new Integer(line);
            } catch (NumberFormatException e) {
                break;
            }

            key = reader.readLine();
            if (key.isEmpty()) break;

            map.put(key, value);
        }

        for (HashMap.Entry<String, Integer> pair : map.entrySet()) {
            System.out.println(pair.getValue() + " " + pair.getKey());
        }
    }
}

У мене все компілюється і нормально працює.
Результати роботи
1
Мама
2
Рама
1
Мыла

2 Рама
1 Мама
1 Мыла
  • ,

Акция от JavaRush

Акция на JavaRush

АКЦИЯ!
Дорогие друзья! Спешим поделиться с вами радостной новостью: с 13.12 до 23.12 каждый из вас может приобрести Премиум аккаунт JavaRush не за $200, а за $100 — javarush.ru/sale.jsp

ВНИМАНИЕ!
Вы можете приобрести Премиум аккаунт даже в том случае, если вы только начали заниматься на JavaRush и еще не прошли первые 10 уровней.

Поэтому, если вам нравится проект и вы хотите получить от него максимальную отдачу за минимальную стоимость, воспользуйтесь текущим предложением — javarush.ru/sale.jsp
  • ,

level06.lesson11.bonus02

Приветствую, коллеги. Компилируется без ошибок, работает, тест не проходит, никак не могу найти проблему.
Спасибо всем за внимание.

package com.javarush.test.level06.lesson11.bonus02;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/* Нужно добавить в программу новую функциональность
Задача: У каждой кошки есть имя и кошка-мама. Создать класс, который бы описывал данную ситуацию. Создать два объекта: кошку-дочь и кошку-маму. Вывести их на экран.
Новая задача: У каждой кошки есть имя, кошка-папа и кошка-мама. Изменить класс Cat так, чтобы он мог описать данную ситуацию.
Создать 6 объектов: дедушку(папин папа), бабушку(мамина мама), папу, маму, сына, дочь.
Вывести их всех на экран в порядке: дедушка, бабушка, папа, мама, сын, дочь.

Пример ввода:
дедушка Вася
бабушка Мурка
папа Котофей
мама Василиса
сын Мурчик
дочь Пушинка

Пример вывода:
Cat name is дедушка Вася, no mother, no father
Cat name is бабушка Мурка, no mother, no father
Cat name is папа Котофей, no mother, father is дедушка Вася
Cat name is мама Василиса, mother is бабушка Мурка, no father
Cat name is сын Мурчик, mother is мама Василиса, father is папа Котофей
Cat name is дочь Пушинка, mother is мама Василиса, father is папа Котофей
*/

public class Solution
{
    public static void main(String[] args) throws IOException
    {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String gfatherName = reader.readLine();
        Cat catGFather = new Cat(gfatherName);

        String gmotherName = reader.readLine();
        Cat catGMother = new Cat(gmotherName);

        String fatherName = reader.readLine();
        Cat catFather = new Cat(fatherName,null, catGFather);

        String motherName = reader.readLine();
        Cat catMother = new Cat(motherName, catGMother, null);

        String sonName = reader.readLine();
        Cat catSon = new Cat(sonName, catMother, catFather);

        String daughterName = reader.readLine();
        Cat catDaughter = new Cat(daughterName, catMother, catFather);

        System.out.println(catGFather);
        System.out.println(catGMother);
        System.out.println(catFather);
        System.out.println(catMother);
        System.out.println(catSon);
        System.out.println(catDaughter);
    }

    public static class Cat
    {
        private String name;
        private Cat mother;
        private Cat father;

        Cat(String name)
        {
            this.name = name;

        }

        Cat(String name, Cat mother, Cat father)
        {
            this.name = name;
            this.mother = mother;
            this.father = father;
        }


        @Override
        public String toString()
        {
            if ((mother == null)&&(father == null))
                return "Cat name is " + name + ", no mother"+", no father";
            else if (mother == null)
                return "Cat name is " + name + ", no mother"+", father is " + father.name;
            else if (father ==null)
                return "Cat name is " + name + ", mother is " + mother.name+", no father";
            else
                return "Cat name is " + name + ", mother is " + mother.name+", father is " + father.name;



        }
    }

}

Все сделано,но видимо не так как хочет великий сервер. Помогите разобраться.

public static void main(String[] args) throws Exception
    {
        BufferedReader read = new BufferedReader(new InputStreamReader(System.in));
        int summa = 0;
        int i = 0;
        one:
        while(i < 1)
        {
            String vvod = read.readLine();
            if(vvod.equals("сумма"))
            {

                System.out.println(summa);
                continue one;

            }
            else
            {
                int n = Integer.parseInt(vvod);
                summa +=n;
            }
        }

    }


Я не знаю, может быть нужно сделать, что бы после каждого подсчета (сумма) сумма сбрасывалась. Но если добавить после вывода суммы сброс (summa = 0) то сервак все равно не принимает. Никакого порыва к творчеству, нужно делать так, как требует великий и могучий… Печалька.
  • ,

com.javarush.test.level18.lesson10.home05 Работает, но не проходит тесты.

package com.javarush.test.level18.lesson10.home05;


/* Округление чисел
Считать с консоли 2 имени файла
Первый файл содержит вещественные(дробные) числа, разделенные пробелом. Например, 3.1415
Округлить числа до целых и записать через пробел во второй файл
Закрыть потоки. Не использовать try-with-resources
Принцип округления:
3.49 — 3
3.50 — 4
3.51 — 4
-3.49 — -3
-3.50 — -3
-3.51 — -4
*/


import java.io.*;

public class Solution {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuffer sb = new StringBuffer();
        String file1 =br.readLine();
        String file2=br.readLine();
        br.close();
        br = new BufferedReader(new FileReader(file1));
............................
       //тут было чтение и обработка входных данных
...................................

        sb=new StringBuffer();
........................................
//обработка выходных данных 
.....................................
       

        BufferedWriter bw = new BufferedWriter(new FileWriter(file2)); 

..............
// запись в файл результата
..............
        br.close();
        bw.close();
    }
}


Входные данные: 3.1415 3.49 3.50 3.51 -3.49 -3.50 -3.51
3.285
Выходные данные:3 3 4 4 -3 -3 -4 3
Вроде работает согласно спецификации… что не так?
  • ,

Как стать программистом (часть 3)

Первая часть статьи: определяемся с пулом технологий
Вторая часть статьи: основные источники информации
Четвертая часть статьи: Выбери среду разработки и установи на свою рабочую машину всё необходимое ПО

Как стать программистом

Дополнительные, но важные источники информации: форумы


Форумы очень важны, как бы ни учился, самостоятельно или на курсах, они — кладезь народной мудрости. Хотя прежде чем дойти до правды, тебе придется хорошенько прошерстить информацию оттуда. Но это полезный навык.

  1. ru.stackoverflow.com/questions/tagged/java — старый и полезный форум. Есть раздел на русском, но куда более обширной является его английская версия.
  2. toster.ru/tag/java/info — аналог Stackoverflow от создателей знаменитого Habrahabr
  3. javatalks.ru/ — чисто «джавистский» форум.
  4. help.javarush.ru/ — специальный форум для обсуждения задач JavaRush и не только.
  5. www.reddit.com/r/learnjava/ — тут тоже никто не будет смеяться над вопросами новичков.

Еще дополнительные источники информации: книги и справочники.
Онлайн-справочники по программированию

  1. docs.oracle.com/javase/7/docs/api/ — официальная документация. Сухая, непростая. Тем не менее, рекомендуется постепенно к ней привыкать, причем с самого начала. На английском.
  2. www.tutorialspoint.com/java/java_documentation.htm — простой справочник. Тоже на английском.

Книги по программированию

Самые простые и доступные по изложению книги по программированию. Как справочники не использовать!

  1. Head First in Java — мировой бестселлер серии Head First издательства O’Reilly. Написана с юмором и большим количеством лирических отступлений. Если чувствуешь себя неуверенно — рекомендуем.
  2. Книга Якова Файна «Программирование на Java для детей, родителей, бабушек и дедушек». На русском, рассчитанная в первую очередь на юных программистов, но не только.

Более фундаментальные издания для начинающих. Учебно-справочного толка.

  1. Кей Хорстманн «Java SE 8. Базовый курс» — неплохой учебник.
  2. Герберт Шилдт «Java 8. Полное руководство» — очень полный справочник.
  3. Брюс Эккель «Философия Java» — местами очень полезно. По ней есть викиучебник — wikijava.it-cache.net/index.php?title=Глава_1_Thinking_in_Java_4th_edition

Наконец-то краткое подведение итогов (исходя из всех трех частей статьи):

  • Выбираем один или два основных источника теории, строим учебный план, исходя из них. Присматриваемся к дополнительным источникам. Теорию узнаем из нескольких источников.
  • Чтобы научиться программировать, нужно программировать. Иначе никак. Поэтому в первую очередь обращаем внимание на практику: её нужно делать и проверять. Поэтому нужен либо интерактивный курс, либо преподаватель. На крайний случай — советчики на форумах.
  • Очень много информации есть на форумах. Её поиск занимает время, но оно того стоит. Не нужно стесняться задавать «глупые» вопросы.
  • Выбираем дополнительно книги, которые тебе понравились, заносим в закладки пару-тройку видеокурсов, документацию Java и справочные курсы.

Исходя из этого, у нас три пути:

Путь первый. Максимально эффективный.

Онлайн-курсы JavaRush + info.javarush + документация Java + форумы + книга + справочник + видео

  1. Основной источник знаний — интерактивные курсы JavaRush. Они здорово сэкономят твое время, так как в них, помимо лекций и проверяемых задач есть ссылки на хорошие источники дополнительных знаний. Плюс на курсе тебя будут учить искать информацию и составлять резюме. Ты будешь сосредоточен на главном — программировании, а не где найти источник информации. Но когда нужно искать, тебе придется искать.
  2. Регистрируемся на форумах.
  3. Покупаем/загружаем одну-две книги. Можно одну из самых простых, вторую — справочник.

Путь второй. Всё еще эффективный. Но очень дорогой.

  1. Основной источник знаний — дорогие курсы или персональный наставник. Он делает то, что JavaRush — объясняет теорию, говорит, где можно найти дополнительную информацию, выдает и проверяет задания. Только за гораздо большие деньги. И еще человеческий фактор прибавь. К слову, многие наставники рекомендуют JavaRush в качестве дополнения к их урокам ;).

Второй и третий пункт — те же, что и в первом пути.

Путь третий. Тернистый.

Если ты готов потратить очень много времени, приложить массу усилий, но совсем не готов к материальным тратам — тебе нужны бесплатные онлайн-курсы, микс из онлайн-видеокурсов и форумов. Выше — ссылка на массу полезных тебе материалов. Можешь пройти первые 10 уровней по JavaRush, скачать пару книг и поселиться на YouTube. А на форумах консультируйся насчет твоих решений.

Первую часть статьи читайте здесь.
Вторую часть статьи читайте здесь.
Четвертую часть статьи читайте здесь
  • ,

Расширяем границы!

Друзья!

Все мы знаем, что путь становления программиста действительно очень тяжелый и тернистый.
Все время приходится учиться, выискивать информацию, читать умные статьи, проходить разные обучающие курсы. Чем больше источников информации, тем лучше. Но как не запутаться во всем разнообразии информации?

Настоящими программистами становятся только те, кто готов посвятить уйму времени усердным занятиям. Мы — команда JavaRush — готовы еще больше помогать вам в этом нелегком деле.

Не так давно мы презентовали перевод легендарного Гарвардского курса CS50. Увидев живой интерес наших студентов, мы решили продолжать с переводами классных курсов, и начали отбор таковых.

Хотелось бы задать тот же вопрос и нашим продвинутым студентам. Таким образом, если вы учитесь на JavaRush на 25 уровне или выше, и вам попадались интересные бесплатные англоязычные курсы, приглашаем вас в нашу группу в Slack (students-jr.slack.com).
Интересующие направления: JavaSE, JavaEE, Spring, JSP + Servlets, SQL + Hibernate, Android.

Отсылайте в личку Fry ваш электронный адрес, и мы добавим вас в группу slack для общения.

Давайте сделаем JavaRush ещё лучше!
  • ,

Как стать программистом (часть 2)

Первая часть статьи: определяемся с пулом технологий
Третья часть статьи: дополнительные, но важные источники информации: форумы и книги.
Четвертая часть статьи: выбери среду разработки и установи на свою рабочую машину всё необходимое ПО

как стать программистом

Итак, ты определился с технологиями и целью. Что дальше?


Выбери 2-3 основных источника знаний по Java, а также с десяток дополнительных. Но не забывай «гуглить», если что-то не ясно.

В первую очередь тебе нужно изучить Java Core — основа языка, от неё уже можно отталкиваться. Настало время подумать, как именно ты будешь учиться.

Самостоятельно или с наставником?

Наставник
Наставник — это здорово, но вряд ли кто-то будет бесплатно с тобой возиться и учить. А если платно… Время хорошего разработчика стоит немало. Плохой же тебе не нужен — чему он тебя научит? Тем не менее, если у тебя есть человек, готовый тебя консультировать, заручись его поддержкой.

Может на курсы Java пойти? Очень многие в качестве основного источника знаний видят очные курсы. Их сейчас очень много, но найти среди них достойные сложно. Если они и есть в твоем городе, то, скорее всего, или очень дорогие, или совсем бесплатные. Вторые — это курсы при компаниях. Для совсем зеленых новичков таких курсов не бывает: они рассчитаны на тех, кто прочно знает Java Core (а мы его только учить собрались), и чтобы на них попасть нужно пройти тесты. На курсах проходит весьма жесткий отсев, а самых лучших выпускников компании зачисляют в свой штат.

Теперь перемоем косточки дорогим курсам Java.

стоимость платных курсов
Если повезет и тебе попадется отличный преподаватель-практик, они имеют смысл. Однако цена в таком случае будет очень высока. И еще: сможет ли этот наставник уделить достаточно внимания лично твоему коду? Не факт.

В последние годы появилась масса доступных курсов, они обойдутся слушателю примерно в 100 долларов за месяц. Допустим, ты решил на них пойти, какой специалист-преподаватель там тебя ждет? Размышления на эту тему снова загоняют нас на DOU: иди туда и снова оцени зарплаты Java-разработчиков. Скорее всего ты понимаешь, что учить программистов должен не джуниор, а хотя бы «просто» Software Engineer. Средняя зарплата, например, у киевского специалиста этого уровня — 2000 долларов. Допустим, в группу набрали 20 человек. Это само по себе не очень хорошо, слишком большая нагрузка на преподавателя: он просто не сможет физически уделить внимание коду каждого студента.

Чаще всего учебная группа состоит из десятка учащихся. Все вместе они платят 1000 долларов в месяц. Школа, которая ведет курсы, помимо специалиста, должна оплачивать аренду помещений, оборудование, коммунальные счета. И желательно хоть что-то заработать (вряд ли вы найдете много филантропов при платных школах). В самом лучшем случае учителю достанется долларов 500. При этом он тратит 2-3 вечера в неделю на лекции и еще массу времени на проверку задач. По идее, чтобы научиться программировать, человек должен писать программы каждый день, минимум — 5 раз в неделю. Сколько кода сгенерирует за неделю один ученик? А десять? Добросовестный преподаватель должен всё это проверить и проконсультировать студента, что правильно, а что не так. Это — прорва времени.

Это мы ведем к тому, что нанимать хорошего специалиста на недорогие курсы — абсолютно нерентабельно. В самом лучшем случае, Once in a blue moon, как говорят «у них» или «когда рак на горе свистнет», как говорят у нас, ты попадешь на «фаната», которому жутко нравится не только программировать, но и преподавать. Поэтому он нашел себе такую не слишком выгодную подработку. Не денег ради, кайфу ради.

Следующий вариант — онлайн-курсы, платные или бесплатные.

online courses
Большинство платных онлайн-курсов — это те же самые «очные», только лекции проходят через интернет. Недостатки практически идентичные — не лучшие преподаватели, крайне мало времени уделяется практическим занятиям студента и проверке его кода. А вот бесплатные курсы можешь использовать в качестве дополнительных источников. Их можно найти, например, на Youtube — они представляют собой видеоуроки. Если знаешь английский, попробуй найти пару-тройку курсов на западных ресурсах, например, Coursera.

Неплохие видеоуроки Java на Youtube:
www.youtube.com/playlist?list=PLY4rE9dstrJzKUZHdGgECOjJLaZBcUdCC
Новичкам от почти новичка: www.youtube.com/channel/UCK5d3n3kfkzlArMccS0TTXA
Еще курс, немного не структурирован, но многие темы разобраны неплохо: www.youtube.com/channel/UCg1x1VDcSzviGGH995gHnjw
Когда немного освоишься в программировании, какие-то темы можно смотреть здесь: habrahabr.ru/company/golovachcourses/blog/218841/
habrahabr.ru/company/golovachcourses/blog/215275/

В этих статьях приведен план обучения (может пригодиться) и ссылки на записи видеолекций оффлайновых курсов. Несколько нудноваты, но местами полезны, информации — тонна.

Онлайн-курсы Java для начинающих

На английском языке, все рассчитаны на тех, кто ещё не программировал.
courses.caveofprogramming.com/courses/java-for-complete-beginners
www.coursera.org/learn/java-programming
www.edx.org/course/introduction-programming-java-part-1-uc3mx-it-1-1x-0

И тут одна загвоздочка…

Курсов и видеороликов много, из них можно почерпнуть очень много всего полезного. Однако при самостоятельном обучении возникает одно «но», очень принципиальное «но». Дело в том, что в программировании самое важное — программировать, то есть писать программы, а не изучать теорию. При самостоятельном обучении придется подбирать себе задачи самому, чтобы усвоить те или иные принципы. Новичку это непросто. Допустим, ты нашел источник упражнений: некоторые книги и бесплатные курсы содержат условия задач. Отлично, поехали решать!.. И тут кроется самая большая сложность: кто будет проверять правильность решения? Ты, наверное, удивишься, но даже если программа запускается и выдает правильный ответ, это вовсе не значит, что она работает правильно! Это может быть сладкой иллюзией. Что же делать? Новые технологии и всемирная паутина знают ответ на этот вопрос. И этот ответ — javarush.ru

javarush

Интерактивные курсы Java с автоматической проверкой задач



Мы разработали самый классный курс для изучения Java. И многие уже знают как он называется — JavaRush. Мы им гордимся, поскольку он из таких новичков, как ты, которые растеряно задают вопрос «что же делать, куда бежать, столько информации вокруг!» помогает делать программистов, готовых к первой работе. Самые главные «фичи» курса:

  • В нем есть продуманная структура. Поскольку его создавал практик, который отлично ориентируется в реалиях рынка, том, что нужно знать и уметь, в курсе отобрано только самое главное и в нужном порядке! Это очень важно для новичка. Для тебя, наверное, тоже, раз ты читаешь эту статью и пытаешься понять, как тебе действовать.
  • Курс на 80% состоит из практических заданий. За время обучения тебе придется решить более 1200 задач. Какие бывают задачи на JavaRush:

1. Маленькие «учебные» на закрепление пройденного в лекциях.
2. Хитрые задачи «на вырост». По уровню сложности они не отличаются от задач на закрепление, но специально помещены в курсе раньше, чем определенный кусок теории, необходимый для их решения. Это мобилизирует и заставляет человека гуглить и искать недостающий пазл теории. Всё как в настоящей работе.
3. Головоломные. Эти ребята заставляют включать голову на полную. Тебе нужно найти не теорию для решения, но само решение, алгоритм. Короче, хорошенько подумать. Это как задачи на сообразительность или задачи повышенной сложности из учебников.
4. Мини-проекты. Полезные большие задачи, разбитые на подзадачи для понимания, каким образом ведется разработка крупных проектов. Ты сам сделаешь несколько игр и полезных программ, которые можно применять в реальной жизни и дорабатывать.

  • И — самое важное — в курсе есть автоматическая проверка правильности решений! Вы можете решать задачи на странице курса или в IDE (интегрированная среда разработки, если еще не знаешь, что это такое, скоро узнаешь). Причем проверка эта происходит в считанные секунды. Это просто огромное преимущество JavaRush!
  • Курс на русском языке и лекции в нем поданы в виде текстового квеста, в котором ты будешь переходить с уровня на уровень, наращивая скиллы — скучно не будет!
  • В курсе даны ссылки на полезные дополнительные материалы, однако скилл гугления также намеренно прокачивается.
  • Вокруг JavaRush за 4 года существования образовалось огромное сообщество. В нем люди обсуждают задачи, решения, проблемы, делятся информацией.
  • Специальный сайт для решения и обсуждения задач: help.javarush.ru/
  • Основной курс состоит из 40 уровней, 10 из них — полностью бесплатны. Во время первого этапа обучения ты поймешь, подходит ли тебе JavaRush, так что тебе никто не продаст «кота в мешке», ты будешь точно знать, что покупаешь. К тому же цена всего курса очень доступна. Столько же ты заплатишь за два месяца обучения на «дешевых очных курсах». Ссылка на подписки на курс с ценами.
  • После прохождения курса (или большей его части) ты можешь записаться на стажировку — это совместная работа над настоящим серьезным проектом. Они проходят регулярно, и для этого тебе не нужно будет переезжать куда-либо. Успешное прохождение стажировки — красивая и не пустая строчка в твоем резюме со ссылкой на готовый проект.

Подробная статья о JavaRush — javarush.ru/24.html

Первую часть статьи читайте здесь
Третью часть статьи читайте здесь.
Четвертую часть статьи читайте здесь.
  • ,

Первая лекция CS50 уже на JavaRush [на русском!]

Это Хогвартс?

Первая лекция CS50 на русском уже на JavaRush
Нет, друзья, это Гарвард и первая лекция CS50 с русским переводом! Даже на этом вводном занятии (хотя мозг отказывается воспринимать это яркое интерактивное действо как «занятие») @David Malan уже успел рассказать и показать много интересного — javarush.ru/cs50.html

Вот о чем:

• родной язык компьютеров — двоичная система счисления
• ASCII — как записываются символы
• как алгоритмизировать задачи — на живых примерах. Очень живых=)
• почему Дэвид разорвал телефонный справочник или что такое двоичный поиск
• сложность алгоритма — что, как и почему
• о том, что такое циклы, расскажет никто иной, как Марк Цукерберг, основатель Facebook
• …а еще вы увидите его же в 2005 году, в качестве приглашенного гостя CS50. Хм… судя по аудитории, интерес к технологиям вырос в десятки раз!

И поверьте, смотрится это всё гораздо интереснее, чем это скучное перечисление. Убедитесь сами — javarush.ru/cs50.html
  • ,

Легендарный гарвардский курс «Основы программирования CS50» теперь на русском!

/*
Update: Уже вышла 10-я лекция. Смотрите здесь.
Описание первой лекции здесь.
Описание второй лекции здесь.
Дополнительные материалы к 1 и 2 лекции здесь.
Описание третьей лекции здесь.
Дополнительные материалы к 3 и 4 лекции здесь.
Практические задания к 3-4 лекции здесь.
Описание пятой лекции здесь.
Описание шестой лекции здесь.
Практические задания к 5-6 лекции здесь.
Описание седьмой лекции здесь.
Описание восьмой лекции здесь.
Дополнительные материалы к 7 и 8 лекции здесь.
Практические задания к 7-8 лекции здесь.
Девятая лекция CS50 здесь.
Описание десятой лекции лекции здесь.
*/

Друзья, у нас отличные новости!

JavaRush cовместно со студией VertDider запускает перевод на русский язык последней версии самого популярного в мире курса по основам программирования — Гарвардский курс CS50: javarush.ru/cs50.html

CS50 на русском
CS50 — суперхит среди академических курсов Computer Science! Его уже много лет читают студентам Гарварда, а в последнее время — воспитанникам Йельского университета очно, а заочно — многомилионной аудитории интернета. Лекции курса смотрятся как увлекательный блокбастер, а задачи, предлагаемые к решению, — не надуманные стерильные учебные материалы, а взятые из реальной жизни кейсы.
Теперь самый популярный в мире университетский курс стал доступен и русскоязычным пользователям интернета. Представляем вашему вниманию перевод самой новой на сегодняшний день версии лекций CS50.

Чем же так хорош CS50?


  • Курс очень прогрессивный, не стоит на месте. Он обновляется из года в год. При этом в отличие от большинства подобных курсов (например, MIT 6.00X) от слушателя не требуются знания университетской математики, достаточно школьного уровня. Так что этот курс слушают не только студенты младших курсов технических специальностей, но и гуманитарии, желающие расширить кругозор или сменить специализацию.
  • Ведет курс профессор Гарвардского университета Дэвид Малан. От словосочетания «профессор Гарварда» кто-то готов пасть ниц, а кто-то начинает бороться с зевотой. Спешим заверить обе категории потенциальных слушателей: вам не о чем беспокоиться. Дэвид Малан — блестящий лектор, он без труда удерживает внимание нескольких сотен студентов в аудитории и тысяч вольнослушателей из интернета. Его лекции — это практически театральное действо, в котором он задействует своих помощников, студентов и, конечно же, технологии и разработки.
  • В курсе очень много практических заданий, причем это не «сферические кони в вакууме», а вполне реальные задачи из разных сфер науки, начиная от разработки игр до криптографии и биологии. Это очень повышает ценность курса, особенно для русскоязычных студентов, привыкших к чрезмерно теоретизированному обучению.

Что будем учить на CS50?

  • Основы компьютерных наук и программирования.
  • Концепции алгоритмов и алгоритмичности мышления. Какие задачи можно решать с помощью программирования и каким образом.
  • Концепции абстракции, структуры данных, инкапсуляции, управления памятью. Основы компьютерной безопасности. Процесс разработки ПО и веб-разработка.
  • Основы языка программирования C и Scratch.
  • Основы баз данных и SQL.
  • Веб-разработка: основы CSS, HTML, JavaScript и PHP.
  • Основы подготовки презентации проектов по программированию.
  • ,

Акция от JavaRush

АКЦИЯ!

Акция от JavaRush

Дорогие друзья! Спешим поделиться с вами радостной новостью: с 10.06 до 24.06 каждый из вас может приобрести Премиум аккаунт JavaRush не за $200, а за $100 — javarush.ru/sale.jsp

ВНИМАНИЕ!

Вы можете приобрести Премиум аккаунт даже в том случае, если вы только начали заниматься на JavaRush и еще не прошли первые 10 уровней.

Поэтому, если вам нравится проект и вы хотите получить от него максимальную отдачу за минимальную стоимость, воспользуйтесь текущим предложением — javarush.ru/sale.jsp