Открытые курсы

  • Для студентов СПбПУ
  • Лекции и практика от сотрудников «Одноклассников» (Mail.ru Group)
  • Занятия вечером и в субботу

Приходи учиться

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

Зарегистрироваться
  • Введение в Java
    13 занятий, 50 академических часов
  • Автоматизированное тестирование
    13 занятий, 52 академических часов

О курсе «Введение в Java»

Новый набор будет в весеннем семестре текущего учебного года (2018/2019). Бесплатный открытый (то есть доступный студентам СПбПУ всех направлений подготовки) курс по разработке на языке программирования Java — популярного объектно-ориентированного языка программирования. Курс посвящен изучению основ Java 11, работе с Git, знакомству с некоторыми практиками тестирования и паттернами проектирования систем. Рассчитан на людей, имеющих минимальные базовые знания программирования на любом языке. Во время курса студенты смогут освоить Java и создать полноценное приложение.

    1. Введение в Java. Основы Git

      Основные концепции Java: байт-код и JVM, JIT, сборщик мусора, Java Naming Convention. История развития Java. Установка JDK, создание проекта в IDEA. Основы работы с Git репозиториями.
    2. Разбор домашних. Введение в тестирование

      Разбор первого домашнего задание. Введение в тестирование. JUnit 5. TDD
    3. Checkstyle

      Обзор домашних, checkstyle, процесс сдачи, домашняя работа
    4. Класс

      • Класс
      • Приведение типов
      • Методы
      • Инициализация параметров
      • Вложенные классы
      • Домашняя
    5. Наследование и ООП

      Наследование - extends
      Ключевое слово super - поля/конструктор
      Прекращение наследования - final / private constructor
      Переопределение методов - @Override
      Сокрытие имён переменных - shadowing
      Abstract class vs interface
      Object: equals, hashCode
      Comparable: compareTo
      ООП: Наследование, Абстракция, Инкапсуляция
      Наследование vs Композиция
    6. Коллекции и алгоритмы

      Java Collection Framework. Структуры данных: Collection, List, Queue, Deque, Map, Set. Алгоритмы работы с коллекциями.
    1. Лямбда выражения и Stream API

      ...
    2. Exceptions. Generics

      Работа с исключениями
      Generics
    3. Input/Output. Networking

      Потоки ввода вывода. Пакет java.io. Файловый ввод вывод. Фильтрующие потоки. Data Streams. I/O с консоли.

      Работа с сетью
      Введение. TCP/UDP. URI/URL. HTTP
    4. Основы многопоточного программирования

      Основные понятия. Потоки в Java Закон Амдала. Критические секции. Пассивное ожидание. Неизменяемые объекты. Жизнеспособность.
    5. Утилиты многопоточного программирования

      java.util.concurrent, java.util.concurrent.atomic, java.util.concurrent.locks. fork/join
    6. QA / Фреймворки

      Семинар
    7. Защита итоговых проектов

      Защита и презентация итоговых проектов