Java — JAVA. Набор знаний.


Содержание

Знания для Java Junior [закрыт]

Есть ряд компаний которые занимаются разработкой мобильных приложений. В основном это интернет-магазины, приложения-каталоги и прочие приложения для бизнеса. Есть вариант туда устроится через n-ное время, но возник вопрос. Чтобы не порождать дискуссии и разные мнения хотелось бы узнать необходимый минимум для разработки такого приложения и какими инструментами пользуются программисты.

Думаю он(минимум) не такой разносторонний. Гугление дает слишком расплывчатый ответ.

Нужно ли знать Hibernate, Android Studio, сервлеты/апплеты и т.д. Если накидаете список что по Вашему мнению необходимо буду благодарен.

Закрыт по причине того, что необходимо переформулировать вопрос так, чтобы можно было дать объективно верный ответ участниками Kromster says support Monica, Алексей Шиманский, pavlofff, user181100, ЮрийСПб ♦ 5 июн ’17 в 10:46 .

Вопрос порождает бесконечные прения и дискуссии, основанные не на знаниях, а на мнениях. Для получения ответа перефразируйте ваш вопрос так, чтобы на него можно было дать однозначно правильный ответ, либо удалите вопрос вовсе. Если вопрос можно переформулировать согласно правилам, изложенным в справке, отредактируйте его.

1 ответ 1

Любой будущий программист должен уметь нагуглить FAQ вопросы (включая вопрос «Знания для Java Junior», естественно).

  1. Типы в Java , inboxing , outboxing , как примитивы друг в друга преобразуются.
  2. Коллекции, иерархия интерфейсов и реализаций, чем ArrayList «лучше» LinkedList . Обязательный вопрос по HashMap -ам, что такое хеш-функция, внутреннее устройство.
  3. Строки, циклы, управляющие структуры, что появилось в JDK 7 по сравнению с 6-й. На 8-ку еще мало кто перешел.
  4. Интерфейс, Абстрактный класс, 3 принципа ООП, несколько шаблонов проектирования.
  5. Servlet , JSP , JSTL , Tomcat или другой Servlet container , никуда не девается жизненный цикл и как это все работает.
  6. Advanced топики для джуна: системы контроля версий Git , Svn , системы сборок Maven , Gradle , Spring , Hibernate , Web-Service -ы (обычно REST ) — жирный плюс.
  7. Иногда чтобы завалить спрашивают про устройство памяти, что такое стек или куча, куда создаются объекты, зачем нужен garbage collection , параметры запуска JVM .
  8. Базовый SQL , подзапросы, что такое сущность->связь, спроектировать 2 таблички и выполнить по ним запросы. noSQL могут спросить.
  9. Базовый JS и CSS . HTML . Основные типы HTTP запросов, в чем их предназначение и отличие.
  10. JDBC , как это вручную создать connection , запихать statement , preparedstatement , вычитать данные в result-set , пробежаться по нему, закрыть connection .
  11. Как работает wait , notify , notify all , почему нельзя использовать sleep , как создать dead-lock , вокруг чего бывает синхронизация.
  12. Что такое static -методы и переменные.
  13. Потоки ввода вывода, базовые вещи, прочитать строку из консоли, какие бывают фильтры.
  14. Английский крайне важен для аутсорса.

Java — JAVA. Набор знаний.

Изучение Java и библиотек

Java, UI дизайн и Андроид разработка

Характеристики курса

Курс рассчитан на новичков, которые хотят улучшить знания в Java разработке. В курсе будут рассмотрены такие темы, как: программирование на Java, создание UI дизайна приложений и добавление к ним функциональности, а также разработка программ в Android Studio под многочисленные Андроид устройства

Курс в цифрах

Множество тем

Курс состоит из уроков и тем, которые раскрывают язык Java с различных сторон. Помимо синтаксиса вы изучите работу с UI дизайном, а также познакомитесь с Android разработкой

Практика повсюду

Большая часть курса состоит из практики и создании проектов. Вы создадите ПК приложение с дизайном, а также несколько мини Андроид приложений

Домашние задания

На сайте вы найдете различные задания и тесты по языку Java и Android. Задания помогут вам закрепить пройденный материал в курсе

От новичка до профи

Курс создан таким образом, что вы от новичка изучите язык Java, научитесь создавать ПК программы, а также Андроид приложения. После курса вы сможете начать работать на фрилансе/работе или же на себя

Программа обучения

Основы Java

Описание

Для написания программ на Java необходимо установить два приложения: IDE (редактор) и JDK (среда разработки Java). В уроке будет рассказано для чего они служат, а также будет выполнена установка обеих программ на компьютер.

Вам будет рассказано для чего используется язык Java, какие его основные сферы применения, а также какие приложения можно написать на основе языка.

Дополнительно вы создадите вашу первую программу и познакомитесь со всеми этапами создания пустого приложения в IDE.

17 минут Задания Исходники

Продвинутый Java

Описание

Начиная с этого урока вы приступите к изучению объектно-ориентированного программирования или проще ООП. В ходе урока вы ознакомитесь с такими понятиями, как: классы, объекты, поля, методы, а также создание конструкторов в классе и их перегрузка.

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

34 минуты Задания Исходники

Andro >#1 — Установка Android Studio и настройка всего

Описание

Java позволяет разработчикам создавать программы и игры под мега популярную платформу Андроид. Изучив язык и Android Studio вы сможете создавать программы под телефоны, планшеты, часы, телевизоры и многие другие гаджеты работающие на ОС Android.

В ходе курса вы изучите систему Андроид, научитесь писать программы разных жанров и станете настоящими Андроид разработчика.

За первый урок вы установите всё необходимое, а также создадите первый проект и запустите его на виртуальном устройстве Андроид.

29 минут Задания Исходники

Выдача сертификата

После прохождения курса, каждый ученик купивший курс с типом «Наилучший» или «Всё включено» сможет получить сертификат об успешном прохождении онлайн видеокурса. Сертификаты помогают при дальнейшем трудоустройстве, так как работодатель сразу же видит что перед ним человек, проходивший курсы по определенным языкам и технологиям Размер сертификата — А4
Формат — PDF

Как искать Java-разработчика: пособие для начинающих

Я занимаюсь подбором ИТ-специалистов более 7 лет, за это время я получила обширную экспертизу в этой области. Думаю, данный материал будет интересен как рекрутерам с опытом работы с данными специалистами, так и тем, кто только знакомится с миром ИТ, поэтому информацию постараюсь дать максимально просто.

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

Java-программист или Java-разработчик (не путать с JavaScript) занимается разработкой программного обеспечения (ПО) обычно в команде программистов. Написанный программный код программист сохраняет в специальном хранилище, которое называется системой контроля версий (Git и тп) . Кроме того, он должен исправлять свои ошибки в написанном коде, уведомление о которых поступает ему от тестировщиков.

Хороший программист (если мы нанимаем специалиста с опытом) имеет знания и практический опыт в технологиях Java, пишет качественный код, допускает не критичное количество ошибок, постоянно в курсе новых технологий и методов разработки, потому что он непрерывно занимается самообразованием.

Основная проблема оценки любого программиста в том, что профессиональные навыки кандидата не могут быть проверены рекрутером, это оценивается техническим специалистом.

Особенности:

  1. Айтишники в основном более интровертны и обычно любят говорить по делу. Предпочитают общаться по электронной почте и не любят, когда им звонят. Отчасти потому, что квалицированному специалисту постоянно названивают рекрутеры и отвлекают от работы, отчасти потому что они лучше воспринимают информацию и гораздо эффективнее общаются по переписке.
  2. Программист обычно сосредоточен на конкретной задаче, над которой он работает не отвлекаясь.
  3. Уровень интеллекта у айтишников в среднем достаточно высок, так как они получили хорошее математическое образование.
  4. Айтишники любят более неформальное общение и неформальный подход к работе.
  5. Они в основном совы и предпочитают работать с 11:00. Также многие достаточно свободолюбивы, не любят дресс-код итд. В таких условиях они обычно достигают лучших результатов.

1. Какова ситуация спроса и предложения на кадровом рынке по этой вакансии, что важно знать о компании, вакансии и условиях работы, чтобы выполнить задачу корректно и в срок, о чем важно спросить работодателя.

На рынке ИТ, в том числе и Java-разработчиков, даже в кризис правила игры определяет соискатель. Предложений достаточно для того, чтобы средний кандидат мог найти работу за 1-2 недели, выбирая между несколькими предложениями о работе. В среднем, на одну вакансию в сфере ИТ претендует 3 кандидата (из исследования hh.ru). Тем не менее, Java не является редкой технологией, эта платформа достаточно популярна у программистов, поэтому найти нужное количество кандидатов для собеседования возможно, но потока по этой вакансии у вас не будет.

При снятиии потребности у заказчика (работодателя) необходимо сразу получить полное описание вакансии, так как составить её самостоятельно без технических знаний в данной сфере рекрутер не сможет.

Обычно требования к джависту состоят из следующих блоков:

– Требование к образованию – чаще всего необходим кандидат с высшим техническим образованием.

– Знание и опыт коммерческой разработки на языке Java (не менее определённого количества лет), то есть студенческие и личные проекты работодателя не интересует.

– Часто указывается знание паттернов проектирования, но не всегда. Обычно успешный разработчик их знает и умеет применять.

– Знание определённого набора фреймворков (Hibernate, Spring итп.) и библиотек (например, JQuery). В каждой компании они требуются свои. Важно в этом пункте сразу уточнить у работодателя, что является обязательным, а что будет плюсом.

– Знание баз данных, например – MS SQL, Oracle и так далее.

– Владение английским языком требуется часто, но не всегда. Обычно, хороший программист постоянно читает много книг по нужным технологиям, в том числе на английском, поэтому так или иначе владеет языком на уровне чтения технической литературы.

– Наличие сертификатов по технологиям Java и другим – требуется редко. Сертификаты в данной сфере не показатель профессионализма, более того, если кандидат в первую очередь хвастается ими, а не своим опытом и знаниями, это обычно тревожный звоночек.

Обязательно уточните у работодателя следующее:

  1. Какой график предусмотрен для кандидата, есть ли переработки, имеется ли возможность график сдвигать?
  2. Присутствует ли дресс-код и насколько строгий?
  3. Где будет располагаться рабочее место кандидата, будет ли это опен спейс или в компании кабинетная система, будет ли он находиться среди коллег-айтишников или среди коллег из других подразделений?
  4. В вопросе компенсации важно иметь четкое представление, что есть оклад, что есть премия и бонусы, белая ли зарплата.
  5. Обязательно узнать обо всех аспектах соц. пакета, он обычно у айтишников очень широкий: кроме ДМС это может быть компенсация фитнеса, бесплатная столовая, 100% оплата больничного, и даже игровые приставки в офисе.
  6. На каком проекте или каких проектах будет работать данный сотрудник, сколько человек в команде, и вообще, лучше честно и прямо спросить: «Чем эта вакансия может заинтересовать кандидата, что мы можем рассказать кандидату, чтобы он загорелся». Это очень хороший вопрос, и адекватный нанимающий менеджер охотно расскажет про все преимущества.
  7. Подразумевается ли профессиональный и карьерный рост на данной позиции?
  8. Какие знания и навыки из описания вакансии обязательные (без которых резюме не будут смотреть) и какие желательные. Например, «знание Java – от 2 лет опыта работы и знание Spring.MVC – обязательно”. Уточните у заказчика, может ли кандидат не указать каких-то из этих ключевых слов в резюме.

2. Как представлять вакансию соискателям (нюансы и правила создания презентации вакансии).

Здесь нужно исходить их трёх основных мотиваторов айтишника:

  1. Интересные проекты.
  2. Технологии, с которыми он будет работать (например, ему уже надоела та платформа, на которой у него большой опыт, но ему очень хочется работать только с Java).
  3. Повышение своего дохода. Этот пункт может быть заменен на комфортность работы (дорога до офиса, удобство графика, наличие столовой, хорошего места для питания, парковки) или команду (насколько хороший микроклимат в команде и насколько она профессиональная).

В описании вакансии для публикации на ресурсах и в соц сетях обязательно хорошо распишите условия, избегайте казённых и шаблонных фраз. В заголовке достаточно написать «Программист Java” или “Ведущий Java-разработчик».

Цукерберг рекомендует:  Обучение - Задачка с хешами на питоне

Составьте шаблон письма кандидату, где вы представляетесь, сообщаете, что у вас есть позиция и сразу пишите, что это Java-программист, далее описание вакансии и информация о компании. И, конечно, здесь распишите все преимущества компании, вакансии и проекта, которые вы ранее получили у заказчика (см. выше).

Кандидату лучше сначала высылать письмо, и потом звонить: “Я высылала вам письмо с вакансией” работает лучше, чем внезапный звонок.

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

3. Где размещаться (источники поиска, в том числе специальные и нетривиальные).

По статистике всё-таки больше кандидатов на Java находится на hh.ru, а лучшие приходят по рекомендации коллег-программистов.

Источники:

  1. hh.ru (и активный , и пассивный поиск).
  2. LinkedIn (лучше заранее работать над своей сетью контактов в тех сферах, где вы ищете и будете искать людей).
  3. Рекомендации других сотрудников-айтишников.
  4. Профессиональные форумы sql.ru и rsdn.ru, vingrad. Периодически появляются новые, теряют актуальность старые. Поэтому постоянно ищите новые ресурсы.
  5. Другие источники: ITMozg, Brainstorage, Programmersforum, Javatalks, Github.
  6. Facebook, Twitter, Вконтакте, жж-сообщества по программированию.
  7. Корпоративный сайт компании или агентства.

4. Стратегия поиска (отклики, активный обзвон, соцсети, объявления и т.д.).

1. Размещение вакансии на hh.ru, сбор откликов и активный поиск.

Для эффективного поиска лучше создать автопоиск на основании ключевых слов, которые соответствуют обязательным требованиям заказчика, например если это опыт в Java и фреймворк Hibernate, наш запрос будет выглядеть как

Java and Hibernate

Количество лет опыта мы будем определять уже по резюме.

2. Публикация объявления о вакансии со ссылкой на описание в соцсетях и на LinkedIn. В зависимости от соцсети преамбула может быть более или менее формальной и должна быть привлекательной и интересной. Попросите своих знакомых сделать репост ваших публикаций.

3. Публикация объявления на профессиональных форумах. Обязательно сначала прочитайте правила форума и раздела «Работа» или «Вакансии». За невыполнение требований вас забанят, а вакансию удалят. Например, на sql.ru публикацию нельзя редактировать, обязательно нужно указать оклад, название компании или агентства и город.

5. Как проводить первичный отбор по телефону (важные правила переговоров и критерии отбора).

По телефону первичный отсев не требуется, за исключением случаев, когда вам еще на телефонном этапе важно прояснить какие-либо мотивационные моменты и отсеять кандидата, если его ожидания не соответствуют возможностям заказчика.

Также, ваша задача – максимально дружелюбно и лаконично передать основную информацию, чтобы привлечь кандидата и чтобы он согласился на встречу. Хорошо, если у вас на первом очном интервью сразу будет присутствовать технический специалист, обязательно в таком случае упоминайте, что интервью будет техническое. К HR-интервью и агентствам айтишники относятся с осторожностью и некой опаской, это факт.

6. Особенности очного общения и оценки кандидатов.

Для айтишников не рекомендуется использование психологических тестов, так как они во-первых, показывают свою невалидность, во-вторых, в данном сегменте рынка труда психологические тесты и вопросы могут вызвать негативную реакцию.

В процесс оценки по желанию заказчика может включаться выполнение тестового задания или предоставление примеров программного кода разработчика.

Если вы подбираете кандидата в свою компанию, обычно HR-интервью совмещается с профессиональным (техническим) интервью, так как рекрутер лишь предоставляет информацию о компании, условиях работы, важных моментах (например, серая зарплата или переработки), выясняет для себя организационные моменты , оценивает мотивацию и адекватность кандидата. Профессионально оценить кандидата сможет только технический специалист.

Если вы подбираете Java-программиста для компании-заказчика, вам нужно будет развёрнутое интервью, чтобы собрать необходимую информацию для заказчика о кандидате.

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

Обязательно давайте обратную связь кандидату по телефону или по электронной почте в любом случае.

6. Подготовка кандидатов к интервью в компании.

Здесь нет никаких особенностей, кандидата необходимо снабдить всей необходимой информацией о компании и условиях работы, так как технари на эти вопросы не всегда могут ответить кандидату. Очень желательно рекрутеру присутствовать хотя бы на первом интервью с нанимающим менеджером и техническим специалистом, даже несмотря на то, что 90% того, что будет обсуждаться, не-технарю будет непонятно. Это даст вам возможность скорректировать свой поиск и лучше подобрать хорошего кандидата данному заказчику.

Спасибо за внимание, я надеюсь, что поиск айтишника, если он вам предстоит, будет лёгким и интересным!

Java-разработчик

Практический курс по программированию от основ написания кода до реальных проектов и первых заказов.

скидка 15% первым 20


набор на курс до 17 ноября

Записаться на курс или получить консультацию

Длительность 4 месяца

Онлайн в удобное время

Обучение на практике

Доступ к курсу навсегда

Курс идеально подойдет

Новичок

Вы научитесь писать код с нуля. Курс поможет разобраться в особенностях синтаксиса языка Java, освоить необходимые навыки для программирования приложений под различные устройства, а также для работы с большими данными.

Начинающий программист

Имея базовое представление о программировании, вы получите структурированные знания о языке Java. Курс даст вам необходимую практику в разработке приложений. Вы реализуете кейсы от реальных заказчиков и соберете сильное портфолио для уверенного старта в карьере.

Чему вы научитесь

На курсе вы с нуля освоите программирование на Java, подробно разберете всю специфику и возможности языка.

Научитесь писать, читать и понимать код на Java.

Научитесь работать с MySQL: хранить и получать данные.

Реализуете на практике все принципы ООП.

Узнаете, как создавать веб-приложения на Spring Boot.

Освоите все тонкости многопоточного программирования.

Создадите свой блоговый движок.

Записаться на курс скидка 15% первым студентам

Программа курса

Программа курса содержит 19 основных блоков.

  • Какие бывают программы.
  • Где и для чего применяется Java.
  • Как выглядит программный код.
  • Установка среды разработки.
  • Исправляем готовое приложение.
  • Пишем консольное приложение.
  • Что вообще бывает в коде.
  • Переменные в Java.
  • Boolean, операторы сравнения и условные операторы.
  • Циклы.
  • Разбираем сложный код.

Объекты и классы

  • Понятие класса и объекта.
  • Метод, параметры, return.
  • Статические методы и переменные.
  • Константы и Enum.
  • Создание объектов и конструктор.
  • Инкапсуляция, геттеры и сеттеры.
  • Копирование объектов.
  • Внешние библиотеки классов.
  • Создание JAR-файлов.

Числа, строки и даты

  • Примитивы и объекты.
  • Типы чисел и преобразование.
  • Операции с числами.
  • Строки, символы и подстроки.
  • Конкатенация и сравнение строк.
  • Регулярные выражения.
  • Календарь и метка времени.

Массивы и коллекции

  • Массивы.
  • Списки элементов.
  • Наборы уникальных элементов. HashSet, TreeSet.
  • Карты данных. Ключи и значения. TreeMap, HashMap.
  • Поиск и сортировка.

Наследование и полиморфизм

  • Наследование классов.
  • Доступ к методам и переменным.
  • Абстрактные классы.
  • Интерфейсы и полиморфизм.

Особенности ООП в Java

  • Лямбда-выражения.
  • Указатели на методы.
  • Stream API.
  • Default- и static-методы в интерфейсах.
  • Generics.
  • Система сборки Maven.
  • Аннотации и Lombok.

Исключения, отладка, тестирование и логирование

  • Обработка исключений.
  • Типы исключений.
  • Отладка приложений.
  • Виды тестирования ПО.
  • Модульное тестирование. JUnit.
  • Логирование. Log4j2.

Работа с файлами и сетью

  • Чтение файлов.
  • Запись в файл.
  • Табличные файлы.
  • Файлы XML и HTML.
  • Файлы JSON.
  • Конфигурационные файлы.

Язык запросов SQL


  • SQL. Введение.
  • Структура БД, запрос DESCRIBE.
  • Выбор и фильтрация данных, запрос SELECT.
  • Функции и выражения, агрегация данных.
  • Отношения и соединение таблиц: JOIN.
  • Группировка.
  • Модификация данных.
  • Подзапросы.
  • Объявление и изменение структуры данных.

Работа с MySQL в Java

  • Установка MySQL.
  • JDBC — выполнение SQL-запросов из Java-кода.
  • Hibernate: подключение и настройка.
  • Hibernate: изменение данных в базе.
  • Hibernate: связи между таблицами.
  • Hibernate QueryBuilder и HQL.
  • Создание потоков.
  • Состояние гонки и критические секции.
  • Синхронизация методов и блоков.
  • Взаимодействие потоков: методы wait() и notify().
  • Потокобезопасные классы.
  • Взаимная блокировка (deadlock).
  • Интерфейс Callable.
  • Пулы потоков.
  • Приостановка и прерывание потоков.
  • ForkJoinPool и RecursiveTask.
  • Создание веб-приложений на Spring Boot.
  • Концепция MVC.
  • Концепция RESTful API и CRUD.
  • Controller и роутинг.
  • Model. Взаимодействие с БД.
  • Компонент View.
  • Конфигурация и упаковка.

Нереляционные базы данных и очереди

  • Основы Redis.
  • Сравнение Redis и MySQL.
  • Основы MongoDB.
  • Продвинутые запросы к MongoDB.

Оптимизация кода и приложений. Производительность

  • Факторы производительности.
  • Оптимизация по времени.
  • Оптимизация по памяти.
  • Оптимизация работы с базами данных.
  • Профайлер.
  • Non-blocking IO.

Распределенные хранилища и вычисления

  • Зачем нужны распределенные хранилища.
  • Hadoop, основы и принципы, HDFS, YARN.
  • Зачем нужны распределенные вычисления.
  • Spark, принцип вычислений, примеры.
  • Реактивное программирование. RxJava.
  • Oracle, PL/SQL, хранимые процедуры.
  • Язык программирования Kotlin.
  • Язык программирования Scala.
  • Android-приложения.
  • Desktop-приложения.
  • Система контроля версий Git.
  • Алгоритмы и структуры данных.
  • Протокол HTTP.
  • Паттерны проектирования.

Дипломная работа — блоговый движок в веб-интерфейсе

Получите полную программу и индивидуальную консультацию

Преподаватели

  • Даниил Пилипенко SymbioWay, директор
  • Михаил Овчинников ведущий инженер-программист Badoo

Как проходит обучение

Вы выполняете домашние задания и открываете доступ к новому уникальному контенту по теме. Достаточно выделить 3–5 часов в неделю.

Изучаете
тему

В курсе — полезные видеоуроки.

Выполняете домашнее задание

В том темпе, в котором вам удобно.

Общаетесь с наставником

Закрепляете знания и исправляете ошибки.

Защищаете дипломный проект

И дополняете им свое портфолио.

Резюме после прохождения

Аделина Ветрова junior-разработчик

Ожидаемая зарплата от 80 000

Java Core Основное ядро языка программирования.

MySQL Свободная реляционная система управления базами данных.

Spring Boot Универсальный фреймворк с открытым исходным кодом для Java-платформы.

Redis Резидентная система управления базами данных.

MongoDB Документоориентированная система управления базами данных с открытым исходным кодом.


Ключевые навыки:

  • Разработка веб-приложений на Spring Boot.
  • Владение нереляционными базами данных: Redis, MongoDB.
  • Java Core.
  • Multithreading.
  • Collections Framework.
  • Работа с MySQL.

Диплом Skillbox

Подтверждает успешное прохождение курса «Java-разработчик»

Стоимость обучения

Скидка 15% первым 20

Стоимость обучения 67 000

4 500 Рассрочка без первого взноса

54 000 Для первых 20 студентов

Гарантия возврата денег в течение 14 дней

Запишитесь на курс

Дата начала: 17 ноября

Осталось: 15 мест

О Skillbox

Максимально практическое обучение от лидеров digital-рынка. Курсы от компаний, работающих на реальных проектах.

После обучения вы можете трудоустроиться в эти компании или к партнёрам университета.

студентов учатся на наших курсах

студентов довольны преподавателями

выпускников получают карьерный рост

выпускников довольны курсом и результатом

Мнения о курсе

Татьяна Червякова студентка курса «Java-разработчик»

Выбрала курс «Java-разработчик», потому что мне нравится программирование. В будущем планирую работать и развиваться в данном направлении!

Дмитрий Доманюк студент курса «Java-разработчик»

Выбрал курс «Java-разработчик», потому что интересуюсь этой темой. Запомнился спикер Даниил Пилипенко. Понравилось, как преподаватели объясняют материал и то, что проверяют домашнее задание в течение дня. В будущем планирую изучить Java.

Андрей Маслёнок студент курса «Java-разработчик»

Полгода проходил курс «Java-разработчик». Самым полезным оказалось живое общение с преподавателями и студентами. Запомнился спикер Сергей Гаевой. После окончания курса я стал самостоятельно выполнять более сложные задачи. Планирую продолжить обучение.

Дмитрий Коваленко студент курса «Java-разработчик»

Решил пройти курс «Java-разработчик», потому что мобильная разработка — это популярно и потому востребовано. В процессе обучения я узнал много нового, что реально помогает в работе.

Часто задаваемые вопросы

Смогу ли я пройти курс, если у меня совсем нет опыта в программировании?

Программистами не рождаются. Твоя текущая профессия не имеет значения. Программировать начинают из любой профессии. У нас есть примеры с бывшими грузчиками и директорами фирм. Было бы желание. И курс разработан таким образом, что обучаться можно полностью с нуля.

Какая версия языка изучается на курсе?

В 2020 году вышла Java 9. В курсе рассматривается 8-я версия языка, а также нововведения Java 12.

Сколько потребуется времени, чтобы пройти все модули?

Курс рассчитан на 4 месяца: кто‑то заканчивает раньше, кто‑то чуть позже. Здесь главное не скорость прохождения, а эффективное использование полученных навыков, поэтому лучше не торопиться и ориентироваться на заявленные 4 месяца.

Записаться на курс или получить консультацию

Появились вопросы по курсу?

Оставьте ваш номер телефона, и наш специалист свяжется с вами, чтобы дать подробную информацию.

г. Москва, метро Октябрьская,
Ленинский проспект, дом 6, строение 20

Java FAQ: для начинающих

Привет всем форумчанам,в этом Java FAQ,е постараюсь собрать все самое нужное о Java)
Для начала давайте разберемся,что такое Java?Как говорит нам вики:

Java — объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems
(в последующем приобретённой компанией Oracle). Приложения Java обычно компилируются в специальный байт-код, поэтому они могут работать на любой виртуальной Java-машине (JVM) вне зависимости от компьютерной архитектуры. Дата официального выпуска — 23 мая 1995 года.(http://ru.wikipedia.org/wiki/Java)

Но Java это не только язык программирования,но и платформа,которая позволяет сделать нам все,что душа захочет,и вообще это классная весчь)

Пойдем дальше,многие видели,что есть какая-то Java SE,EE и.т.дНо какую Java,мне использовать?

Java SE — Java Standard Edition, основное издание Java, содержит компиляторы, API, Java Runtime Environment; подходит для создания пользовательских приложений, в первую очередь — для настольных систем.
Java EE — Java Enterprise Edition, представляет собой набор спецификаций для создания программного обеспечения уровня предприятия(сервлеты,jsp,и.тд).
Java ME — Java Micro Edition, создана для использования в устройствах, ограниченных по вычислительной мощности, например в мобильных телефонах, КПК, встроенных системах;
JavaFX — технология, являющаяся следующим шагом в эволюции Java как Rich Client Platform; предназначена для создания графических интерфейсов корпоративных приложений и бизнеса.
Java Card — технология предоставляет безопасную среду для приложений, работающих на смарт-картах и ​​других устройствах с очень ограниченным объемом памяти и возможностями обработки.

Видите,выбирай по вкусу,идем дальше,как мне начать пользоваться и писать на Java?Очень просто Нужно выпольнить несколько простых шагов:

  1. Нужно скачать JDK(скачать отсюда http://www.oracle.com/technetwork/ja. s-2133151.html)
  2. Установить JDK.Это просто щелкайте по установленному приложению,она загрузилась,дальше настройте системные переменные.Заходите Пуск\пр.щ.мыши по мой компьютер\свойства\слева меню дополнительные параметры системы\внизу переменные среды\системные переменные.Далее нажмите создать,и пропишите сначала
    JAVA_HOME(имя переменной) C:\Program Files\Java\jdk1.8.0_92(путь взял для примера)(значение переменной)
    PATH(имя переменной) C:\Program Files\Java\jdk1.8.0_92\bin(путь взял для примера)(значение переменной)
  3. Все!!)можно уже писать на Java,но вы скажете,что прямо в командной строке,я скажу -да)Но можно и в IDE(http://ru.wikipedia.org/wiki/%D0%98%. 82%D0%BA%D0%B8) .Их много,выбрал самые популярные):
    1. Eclipse
    2. Netbeans
    3. IntelliJ IDEA(версия Ultimate Edition — платная, Community Edition — бесплатная)
    4. Jdeveloper

Тут уж ваш выбор,где писать,почитайте,установите,какая вам понравится в ней и пишите)

Итак,мы все настроили ,установили,давайте что-нибудь напишем на Java,давайте,открываем понравившуюся IDE,и пишем в ней такое:

Смотрим в консоль ,и видим:
Тут не Hello Word,странно??
Можете порадоваться,но то,что вы сейчас написали,ради чего мучались,это капля в море,из всего моря..языка Java
Поэтому,мы же хотим стать крутыми программистами,нам нужно дольше изучать Java,и тут встает вопрос о литературе,долго о ней говорить я не буду,просто скажу:
Кей Хорстманн Гари Корнелл Java 2 Том 1.Основы
Кей Хорстманн Гари Корнелл Java 2 Том 2.Тонкости программирования
Я считаю(и не один я )лучшими книгами по Java для начинающих

Цукерберг рекомендует:  Динамическое добавление элементов к форме при помощи jQuery

На нашем форуме есть раздел Литература по Java Литература по Java .Там много интересного почитайте)

(предлагайте ссылки в сообщениях)

P.S Предлагаю в этой теме выложить простые программы для начинающих(я в их числе)
Если я где-то ошибся ,исправьте,следующий FAQ,создание простого сайтика,с картинками!))
Всем пока,удачи!!)
И главное не путайте Java и JavaScript,это разные вещи)

Junior Java Developer

vitusya 19.01.2020
GalinaU 02.02.2015
nvgup 25.11.2014
ezozulya 19.11.2014
cyber_1 13.10.2014

Пользователей в процессе подтверждения: 12920

Описание квалификации Junior Java Developer

Junior’ом обычно называют разработчика, который только начинает серьезно работать в определенной области технологий. У такого разработчика есть знания, позволяющие ему работать над реальным проектом, но очень мало (или нет) опыта такой разработки. Поэтому, зачастую в технических аспектах он советуется с более опытным разработчиком. Накопив достаточно знаний и опыта Junior становится mid-level разработчиком.

Если говорить о Junior Java Developer’е, то необходимы такие знания:

  • Программирование (системы исчисления, чем оператор отличается от операции, некоторые алгоритмы)
  • Язык Java (синтаксис, ООП возможности, многопоточность, стандартная библиотека)
  • OOP и OOD (парадигмы, основные паттерны проектирования)
  • Базы данных (JDBC, язык SQL)

Обычно для Java Junior’а не обязательно знание какой-либо конкретной технологии или фреймворка (например веб-сервисов или Spring). Достаточно знать зачем та или иная технология нужна, какие задачи с помощью нее решают, преимущества/недостатки в сравнении с похожими технологиями. Junior детально знакомится с такими технологиями/фреймворками в процессе работы над очередным проектом.

Необходимые тесты

Программирование — Основы

Тест, необходимый для прохождения любому, кто имеет дело с программированием. Здесь собраны довольно элементарные вопросы по булевой алгебре, системам исчисления (особенно двоичной и шестнадцатиричной), простым алгоритмам.

Java — Основы

Тест содержит достаточно большое количество вопросов, но не только по синтаксису языка так и по практическому использованию той или иной возможности. Вопросы теста преимущественно простые, но есть и довольно «хитрые» вопросы, которые проверяют понимание.

ООП — Основы

Знание ООП парадигм на базовом уровне безусловно необходимо для Junior’а. Данный тест ставит себе задачу это проверить. Вопросы в основном теоретического плана и требуют соответствующего уровня подготовки.

ООП в Java

Тест посвящен ООП возможностям Java. Проверяет знание вопросов которые часто задают на собеседованиях Junior’ам: «как реализовать множественное наследование в Java», «в чем отличие абстрактного класса от интерфейса» и т.п. Содержит в основном практические примеры и неплохо дополняет предыдущий тест по теоретическому ООП.

SQL — Основы

На данный момент, базы данных используются в большинстве промышленных приложений. Поэтому эти знания довольно востребованы и Java Junior’у сейчас нужно иметь представление о JDBC и SQL. Тест проверяет базовые знания SQL и наиболее используемые его возможности.

Написание статьи

Тематика статьи предлагается администрации и либо принимается либо отвергается с предложением альтернативной. Тематика должна касаться предметной области. Это требование проверяет умение Junior’а быстро вникнуть в суть проблемы, а также способность излагать мысли последовательно и методично. Как вариант можно предложить на рассмотрение администрации 3-4 темы для статьи, а администрация предложит для написания одну из них. Написанная вами статья не должна быть ранее опубликова на других ресурсах.

Составление вопросов

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

Важно: Вопросы насчет статьи можно задавать в комментариях на странице Вашей квалификации (не перепутайте с публичной страницей описания), на которую можно зайти из ссылки на профиле в блоке Квалификации.

Java — JAVA. Набор знаний.

Первые шаги в Java
Пособие по Java-технологиям
(с) AntonSaburov

Введение

Идея данного пособия родилась в результате ведения курсов по началам Java. Не думаю, что это будет что-то выдающееся в огромном мире книг по Java. Скорее всего это будет просто очередная книга. Но она будет написана мной, а значит содержать мой опыт и мое видение процесса обучения. И в ней будет то, о чем я хотел бы рассказать начинающим свой путь в программировании. Буду тешить себя мыслью, что мне доступно тайное знание как именно надо обучать программированию ��
ВНИМАНИЕ . Я очень хочу, чтобы вы при чтении делали упражнения вместе с пособием. Это очень важный момент. Может поэтому и хорошо, что я делаю это в электронном виде — все-таки вы ближе к компьютеру.

Что значит программировать

Давайте сначала постараемся понять, что значит «программировать». Если не вдаваться в сложные теоретические изыскания, то на самом деле программист в процессе написания программы делает две вещи:

  1. Описывает задачу на обычном (русском, английском, китайском и т.д.) языке
  2. Переводит описание задачи на язык программирования (Java, C, C++, Pascal, C# и т.д.)

Описывать задачу на обычном языке — это на самом деле достаточно сложный процесс. Потому что задачи могут описываться очень сложно. Для многих задач вычислительного характера придуман язык математики — формулы. Интегралы, дифференциалы, тригонометрические формулы и прочая. Т.к. изначально именно математика требовала создания компьютеров, то многие считают, что для программирования необходимо очень хорошо знать математику. Причем не просто математику, а высшую — с полным набором дисциплин вроде математического анализа, аналитической геометрии и пр. Автор не относится к этим людям. В большом количестве проектов, в которых я принимал участие, знание математики сводилось к знанию арифметики. Другой вопрос — надо было уметь описывать задачу с большой степенью детализации. Вот этот навык надо укреплять и усиливать в процессе постоянной практики.
Что же касается второго пункта — тут надо просто научится переводить человеческий язык в машинный. Значит надо владеть человеческим языком (что на самом деле ОЧЕНЬ ВАЖНО) и языком программирования (что тоже важно, но для начинающего программиста не так сильно).
Необходимо учесть, что человеческий язык гораздо богаче, чем язык программирования. Это значит, что не все действия, которые легко описываются с помощью человеческого языка, можно также легко описать с помощью языка программирования.
Например, представим себе, что у нас есть робот на колесах, который умеет двигаться вперед и разворачиваться на месте. Если у него еще есть ролик с краской,, который поднимается/опускается по команде, то его можно запрограммировать рисовать определенные фигуры на плоской поверхности.
Но сразу возникает вопрос — а насколько язык робота может отличаться от нашего ? Может не сильно — например, ему можно сказать «вперед на 10 метров» и он это выполнит. Или можно будет сказать — «повернуть направо на 45 градусов».
Но может быть и гораздо сложнее — робот умеет только включать/выключать двигатель. И для разворота надо включить режим типа «колеса крутятся в разные стороны». Для движения вперед режим надо включить «колеса крутятся в одну сторону».
Если вы пошли дальше и поняли, что расстоянием придется управлять либо по времени работы двигателя, либо считать количество оборотов — при выборе профессии программиста вы явно на правильном пути. Если же вы придумали еще какой-либо способ — то мне явно стоит пообщаться с Вами лично.

Программа на человеческом языке

Давайте попробуем написать программу для нашего робота. Для этого сначала определим (абстрактно конечно), что наш робот понимает следующие команды:

  1. Опустить ролик (с краской)
  2. Поднять ролик (с краской)
  3. Вперед (на какое-то количество метров)
  4. Налево (на какое-то количество градусов)
  5. Направо (на какое-то количество градусов)

Итак, теперь пишем программу для рисования квадрата со стороной в 2 метра. Допустим, что робот уже находится в том месте, где надо рисовать квадрат. Многие из вас наверно уже догадались. Будет нечто вроде:

  1. Опустить ролик
  2. Вперед (на 2 метра)
  3. Налево (на 90 градусов)
  4. Вперед (на 2 метра)
  5. Налево (на 90 градусов)
  6. Вперед (на 2 метра)
  7. Налево (на 90 градусов)
  8. Вперед (на 2 метра)
  9. Налево (на 90 градусов)
  10. Поднять ролик

Давайте внимательно посмотрим на эти замечательные команды. В них явно наблюдается повторение пары команд. Это «Вперед (на 2 метра)» и «Налево (на 90 градусов)». Модифицируем нашу программу:

  1. Опустить ролик
  2. Сделать 4 раза следующие действия:
    1. Вперед (на 2 метра)
    2. Налево (на 90 градусов)
  3. Поднять ролик

Вы можете удивиться, но в нашей несложной программе мы использовали 3 из 4 типов команд. Вот они:

  1. Команда без аргумента
  2. Команда с аргументом
  3. Выполнение команды по условию
  4. Циклическое выполнение команды

В наше программе у нас есть:

  1. Команда без аргумента — Опустит ролик, Поднять ролик
  2. Команда с аргументом — Вперед (на 2 метра), Налево (на 90 градусов)
  3. Циклическое выполнение команды — Сделать 4 раза следующие действия

Для демонстрации типа «Выполнение команды по условию» мы можем расширить возможности нашего робота для реализации более сложного алгоритма. Например, у робота можно спросить — хватит ли ему краски на рисование линии определенной длины. Робот вернет в этом случае ответ «ДА» или «НЕТ». А также добавим включение звукового сигнала. Тем самым робот привлечет к себе внимание. Мы его заправим и он продолжит программу дальше.
Теперь наш робот умеет делать следующее:

  1. Опустить ролик (с краской)
  2. Поднять ролик (с краской)
  3. Вперед (на какое-то количество метров)
  4. Налево (на какое-то количество градусов)
  5. Направо (на какое-то количество градусов)
  6. Хватит краски (на какое-то количество метров) — «ДА»/»НЕТ»
  7. Подать звуковой сигнал

И наша программа превращается в следующий набор шагов:

  1. Опустить ролик
  2. Сделать 4 раза следующие действия:
    • Проверить краску на 2 метра
    • Если ответ «НЕТ»
      1. подать звуковой сигнал
    • Иначе
      1. Вперед (на 2 метра)
      2. Налево (на 90 градусов)
  3. Поднять ролик

Программа на языке программирования

Я бы очень хотел прямо сейчас вам показать программу на языке программирования, но не смогу. Потому как языка для общения с роботом у нас с вами нет. При изучении языка программирования Java мы с вами попробуем создать такого робота. Правда он у нас получится тоже немного абстрактным. Но не будем отчаиваться.
Как я уже говорил выше, еще одной задачей программиста является перевод описания выполнения поставленной задачи с человеческого описания на язык программирования. Чем мы с вами и займемся. Но перед этим нам необходимо прояснить еще несколько вопросов.

Запуск программ

Если вы работали за компьютером, то вы скорее всего слышали о таком понятии как файл. Вся информация хранится в этих файлах. По сути файл — это некоторая область на жестком диске, которая является логическим целым. Именно логическим — ваш файл может быть разбросан по нескольким секциям жесткого диска (или иного носителя, например флешки или компакт-диска). Специальная программа — операционная система — управляет файлами на диске. А человек (и другие программы) видят файл как одно целое. И могут его копировать, переносить и даже удалять.
Так вот программа — это просто файл с набором команд, которые могут быть выполнены процессором. Запускает программу обычно операционная система — она считывает программы из файла, загружает в память и запускает.

Программа: шаги по созданию и запуску

Каждая программа при своем создании проходит простой цикл — написание текста, компиляция, запуск и проверка работоспособности. Большинство программ — это обычный текст, который можно набирать в том же приложении «Блокнот» в Windows (или еще каком-либо простом текстовом редакторе). В большие программы конечно же подключаются картинки, видео, звук и прочие ресурсы, но тем не менее основным элементом программ является обычный текст, который описывает порядок выполнения вашей программы. Шаг за шагом. Какие шаги вы можете делать — об этом мы поговорим несколько позже. А пока давайте остановимся на следующем шаге — это компиляция.
Компиляция — это перевод текста программы в набор кодов, которые понятны процессору. Вы наверно не будете удивлены тем, что программы, которые исполняются на CPU явно не текстовые. Они представляю из себя набор байтов (думаю, что о байтах вы что-то слышали) состоящие из нулей и единиц (и о двоичном коде возможно тоже что-то слышали). Каждая комбинация является командой или данными, которые обрабатывает CPU. Так вот много лет назад программы для компьютеров писались именно так — в память забивали набор байтов, состоящих из нулей и единиц и стартовали программу. Внешний вид такого чуда мысли программиста был мягко говоря слабо читаем. Хотя люди с опытом могли творить просто чудеса. Тем не менее такое кодирование имело еще одну проблему — надо было все делать самому. Где-то в памяти хранить данные и где-то хранить команды. Их надо было разделять, и ими надо было управлять И все это делалось вручную — т.е. программист был с одной стороны почти богом (мог делать все, что хочет), с другой стороны он был вынужден делать титаническую работу по разбиению программы на мелкие-мелкие детали. Как частенько говорят — «из-за деревьев леса не видно». Написать программу обработки текста — это была проблема. В итоге инженеры пришли к нормальной идее, что можно создать так называемые алгоритмические языки программирования. Идея достаточно простая — некоторые конструкции при написании алгоритмов являются стандартными и их на самом деле не так уж и много — мы это еще увидим. Конструкции стандартные — значит и перевод их с понятного представления в машинное тоже будет стандартным. Т.е. можно написать программу, которая будет «переводить» текст на алгоритмическом языке в машинный. И уже полученный результат можно исполнять на CPU. Правда тут возникла еще одна особенность — процесс компиляции может выдавать ошибки, если программа содержит некорректные с точки зрения компилятора конструкции. Но алгоритмические языки резко увеличили скорость программирования. Компилятор сам распределяет память для данных, команд — это огромное подспорье.
С этого и началась эра алгоритмических языков — люди писали программы в более-менее понятной форме, в виде текста. Компилятор их преобразовывал в машинный код, который можно было исполнять.
Стоит отметить. что также существуют программы-интерпретаторы. В отличии от компилируемых языков, которые на выходе получают сразу готовый машинный код, интерпретаторы получают на вход текст программы и пытаются ее выполнить «на лету». Т.е. каждая строка или команда сразу преобразуется в машинный код и выполняется. Это удобно — не надо компилировать — но с другой стороны это замедляет работу программы. Для каждой команды надо выполнить преобразование в машинный код, а потом выполнить этот машинный код. Долго, но зато удобно.

Java Virtual Machine — виртуальная машина Java

Java — это тоже компилируемый язык программирования. И как у других подобных языков, у него тоже есть стадии написания текста, компиляции и запуска. Но в отличии от языков типа C, Pascal и прочих, программа на Java не сразу компилируется в машинный код. После компиляции создается так называемый байт-код. И этот байт-код выполняется специальной программой — Java Virtual Machine, JVM (виртуальная машина Java). Зачем это надо ? Идея очень проста и логична. Каждый тип процессора имеет свой набор команд, что означает, что один и тот же текст на алгоритмическом языке будет преобразовываться в разные машинные коды в зависимости от того, под какой процессор вы компилируете вашу программу. Да и сам компилятор тоже должен существовать под конкретный процессор. И даже если вы сами написали нужный компилятор — надо иметь под рукой исходный текст. А его вам могут и не дать. Он денег стоит.
Из всего этого следует, что компилировать программу под каждый процессор, и даже под каждую операционную систему отдельно требует больших усилий. В компании Sun Microsystems пошли по следующему пути: решили, что программы на Java будут выполняться под управлением специальной программы, по сути на виртуальном процессоре, который имеет совершенно определенный набор команд. И каждая программа на Java может быть выполнена по сути на любом процессоре, на любой операционной системе под которую написана JVM. Таким образом один раз скомпилированная программа на Java будет по идее выполняться где угодно. Девиз Sun был именно таким: Write once run anywhere — написано однажды, запускается везде.
В итоге программа на Java тоже проходит стадию написания текста, компиляции и запуска. Но запускается она под управлением JVM, которая интерпретирует байт-код. вы вполне законно можете подумать, что раз «интерпретирует» — значит работает медленнее. Да, в некоторых случаях это так. Но и тут разработчики Sun смогли найти решение. Был изобретен JIT-компилятор (JIT — Just In Time). Этот механизм позволяет преобразовать байт-код в машинный код при первом проходе программы и в дальнейшем выполнять просто готовый машинный код. Т.е. появилась еще одна стадия — компиляция байт-кода в машинный код. Это позволяет существенно ускорить работу программы. Скорость работы программы на Java вполне сопоставима со скоростью работы программы на том же C или Pascal. Так что страшные истории про жуткие тормоза программ на Java — это только истории и больше ничего. Хотя относительно графических программ можно сказать, что Java уступает в быстродействии.

Цукерберг рекомендует:  Работа с SVG. Вступление

Программа на Java — шаги по запуску программы

Кроме того, что программу надо написать, программу надо еще суметь запустить. Так что программисты постоянно делают один и тот же цикл из четырех шагов:

  1. Редактировать код программы
  2. Собрать/скомпилировать программу из текста в код, понятный JVM — байт-код. Опять же — надо исправлять ошибки компилятора. Тогда возвращаемся к первому шагу.
  3. Если все скомпилировалось — запустить программу под управлением JVM
  4. Посмотреть корректность работы программы. Если даже программа запустилась — не факт, что вы совершенно верно реализовали алгоритм. Нередко надо опять идти к первому шагу.

Если на каком-то шаге произошла ошибка, то повторяем все с самого начала. Если все хорошо, то цикл можно завершать.

Установка Java Development Kit (JDK)

JDK — это набор программ для разработки и запуска программ на Java. Для нас самыми главными будут две программы:

  1. javac — компилятор файлов с программами, написанными на java. У таких файлов обычно расширение .java. Например First.java. После успешной компиляции появляется файл с расширением .class. Т.е. если мы скомпилируем First.java, то должен появиться файл First.class. По большому секрету файлов .class может быть несколько, но мы этот вопрос разберем, .когда придет время.
  2. java — по сути это программа, которая и является JVM. Именно она исполняет байт-код. который содержится в файле .class

В нашем курсе мы будем рассматривать работу под операционной системой Windows. Если вы предпочтете использовать иную систему, то Вам придется потрудиться — мы не рассматриваем как работать на Java под другими ОС. Установка JDK не является сложной задачей — если у вас будет несколько иная версия, чем мы рассматриваем, то вряд ли вы увидите очень большую разницу.
Давайте посмотрим как это делается — Установка JDK.

Java для школьников (и не только)

Целью данного курса является обучение языку программирования на примерах, доступных для школьников старших классов средней школы. Новые понятия, термины и конструкции языка вводятся в курсе постепенно, по мере необходимости. Основной упор при изложении материала сделан на понимание парадигмы объектно-ориентированного программирования и современных технологий, используемых для дизайна приложений в операционной системе Android.

Курс может служить дополнением для старшеклассника при изучении Информатики на профильном уровне. А также может быть полезен начинающим знакомиться с языком Java и технологиями, связанными с этим языком.

Для учителей и преподавателей ссылка на рабочую программу по курсу

Почему выбирают язык программирования Java или Основная идея курса «Обучение Java. Для школьников (и не только)»

Цель всего курса: изучаем язык программирования «в процессе работы» над простыми примерами, а затем над простейшим приложением для Android. Во вводной статье описаны преимущества языка Java.

  • Подробнее о Почему выбирают язык программирования Java или Основная идея курса «Обучение Java. Для школьников (и не только)»
  • 1 комментарий
  • Войдите или зарегистрируйтесь, чтобы отправлять комментарии

Java для школьников. Занятие №1. Всё является объектом.

Занятие построено на небольшом экскурсе в историю программирования. Рассмотрены основные принципы объектно-ориентированного метода программирования (ООП). Еще расскажем о том, что ООП не лучше чем, например, процедурное программирование, но «более абстрактное» и некоторыми специалистами даже возводится в ранг искусства.

  • Подробнее о Java для школьников. Занятие №1. Всё является объектом.
  • Войдите или зарегистрируйтесь, чтобы отправлять комментарии

Java для школьников. Занятие №2. Установка JDK на компьютер.

JDK (Java Development Kit) — это набор инструментов для разработки на языке Java. Рассматривается установка JDK для различных популярных платформ.

  • Подробнее о Java для школьников. Занятие №2. Установка JDK на компьютер.
  • Войдите или зарегистрируйтесь, чтобы отправлять комментарии

Java для школьников. Занятие №3. Учимся говорить — первая программа «Hello World!» и ее компиляция

Настало время написать нашу первую программу на Java. По традиции это будет программа, которая выводит фразу типа «Hello World!» на экран компьютера.
С чем познакомимся:

  • компиляция программы;
  • запуск программы в виртуальной машине;
  • использование терминала.
  • Подробнее о Java для школьников. Занятие №3. Учимся говорить — первая программа «Hello World!» и ее компиляция
  • Войдите или зарегистрируйтесь, чтобы отправлять комментарии

Java для школьников. Занятие №4. Разбор программы «Hello World!»

С чем познакомимся:

  • Ключевые слова: class, public, import;
  • блоки кода;
  • операторы, методы;
  • метод System.out.println();
  • пакеты
  • Подробнее о Java для школьников. Занятие №4. Разбор программы «Hello World!»
  • 1 комментарий
  • Войдите или зарегистрируйтесь, чтобы отправлять комментарии

Java для школьников. Занятие №5. Вникаем в ООП. Создаем новые классы.

Что разберем: некоторые основополагающие понятия ООП (объектно-ориентированного программирования), а именно

  • экземпляр класса;
  • поле (переменная) класса;
  • операция точка(.);
  • выделение памяти для экземпляра класса, тип данных.

Заодно разберем что такое оператор присваивания в Java.

  • Подробнее о Java для школьников. Занятие №5. Вникаем в ООП. Создаем новые классы.
  • 1 комментарий
  • Войдите или зарегистрируйтесь, чтобы отправлять комментарии

Java для школьников. Занятие №6. Вникаем в ООП. Классы и методы. Нахождение объема параллелепипеда

С чем познакомимся:

  • методы класса;
  • конструкторы;
  • конструктор по-умолчанию;
  • передача параметров в метод.
  • Подробнее о Java для школьников. Занятие №6. Вникаем в ООП. Классы и методы. Нахождение объема параллелепипеда
  • Войдите или зарегистрируйтесь, чтобы отправлять комментарии

Java для школьников. Занятие №7. Вникаем в ООП. Интерфейс объекта.

С чем познакомимся:

  • интерфейс объекта;
  • модификаторы;
  • область видимости.
  • Подробнее о Java для школьников. Занятие №7. Вникаем в ООП. Интерфейс объекта.
  • Войдите или зарегистрируйтесь, чтобы отправлять комментарии

Java для школьников. Занятие №8. Понятие пакетов в Java

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

  • Подробнее о Java для школьников. Занятие №8. Понятие пакетов в Java
  • Войдите или зарегистрируйтесь, чтобы отправлять комментарии

Java для школьников. Занятие №9. Интересная задача. Проверка — является ли число простым?

Перед нами реальная задача — программно проверить простое ли число введено в компьютер. Для этого будет использован целый спектр еще неизученных нами Java-технологий:

  • организация ввода данных с помощью аргументов программы в командной строке;
  • операторы цикла;
  • оператор return;
  • операторы сравнения;
  • нахождение остатка от деления и т.д.;

Java — JAVA. Набор знаний.

Для написания апплетов и приложений Java требуются такие средства разработки, как JDK. JDK включает следующие компоненты: среда выполнения Java, компилятор Java и API Java. Начало работы не представляет трудности ни для опытных, ни для начинающих программистов.

Где можно загрузить JDK?

Чтобы загрузить последнюю версию комплекта разработчика Java Development Kit (JDK), перейдите в раздел загрузки JDK.
Разработчики также могут посетить сообщество для разработчиков Java Oracle Technology Network for Java Developers и получить исчерпывающую информацию о технологии Java, включая документацию и обучающие материалы.

Начинающим пользователям Java

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

Как получить сертификат Java?

Сертификат обучения технологии Oracle Java является наглядной демонстрацией технических навыков, увлеченности профессией и высокого уровня мотивации, — качеств, которые высоко ценятся и высоко оплачиваются работодателями. Признанные во всей отрасли возможности обучения и получения сертификатов по технологии Java Oracle позволяют гарантировать наличие навыков, необходимых для эффективного выполнения задач в ИТ-организации.
» Подробнее о Сертификации Java

Конференции для разработчиков Java
  • JavaOne — главная конференция для разработчиков Java, где можно узнать о последних технологиях Java, повысить уровень технических знаний и задать вопросы коллегам-разработчикам и специалистам по планированию. Oracle проводит ежегодные конференции JavaOne, включая основную конференцию JavaOne в Сан-Франциско и конференции регионального уровня. Посетите веб-сайт www.oracle.com/javaone для получения дополнительной информации о предстоящих мероприятиях и местах их проведения.
  • Дни разработчиков Oracle Technology Network — бесплатные практические семинары для разработчиков Java, которые регулярно проводятся во всех странах мира.
  • Oracle также оказывает спонсорскую поддержку другим компаниям, которые организуют мероприятия, посвященные технологии Java. Чтобы узнать о предстоящих событиях в вашем регионе, воспользуйтесь поиском по каталогу мероприятий Oracle.
Java Magazine

Java Magazine — это периодическое интернет-издание, выпускаемое раз в два месяца. Этот журнал является авторитетным источником информации о технологии Java, языке программирования Java и приложениях на основе Java для тех, кому эти знания необходимы в профессиональной деятельности, и для тех, кто только начинает осваивать технологию Java. Журнал включает в себя описания инновационных приложений Java, технические пошаговые инструкции для Java, новости сообщества Java, а также информацию о новой документации Java, конференциях и мероприятиях.

Академия Oracle

Академия Oracle предоставляет учреждениям школьного, профессионального и высшего образования полный портфель программного обеспечения, учебные курсы, хостинговые технологии, факультативное обучение, поддержку и ресурсы сертификации для использования в учебных целях. Эти ресурсы можно включать в состав курсов по информатике и бизнесу, чтобы учащиеся приобрели необходимые навыки до начала профессиональной деятельности в той или иной отрасли. Академия Oracle обучает более 1,5 миллионов человек в 95 странах. Недавно Академия Oracle расширила свою учебную программу и включила в нее курсы по Java. Дополнительную информацию можно найти на веб-сайте Академия Oracle — программирование на языке Java.

Java — JAVA. Набор знаний.

Изучение Java и библиотек

Java, UI дизайн и Андроид разработка

Характеристики курса

Курс рассчитан на новичков, которые хотят улучшить знания в Java разработке. В курсе будут рассмотрены такие темы, как: программирование на Java, создание UI дизайна приложений и добавление к ним функциональности, а также разработка программ в Android Studio под многочисленные Андроид устройства

Курс в цифрах

Множество тем

Курс состоит из уроков и тем, которые раскрывают язык Java с различных сторон. Помимо синтаксиса вы изучите работу с UI дизайном, а также познакомитесь с Android разработкой

Практика повсюду

Большая часть курса состоит из практики и создании проектов. Вы создадите ПК приложение с дизайном, а также несколько мини Андроид приложений

Домашние задания

На сайте вы найдете различные задания и тесты по языку Java и Android. Задания помогут вам закрепить пройденный материал в курсе

От новичка до профи

Курс создан таким образом, что вы от новичка изучите язык Java, научитесь создавать ПК программы, а также Андроид приложения. После курса вы сможете начать работать на фрилансе/работе или же на себя

Программа обучения

Основы Java

Описание

Для написания программ на Java необходимо установить два приложения: IDE (редактор) и JDK (среда разработки Java). В уроке будет рассказано для чего они служат, а также будет выполнена установка обеих программ на компьютер.

Вам будет рассказано для чего используется язык Java, какие его основные сферы применения, а также какие приложения можно написать на основе языка.

Дополнительно вы создадите вашу первую программу и познакомитесь со всеми этапами создания пустого приложения в IDE.

17 минут Задания Исходники

Продвинутый Java

Описание

Начиная с этого урока вы приступите к изучению объектно-ориентированного программирования или проще ООП. В ходе урока вы ознакомитесь с такими понятиями, как: классы, объекты, поля, методы, а также создание конструкторов в классе и их перегрузка.

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

34 минуты Задания Исходники

Andro >#1 — Установка Android Studio и настройка всего

Описание

Java позволяет разработчикам создавать программы и игры под мега популярную платформу Андроид. Изучив язык и Android Studio вы сможете создавать программы под телефоны, планшеты, часы, телевизоры и многие другие гаджеты работающие на ОС Android.

В ходе курса вы изучите систему Андроид, научитесь писать программы разных жанров и станете настоящими Андроид разработчика.

За первый урок вы установите всё необходимое, а также создадите первый проект и запустите его на виртуальном устройстве Андроид.

29 минут Задания Исходники

Выдача сертификата

После прохождения курса, каждый ученик купивший курс с типом «Наилучший» или «Всё включено» сможет получить сертификат об успешном прохождении онлайн видеокурса. Сертификаты помогают при дальнейшем трудоустройстве, так как работодатель сразу же видит что перед ним человек, проходивший курсы по определенным языкам и технологиям Размер сертификата — А4
Формат — PDF

Понравилась статья? Поделиться с друзьями:
Все языки программирования для начинающих