Java mag 2021

Материал из Public ATP Wiki
Версия от 22:35, 30 апреля 2021; VeLKerr (обсуждение | вклад) (Мини-контрольные)
Перейти к: навигация, поиск

Общие сведения

Материалы занятий

Для доступа к видео нужно зайти в аккаунт @phystech.edu.

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

  • Олег Ивченко
  • Иван Федотов

Учебные ассистенты

  • Смагин Евгений
  • Ахметзянов Талгат

Критерии получения оценки

Зачет ставится по результатам работы в семестре.

Домашние задания

Планируется 5 домашних заданий. Проверка включает 2 этапа:

  1. прохождение тестов в Yandex.Contest (ДЗ-1,2) и / или проверка тестов, написанных вами. Код нужно залить в соотв. репозиторий на gitlab.atp-fivt.org.
  2. code review при условии выполненного п.1. В процессе code review вы получаете Фидбек от проверяющего. Его можно прочитать на странице вашего репозитория с ДЗ (Project -> Activity) или в автоматических письмах от automation@atp-fivt.org. Исправления по code review можно делать в течение 1 месяца после 1-го комментария.

Дедлайны по домашкам

  • За сдачу позже мягкого дедлайна -50%
  • Позже жёсткого можно сдавать с оценкой 25% максимум.

Под сдачей понимается выполнение 2 факторов:

  • код проходит тесты (в Яндекс.Контесте или необходимое кол-во тестов, кот. написали вы сами)
  • код лежит в gitlab-репозитории
Домашка Мягкий deadline Жёсткий deadline
Simple Java Core 25.02, 23:55 04.03, 23:55
Advanced Java Core & JUnit 25.03, 23:55 01.04, 23:55
JDBC, external export, GitLab CI 22.04, 23:55 29.04, 23:55
Multithreading 06.05, 23:55 13.05, 23:55
Spring 22.05, 23:55 22.05, 23:55

Мини-контрольные

Состоятся 2 контрольные, которые будут проводиться с помощью системы прокторинга http://exams.mipt.ru/. По ссылке доступна инструкция пользователя. На контрольных нельзя пользоваться IDE и интернетом. Код писать не потребуется.

Название события на http://exams.mipt.ru/ Темы Дата Длительность
Программирование на Java. Quiz #1 Синтаксис Java. Ветвления, циклы и метки. Примитивные типы и объекты в Java. Приведение типов. Inboxing, outboxing. Exceptions. Массивы и коллекции. Строки. Классы (абстрактрые, вложенные, внутренние, анонимные, локальные...), интерфейсы. Класс Object и всё, что с ним связано. Generics, enums (enums as classes). 25.03, 15:00 15 мин.
Программирование на Java. Quiz #2 Тестирование приложений в Java. Сборка приложений. Работа с базой данных. Многопоточность в Java. Аннотации. Spring 13.05, 15:00 15 мин.

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

  • 20.05, 15:00 для 1го Quiz'a
  • 20.05, 15:30 для 2го.

Экстерн-проект

Участие в реальном opensource-проекте под руководством заказчика из индустрии. Для участия в проекте нужно уже обладать базовыми знаяниями Java core.

Бонусы от участия в проекте:

  • участия в проекте достаточно для того чтоб закрыть курс. В этом случае все остальные домашки, контрольные и посещение занятий - по желанию.
  • опыт работы в команде (обычно на 1 проект 2-3 человека)
  • еженедельные встречи с куратором проекта. Куратор проекта не только руководит выполением и ставит задачи, но и делает code review.
  • публикация на Хабре или выступление в профильных Java-конференциях
  • запись в Центральном репозитории Maven, где вы будете записаны как Developer проекта.

Актуальные темы проектов здесь.

Проекты, которые делали ваши предшественники и что из этого получилось, можно посмотреть здесь.

Бонус

За активность в чате курса и на занятиях можно получить дополнительно +1 балл. Количество студентов, получивших бонус, неограничено.

Перезачет курса

Если вы хотите перпезачесть курс, просьба заполнить форму до 4.03.2021. перезачет по данному курсу ставится в исключительных случаях. В остальном рекомендуется выбрать другой курс из блока.

Список рекомендуемых материалов

Основная литература

Java Core

  1. Б. Эккель “Философия Java”
  2. К. Хорстманн и др. “Core Java 2”
  3. Br. Goetz “Java concurrency in practice”
  4. R-G. Urma et al. “Modern Java in action”
  5. J. Bloch “Effective Java”

Книги 1-3 переведены на русский.

Spring

  1. Олег Докука — Строим криптотрейдинг-платформу, используя Spring 5 и Reactor 3
  2. Максим Гореликов — Дизайн реактивной системы на Spring 5/Reactor

Дополнительные материалы