8 812 320 13 03
  • Новости
  • Расписание
  • Курсы
  • Организациям
  • Летняя Школа
  • Перезвоните мне

    Основы программирования и алгоритмизации на языке Java

    Основы программирования на языке Java. Уровень 2

    HIT
    Основы программирования на языке Java. Уровень 2
    Начало курса
    05.05.2017
    Продолжительность
    1,5 месяца (40 ак. часов)
    Расписание
    Пн. 19:00 - 22:00
    Пт. 19:00 - 22:00


    Семинар
    (15 мест)
    14500 записаться
    Вебинар(6 мест) 12990 записаться
    свернуть

    Описание курса

    СертификатКурс Основы программирование на языке Java. Уровень 2., является продолжением курса Основы программирование на языке Java. Уровень 1
     и охватывает наиболее важные аспекты разработки на языке Java, необходимые для начинающего разработчика.

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


    Настоящий java курс охватывает такие необходимые для разработчика темы, как:

    • Сборка проектов (будем использовать Maven)
    • Контроль версий на Github
    • Паттерны
    • Сериализация объектов
    • Работа с XML
    • Работа с БД (SQL, MySQL и приложение MySQL Workbench)
    • Библиотека JDBC
    • Hibernate
    • Аннотации
    • CRUD
    • Организация доступа к объектам в БД. DAO
    • Параллелизм в Java. Нити
    • Многопоточность в Java 
    • Работа с сетью в Java
    • Язык UML
    • Паттерн MVC

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

    Занятие 1. Механизмы сборки проектов. Сериализация.

    • Сборка проекта с помощью Maven;
    • Конфигурационный файл Maven;
    • Управление записимостями;
    • Подключение зависимостей на примере JUnit и Gson;
    • Способы и виды сериализации;
    • Сериализация объектов;
    • Интерфейс Serializable;
    • Объектные потоки ввода-вывода;
    • Условия успешной упаковки и распаковки объектов;
    • Сериализация в структурные форматы на примере Json.
    Домашнее задание:
    • Доработка программы - телефонная книга с возможностью сериализации данных в двух видах
    Литература и ресурсы: 
    • Конфигурационный файл Maven
    • Json, Serializable

    Занятие 2. Параллелизм и нити.

    • Основы распределенного выполнения программных систем;
    • Процессы и потоки;
    • Класс Thread;
    • Интерфейс Runnable;
    • Особенности метода run();
    • Способы корректной работы нескольких потоков;
    • Ожидание выполнения потоков;
    • Синхронизация методов и блоков
    Домашнее задание:
    • Асинхронные сериализация и десереализация
    Литература и ресурсы:
    • Процессы и потоки
    • Синхронизация
    • ProcessBuilder

    Занятие 3. Основы работы в сети

    • Стек сетевых протоколов;
    • Архитектура «клиент-сервер»;
    • Протокол TCP/IP;
    • Создание простейшего сетевого чата;
    • Надежность передачи данных по сети. Сериализация передаваемых объектов;
    • Передача объектов и файлов по сети
    Домашнее задание:
    • Совершенствование сетевого чата.
    • Передача сообщений адресованному клиенту
    Литература и ресурсы:
    • Сетевые протоколы.
    • Сокеты. Адресация в сети

    Занятие 4. СУБД. Hibernate. Аннотации.

    • Виды СУБД;
    • Установка сервера MySQL и приложения MySQL Workbench;
    • Виды запросов, CRUD;
    • Библиотека JDBC;
    • Механизм аннотаций в Java;
    • Библиотека Hibernate;
    • Конфигурационный файл Hibernate;
    • Классы - сущности;
    • Аннотации в Hibernate;
    • CRUD с помощью Hibernate.
    Домашнее задание:
    • Реализация сохранения данных телефонной книги в MySQL
    Литература и ресурсы:
    • Язык SQL
    • Основные аннотации Hibernate
    • Связи таблиц в БД

    Занятие 5. Паттерны «Одиночка», «Наблюдатель», «Стратегия».

    • Необходимость в использовании паттерна «Одиночка (Singleton)»;
    • Простейшая реализация паттерна;
    • Многопоточный доступ к «одиночке»;
    • Корректная реализация паттерна «Одиночка» с применением синхронизации потоков;
    • Паттерн «Наблюдатель (Observer)»;
    • Обертка клиент-серверного чата на паттерн «Наблюдатель»;
    • «Наблюдатель» в java.util;
    • Описание паттерна «Стратегия»;
    • Применение паттерна стратегия к телефонной книге для возможности выбора способа сохранения данных.
    Домашнее задание:
    • Реализация в чате совместной работы «Одиночки» и «Наблюдателя»
    Литература:
    • Примеры применения изученных паттернов. GoF.
    • Язык UML диаграмм.
    • RxJava
    Оставшиеся занятия пишем проект, который придумываем все вместе, при написании проекта, изучаем предложенные участниками и/или преподавателем темы. 


    Возможные темы:

    • Синтаксический анализ на примере создания строчного калькулятора  с функциями (разбирается метод рекурсивного спуска, синтаксическое дерево выражения, основы компиляторов);
    • Реактивное программирование с RxJava (разбирается реактивный подход к выполнению распространенных на практике задач обработки данных);
    • Работа с файлами на примере создания файлового менеджера (разбираются библиотеки java.io и java.nio, слушатели создают файловый менеджер с определенным набором возможностей и правильной архитектурой);
    • Командная работа. Доработка чата с расширенными возможностями (сохранение истории сообщений, личная переписка, групповые чаты и т.д.);
    • Основные шаблоны проектирования на примере любой программы, перечисленной выше или предложенной слушателем.
    и многое другое!

    свернуть

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

    Денис

    Закончил СПбГЭТУ «ЛЭТИ» по специальности «Автоматизированные системы обработки информации и управления» (АСОиУ).

    Уже во время учебы Денис был участником и готовил команды своего университета к олимпиадам по программированию ACM ICPC(проводил лекции, тренировки, разборы задач), а также был методистом в «Заочной школе современного программирования» при журнале «Компьютерные инструменты в образовании». 

    Более 10 лет Денис работал в компаниях и проектах различного уровня, где приходилось решать задачи на C++, C#, Java и Python, а также преподавал курсы: «Программирование», «Операционные системы», «Компьютерная графика», «Конструирование программ» в СПбГЭТУ «ЛЭТИ».

    В настоящее время Денис работает в компании Oracle, курирует и ведёт сборы для одаренных школьников в центре «Интеллект» по информатике (программированию), а также ведёт занятия по C++ и Java для студентов ЛЭТИ, организуя работу в командах над курсовыми проектами.

    "Все, чего не хватает начинающим программистам - это понимания того, как практику совместить с теорией, а также веры в себя и свои силы. Все это приходит только, когда ты видишь реальные результаты своей работы. Я стараюсь делать курсы такими, чтобы у каждого участника курса после окончания было четкое понимание всех аспектов, необходимых начинающему программисту, которые он смог бы применить на практике" - говорит Денис.

    Илья

    Илья закончил НИУ ИТМО по специальности информатика и прикладная математика.

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

    Лекции и семинары Илья начал проводить ещё будучи в магистратуре, и продолжает до сих пор.

    «Я, будучи ещё студентом, понимал, чего не хватает в некоторых курсах наших преподавателей. Можно сказать, что я начал свою карьеру именно со своей первой лекции, — говорит Илья. — Слушатель должен понимать, что его труд не напрасен. Я даю возможность сразу же применить полученные знания на практике и стараюсь не ограничивать задания какими-либо строгими требованиями, ведь каждый обучающийся имеет свои сильные стороны. В программировании и в жизни придерживаюсь правила “Everything should be made as simple as possible, but not simpler”».
    свернуть

    Фотографии

    свернуть

    Отзывы

    Всего отзывов: 16
    Основы программирования на языке Java. Уровень 2
    Сергей
    Санкт-Петербург

    Отличный курс. Хороший баланс теории и практики. Получил знания, за которыми пришёл. Преподаватель обладает нужными знаниями и умением объяснять.

    Основы программирования на языке Java. Уровень 2
    Вячеслав
    Санкт-Петербург

    Владимир - прекрасный тренер! Занятия проходили интересно, полезно и познавательно. На все вопросы отвечал понятно и доступно. Курс сильный и объёмный. Замечательно, что все занятие записываются. Для повторения дома незаменимая вещь.

    Основы программирования на языке Java. Уровень 2
    Кирилл Луценко
    Санкт-Петербург

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

    Основы программирования на языке Java. Уровень 2
    Алексей Антонов
    Санкт-Петербург

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

    Основы программирования на языке Java. Уровень 2
    Wtadystaw
    Санкт-Петербург

    Отличный курс для слушателя, имеющего базовые знания языка Java, но пока не имеющего представления, как применить эти знания на практике. С самого первого занятия был один вопрос: "Почему таким же образом не организовываются занятия в университете?" Один из главных плюсов, на мой взгляд, грамотный code review. Теперь у меня имеется представление о красивом коде и если сравнивать то, что я писал месяц назад с тем, что сейчас, то становится очевиден факт того, что мой код "пахнет" не так сильно. Единственно, что хотелось бы добавить в курс - углублённая работа с потоками.

    Основы программирования на языке Java. Уровень 2
    Татьяна
    Санкт-Петербург

    Посещаю уже второй курс в Level UP, второй курс в одного преподавателя. Я всему рада! Много интересного, нового, а главное - очень полезного. Чему-то могу научить и разработчика со стажем =). Удобный график посещений, оперативные ответы преподавателя. Спасибо!

    Основы программирования на языке Java. Уровень 2
    Мурад Азимов
    Санкт-Петербург

    Это не первый и не последний курс, который я изучил в Level UP. Всё, как всегда супер, на высшем уровне. Жду с нетерпением продолжения - Android. Курс понравился, чувствую, как я прокачал свои навыки и получил много новых знаний. Уровень 2 сложнее первого уровня, но зато интереснее. Требуется больше времени и усидчивости, чтобы вовремя выполнять домашки и усваивать материал. Спасибо Level UP за атмосферу, спасибо преподавателю за знания. Всем спасибо!

    Основы программирования на языке Java. Уровень 2
    Родион Аверьянов
    Санкт-Петербург

    Всё очень понравилось. Хороший преподаватель, хорошая группа. Наконец-то стал лучше понимать программирование. Да, и для себя очень помогло. Спасибо!

    Основы программирования на языке Java. Уровень 2
    Евгений Прокофьев
    Санкт-Петербург

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

    Основы программирования на языке Java. Уровень 2
    Артём
    Санкт-Петербург

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

    Основы программирования на языке Java. Уровень 2
    Александр Георгиевский
    Санкт-Петербург

    Курс полностью оправдал ожидания. Преподаватель отлично владеет материалом и отлично подаёт информацию.

    Основы программирования на языке Java. Уровень 2
    В. М. Юркин
    Санкт-Петербург

    Всё очень понравилось. Очень информативный курс, позволяющий начать карьеру программиста. Отлично подан материал, порадовали закрепляющие задания.

    Основы программирования на языке Java. Уровень 2
    Евгений Павлов
    Санкт-Петербург

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

    Основы программирования на языке Java. Уровень 2
    Александр Наумов
    Санкт-Петербург

    Подача материала на отлично. Понравилось абсолютно всё. От курса получил больше, чем ожидал получить. Минусов критичных, боюсь, нет. Атмосфера тоже "плюс", располагает учиться. На, а что ещё нужно для занятий... Всё отлично, очень круто!!!

    Основы программирования на языке Java. Уровень 2
    Рябинин Игорь
    Санкт-Петербург

    Общее впечатление: очень понравился курс! С Владимиром приятно работать. Курс и подача материала очень интересные. К сожалению, быстро прошёл...

    Основы программирования на языке Java. Уровень 2
    Карева Софья
    Санкт-Петербург

    Реально очень классный подход, не ожидала, что будет настолько информативный курс. Спасибо!

    Курсы программирования, тестирования, мобильных и веб-технологий от Level UP!
    Учитесь с профессионалами в сфере IT-образования!