онлайн-курс
5

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

34 видеоурока + 26 заданий
учебный чат
старт в любое время
Удостоверение ИТМО
logo course
Практический интенсив по языку Java, который даст уверенный старт в IT-карьере и позволит претендовать на позицию Junior-программиста
  • Базовые знания о программировании на Java: с нуля до продвинутого уровня
  • Комплексное представление о Java-разработке, начиная с базовых конструкций
  • Изучение продвинутых аспектов Java: многопоточность и работа с файлами
  • Обучение, которое позволит претендовать на позицию Junior Java Developer
  • Трамплин для мощного буста карьеры в сфере информационных технологий
Профессия разработчика / программиста по-прежнему не покидает верхних строчек рейтингов самых перспективных и высокооплачиваемых — как в России, так и во всем мире. Рынок технологий непрерывно развивается, и IT-специалисты требуются всегда
saialy
Онлайн-курс ИТМО поможет качественно улучшить профессиональную жизнь:
Junior-программистам
Вы получите прочные базовые навыки программирования и разработки на Java — этого будет достаточно, чтобы уверенно стартовать, даже если ранее вы никогда не писали код. Кроме того, вы станете готовы к более глубокому погружению в IT
Студентам и учащимся
Вы сможете использовать полученные знания в качестве отличного фундамента перед обучением компьютерным наукам и программированию. Разовьете логическое мышление, аналитические навыки и умение структурно решать проблемы
Новичкам в IT
Вы научитесь писать код на языке Java — одном из самых популярных в мире типизированных объектно-ориентированных языков программирования. Получите полное представление обо всех аспектах работы с Java “с нуля” до уверенной базы
Junior-программистам
Студентам и учащимся
Новичкам в IT
Вы получите прочные базовые навыки программирования и разработки на Java — этого будет достаточно, чтобы уверенно стартовать, даже если ранее вы никогда не писали код. Кроме того, вы станете готовы к более глубокому погружению в IT
Вы сможете использовать полученные знания в качестве отличного фундамента перед обучением компьютерным наукам и программированию. Разовьете логическое мышление, аналитические навыки и умение структурно решать проблемы
Вы научитесь писать код на языке Java — одном из самых популярных в мире типизированных объектно-ориентированных языков программирования. Получите полное представление обо всех аспектах работы с Java “с нуля” до уверенной базы
author
author
Таринская Татьяна Геннадьевна
Автор курса

Java-разработчик в компании Itigris. Опыт преподавания в школе Бруноям, опыт подготовки школьников к олимпиадам и ЕГЭ по информатике на подготовительных курсах ИТМО и в частном порядке как репетитор. Опыт преподавания Java и алгоритмов для желающих в Объединении ОЛИМП ИТМО. Автор курсов по Java-программированию, преподаватель Университета ИТМО.

Программа онлайн курса
1
Тема 1. Основы (циклы, условия, массивы)
    Занятия:
  • Введение + установка JDK и среды разработки
  • Основы синтаксиса
  • Консольный ввод-вывод
  • Циклы и условия
  • Массивы
  • Задания:
  • Установка JDK и среды разработки
  • Типы данных и арифметические операции
  • Алгоритмы с ветвлением
  • Алгоритмы с циклами
  • Массивы
2
Тема 2. ООП
    Занятия:
  • Основы ООП. Классы и объекты
  • Абстрактные классы
  • Интерфейсы
  • Инкапсуляция
  • Наследование
  • Полиморфизм
  • static и final
  • Класс Object и его методы
  • Задания:
  • Классы и объекты
  • Абстрактные классы
  • Интерфейсы
  • Модификаторы доступа
  • Перегрузка методов
  • static и final
3
Тема 3. Работа со строками
    Занятия:
  • Создание строки
  • Неизменяемость строк
  • String Pool
  • Конкатенация (объединение) строк
  • Методы класса String
  • Классы StringBuffer и StringBuilder
  • Задания:
  • Работа со строками
4
Тема 4. Коллекции
    Занятия:
  • Collections Framework
  • Классы и интерфейсы
  • Интерфейс Queue
  • Интерфейс List и его реализации
  • Интерфейс Set и его реализации
  • Интерфейс Map и его реализации
  • Класс Collections и Arrays
  • Интерфейс Iterator
  • Интерфейсы Comparable и Comparator
  • Задания:
  • List
  • Set
  • Map
5
Тема 5. Обобщения (Generics)
    Занятия:
  • Generics
  • Выведение типа
  • Создание дженерик-класса и дженерик-интерфейса
  • Параметризованные методы
  • Инвариантность обобщенных типов
  • Стирание типов
  • Wildcards
  • Ковариантность/контрварианость wildcard
  • Принцип PECS (Producer Extends, Consumer Super)
  • Задания:
  • Дженерики
6
Тема 6. Лямбда и Stream API
    Занятия:
  • Функциональные интерфейсы и лямбда-выражения
  • Stream API
  • Создание стрима
  • Методы (операции) над стримами
  • Конвейерные методы
  • Терминальные методы
  • Методы Collectors
  • Задания:
  • Лямбда-выражения
  • Stream API
7
Тема 7. Comparable и Comparator
    Занятия:
  • Принцип сравнения
  • Интерфейс Comparable
  • Интерфейс Comparator
  • Comparable vs Comparator
  • Метод Comparator.comparing()
  • Метод thenComparing()
  • Задания:
  • Компаратор
8
Тема 8. Перечисление (Enum)
    Занятия:
  • Enum (перечисление)
  • Для чего нужны перечисления
  • Конструкторы, поля, методы
  • Задания:
  • Enum
9
Тема 9. Исключения
    Занятия:
  • Exceptions (Исключения)
  • Иерархия исключений
  • Error
  • Exception
  • Непроверяемые и проверяемые исключения
  • Обработка исключений
  • Try-catch-finally
  • Обработка нескольких исключений
  • Пользовательские исключения
  • Стек вызовов (stack trace)
  • Задания:
  • Исключения
10
Тема 10. Многопоточность
    Занятия:
  • Основы многопоточности
  • Синхронизация потоков
  • Фреймворк Executor
  • Интерфейсы Executor и ExecutorService
  • Интерфейсы Future и Callable, класс CompletableFuture
  • Контекстные переменные (ThreadLocal)
  • Задания:
  • Многопоточность
11
Тема 11. Работа с датой и временем
    Занятия:
  • java.util.Date, java.util.Calendar
  • java.text.DateFormat, java.text.SimpleDateFormat
  • Методы format и parse
  • Date/Time API
  • Календарная система ISO 8601
  • Текущие дата и/или время
  • Модификация даты и времени
  • Из LocalDate в LocalDateTime и наоборот
  • Задания:
  • Дата и время
12
Тема 12. Работа с файлами
    Занятия:
  • Java NIO API. Работа с файлами
  • Пакет java.nio.file
  • Интерфейс java.nio.file.Path
  • Класс java.nio.file.Files
  • Создание и просмотр содержимого директории
  • Создание, перемещение файлов
  • Чтение, запись данных из файлов
  • Рекурсивный обход
  • Задания:
  • Работа с файлами
13
Тема 13. Java I/O
    Занятия:
  • Работа с потоками ввода/вывода
  • I/O (Input/Output) Stream
  • Байтовые потоки
  • Сериализация и десериализация
  • Требования к объекту
  • ObjectOutputStream и ObjectInputStream
  • Расширение .ser
  • Сериализация в формат JSON
  • Задания:
  • Потоки ввода-вывода
14
Тема 14. Продвинутые языковые возможности
  • Аннотации
  • Синтаксис аннотаций
  • Создание аннотации
  • Мета-аннотации
  • Встроенные аннотации
  • Рефлексия
  • Класс Class
  • Вызов приватных полей и методов
  • Создание объектов класса
15
Тема 15. Инструменты
    Занятия:
  • Java ARchive
  • Применение
  • Каталог META-INF и файл MANIFEST.MF
  • Создание JAR-файла
  • Запуск, просмотр и извлечение JAR-файла
  • Задания:
  • Jar
Раскрыть этапы
#коммуникация
Не нужно справляться в одиночку — всегда есть поддержка и обратная связь
Для слушателей онлайн-курсов мы организуем закрытый учебный чат — действенный инструмент, чтобы усилить вовлечённость в обучение.

А ещё общение в мессенджере обеспечит вам прямую и оперативную связь с куратором курса
<