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

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

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

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

Зарегистрироваться

  • Введение в Java
    13 занятий, 50 академических часов
  • Автоматизированное тестирование
    13 занятий, 52 академических часов
  • Разработка на Golang
    7 занятий, 28 академических часов

О курсе «Введение в Java» (Весна 2020)

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

 

Новый набор будет в весеннем семестре текущего учебного года (2019/2020). Бесплатный открытый (то есть доступный студентам СПбПУ всех направлений подготовки) курс по разработке на языке программирования 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. Защита итоговых проектов

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

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

Результат

Базовые знания языка Java. Объектно-ориентированное программирование. Навыки тестирования. Git. Паттерны проектирования

Требования

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

Материалы для подготовки

Что нужно для поступления?

Обладать базовыми знаниями Java и пройти онлайн-тестирование по Java и по логике
Как подготовиться к поступлению?

Дополнительные материалы: Литература для теста по логике:
  • Андрей Колмогоров, Альберт Драгалин. Математическая логика. Введение в математическую логику. М., "Ленанд", 2017, 240 с.
  • В.Н. Крупский, В.Е. Плеско. Математическая логика и теория алгоритмов. М., Издательский центр "Академия", 2013, 416 с.