Программа

jj_social_logo-1.png

Java Primary School (JPS)

Начальная школа это 18 недель / 18 вебинаров / 36 часов занятий и интенсивной работы, помимо вебинаров мы включаем занятия-практикумы для проработки открытых вопросов.

Школа разделена на три комнаты: Зеленую, Красную, Черную. Сложность тем и заданий растет от комнаты к комнате, но уже пройдя первую, вы сможете писать простые приложения.

Формат обучения

Мы проводим обучение в режиме онлайн и считаем этот формат очень удобным. Сразу скажем, что он подходит само-мотивированным людям, за которыми не нужно стоять с палкой у компьютера и заставлять выполнять практикум. У нас нет живого класса, но есть закрытая виртуальная группа (как правило, на базе Google+ сообщества и Skype), где мы показываем прогресс всех студентов, делимся дополнительной информацией и отвечаем на вопросы.

Наш вебинар — это начитка материала с практическими примерами, который длиться около 2-x часов. Сразу после вебинара вы получаете:

  • учебные материалы в виде слайдов, которые мы используем во время лекции

  • видео-запись самого вебинара

  • электронный тест, который нужно пройти, ответив на 10 вопросов, а также

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

  • исходный код примеров, рассмотренных на вебинаре

Каждый вебинар также включает в себя домашнее задание. Именно этот элемент в нашем обучении, является самым важным. Пока вы не попробуйте сделать что-то сами, своими руками, всё услышанное вами пройдёт насквозь и никак не отложится в виде знаний. Залог успешного обучения кроется в выполненных домашних заданиях, пусть даже не на 100%, но на необходимый уровень, который позволит разобраться в той или иной теме.

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

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

Электронный тест — это ещё один инструмент обучения и закрепления знаний студентом. Результаты тестирования с пояснениями, если были неверные ответы, отправляются студенту лично.

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

  • выполнения всех домашних заданий

  • прохождение всех электронных тестов, а также

  • выполнение экзаменационного проекта

  • прохождения собеседования с тренерами. На этом собеседовании мы разыгрываем типичное интервьюирование на роль Java Junior Developer, которое будет похоже на то, которое вам предстоит пройти, когда придёте устраиваться на работу в реальную IT компанию.

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

Требования к студенту

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

Рекомендуем приходить на живой вебинар или смотреть запись в течении двух дней после её появления, чтобы поддерживать темп курса и получить максимальную помощь от тренеров и студентов в группе.

Комнаты

Что такое комнаты? По сути это этапы школы, или ступени. В каждой следующей комнате темы, как правило, становятся сложнее и объемнее. Таким образом, мы стремимся показать ваш путь и прогресс во времени обучения в нашей школе. Темы сгруппированы по комнатам логичным, на наш взгляд, образом. Проходя определённую комнату, вы добавляете ещё один виток знаний на свой счёт, понимая какими возможностями обладает язык Java и как на нём программировать.

Зеленая комната

Вебинар 1

  • Краткая история. Введениe в язык Java

  • Пример программы

  • Основы языка: переменные, операторы, выражения, управляющие конструкции, массивы

Вебинар 2

  • Классы и объекты

  • Стандартные классы

  • Объектные переменные

  • Написание класса

Вебинар 3

  • Парадигма ООП

  • Абстрактные классы

  • Интерфейсы

  • Перечисления

Вебинар 4

  • Модификаторы доступа

  • Перегрузка и переопределение методов

  • Приведение типов

  • Соглашение о стандарте кодирования. Best practices

Вебинар 5

  • Виды классов

  • Анонимные классы

  • Обработка исключительных ситуаций

Красная комната

Вебинар 6

  • Структуры данных

  • Вектор, Список, Очередь, Стек, Дерево

  • Интерфейс Iterable. Итераторы

Вебинар 7

  • Коллекции

  • Интерфейсы Collection, List, Set, Map

  • Классы ArrayList и LinkedList

  • Классы HashSet, LinkedHashSet, TreeSet, PriorityQueue

Вебинар 8

  • Хеш-таблица. Хеш-код

  • Интерфейс Map

  • HashTable, HashMap, LinkedHashMap и TreeMap

Вебинар 9

  • Для чего нужны методы equals() и hashCode()

  • Сортировка и поиск в коллекциях

  • Сравнение элеметов коллекций. Компараторы. Интерфейсы Comparator и Comparable

  • Класс java.util.Collections

Черная комната

Вебинар 10

  • GUI — Graphical User Interface

  • AWT и Swing

  • Основные компоненты

  • GUI designer

  • Создание простых форм

Вебинар 11

  • Верстка с помощью размещений (Layouts)

  • Обработка событий (ActionListener)

  • Динамическое создание компонентов

Вебинар 12

  • Обработка событий

  • Listener или Adapter

  • События клавиатуры и мыши

Вебинар 13

  • Меню и панели инструментов

  • Класс Action

  • Горячие клавиши (mnemonics, accelerators)

  • Классы-утилиты: Properties, Calendar, System

Вебинар 14

  • Потоки ввода-вывода

  • InputStream и OutputStream

  • Reader и Writer

  • Текстовый и бинарный ввод-вывод

Вебинар 15

  • Сериализация

  • Работа с файлами и директориями

Вебинар 16

  • Паттерн MVC, Модели и Делегаты

  • Компонент JList

  • Модели данных и выделение

  • Рендеринг элементов

Вебинар 17

  • Компонент JTable.

  • Модели данных, выделения, столбцов.

  • TableCellRenderer и CellEditor

  • Сортировка строк

Вебинар 18

  • Характеристики JVM, JDK, JRE

  • Устройство памяти JVM

  • Сборщик мусора