Java bak 2023 — различия между версиями

Материал из Public ATP Wiki
Перейти к: навигация, поиск
(Важные ссылки)
 
(не показано 48 промежуточных версий 3 участников)
Строка 2: Строка 2:
 
* Семестр: 5 (3й курс)
 
* Семестр: 5 (3й курс)
 
* Форма контроля: диф. зачет
 
* Форма контроля: диф. зачет
 +
 +
[https://drive.google.com/drive/folders/18biA6Vba6HPZrOE-0nk8RQIuU3ZRKLSO?usp=sharing Вводное занятие 05.09.23]
  
 
== Важные ссылки ==
 
== Важные ссылки ==
* [https://docs.google.com/spreadsheets/d/1QwtglMUr1jg3uD_2VnT91pColhxAaufv_yvkszl1wc8/edit?usp=sharing План курса]
+
* [https://docs.google.com/spreadsheets/d/e/2PACX-1vTjAwPBoakqdlez0E2GFBaXQUayYJ9PVSqEt-bbbKPbmVLq-TCCgh85Noy7fi2Vv7CtW7fMQum9WVoy/pubhtml План курса]
* [ '''Таблица с оценками''']
+
* [https://docs.google.com/spreadsheets/d/e/2PACX-1vRs9JYgvwsB2aQEGIV45imSiJYjnRAclf9JSJetlMV8gdJtg3g7_3RYEQ3mQhfIao_LjzOMFh71eIjV/pubhtml?gid=1060554530&single=true '''Таблица с оценками''']
* [ Статус проверки ДЗ]
+
* [https://docs.google.com/spreadsheets/d/e/2PACX-1vRs9JYgvwsB2aQEGIV45imSiJYjnRAclf9JSJetlMV8gdJtg3g7_3RYEQ3mQhfIao_LjzOMFh71eIjV/pubhtml?gid=773671642&single=true Статус проверки ДЗ]
* '''[ Форма регистрации]'''
+
* '''[https://forms.gle/r4434oonzh9eeiQQ6 Форма регистрации]'''  
 +
* [https://forms.gle/YMEyUZNTfGE2K3PQ8 Продление дедлайнов]
 +
 
 +
Deadline регистрации на курс: 15.09.23
 
* [https://t.me/+ATfYp4vOaT5hZTdi Телеграм-чат курса]
 
* [https://t.me/+ATfYp4vOaT5hZTdi Телеграм-чат курса]
  
Строка 13: Строка 18:
 
* Лекции
 
* Лекции
 
** [https://inponomarev.ru/corejava Страница Ивана Пономарёва с видео и слайдами]
 
** [https://inponomarev.ru/corejava Страница Ивана Пономарёва с видео и слайдами]
* [ '''Видео занятий Google Диск ''']
+
* [https://gitlab.atp-fivt.org/courses-public/java-bak Коды и презентации семинаров]
* [ '''Видео занятий youtube''']
 
* [ '''Презентации занятий''']
 
* [ Коды семинаров ]
 
  
 
= Команда курса =
 
= Команда курса =
Преподаватели
+
Руководитель курса
* Иван Пономарев
+
* Александр Ермаков [https://t.me/AlexOEJ @AlexOEJ]
 
+
Лектор
 +
* Иван Пономарев [https://t.me/ivan_ponomarev @ivan_ponomarev]
 +
Семинаристы
 +
* Екатерина Хурсик [https://t.me/katika2308 @katika2308]
 +
* Мария Рубаненко [https://t.me/maryrubik @maryrubik]
 +
* Роман Бондарь [https://t.me/bond2000r @bond2000r]
 
Учебные ассистенты
 
Учебные ассистенты
 
+
* Тимур Хузин [https://t.me/unkle_ayy @unkle_ayy]
 +
* Анастасия Филиппова [https://t.me/fanastasiiaf @fanastasiiaf]
 +
* Анатолий Козлов [https://t.me/AntolyKozlov @AntolyKozlov]
 +
* Дмитрий [https://t.me/dmchub @dmchub]
  
 
= Критерии получения оценки =
 
= Критерии получения оценки =
Строка 29: Строка 39:
  
 
== Домашние задания ==
 
== Домашние задания ==
Планируется 4 домашних задания.
+
Планируется 4 домашних задания. Проверка в форме code review. Исправления по code review можно делать в течение 1 месяца после 1-го комментария.
 +
 
 +
==== Дедлайны по домашкам ====
 +
* За сдачу позже мягкого дедлайна -50%
 +
* Позже жёсткого можно сдавать с оценкой 25% максимум.
 +
 
 +
Под сдачей понимается: код лежит в gitlab-репозитории и сделан merge request из ветки с задачей в ветку master.
  
 
{|  class="wikitable"
 
{|  class="wikitable"
Строка 36: Строка 52:
 
! Мягкий deadline
 
! Мягкий deadline
 
! Жёсткий deadline
 
! Жёсткий deadline
! Репозиторий
 
 
|-
 
|-
|[ Simple Java Core] ||15.10||  |22.10 ||
+
|[https://docs.google.com/document/d/1npIYpWtDf4anKATulqdUWCJ3NMwQGSiN Java OOP] ||15.10||  |22.10  
 
|-
 
|-
|[ Advanced Java Core & JUnit] ||05.11||  |12.11 ||
+
|[https://docs.google.com/document/d/1PX8RtOOvL1C4cdNWnf_jvqRZQMsppG2x Java Reflection] ||05.11||  |12.11  
 
|-
 
|-
|[ Multithreading]  ||03.12||  |10.12 ||
+
|[https://docs.google.com/document/d/1fGIpupeTVuKTUijdPvHcFUlK-aaRkD_P Multithreading]  ||03.12||  |10.12  
 
|-
 
|-
|[ Spring]  ||17.12||  |22.12 ||
+
|[https://docs.google.com/document/d/1YsQfssZFXhkvK8T6h8BRB5fDNNpimEhE Spring]  ||17.12||  |22.12  
 
|}
 
|}
  
 
==== Алгоритм сдачи ДЗ ====
 
==== Алгоритм сдачи ДЗ ====
 
+
У вас в репозитории есть заранее созданные ветки hw1task1, hw1task2, hw1task3, hw1task4
 +
Допустим вы сделали первую задачу из первого д/з. Алгоритм сдачи следующий:
 +
* Создать папку hw1task1
 +
* В эту папку поместить ваше решение.
 +
* Папку с её содержимым закомитить в ветку hw1task1
 +
* Сделать merge request в главную ветку
 +
* Никого не назначать в качестве assignee. Если вдруг система автоматически кого-то назначит assignee, то удалите его и убедитесь, что это поле пустое.
  
 
==== Доступы ====
 
==== Доступы ====
Строка 65: Строка 86:
 
! Результаты
 
! Результаты
 
|-
 
|-
| Программирование на Java. Quiz #1 || Синтаксис Java. Ветвления, циклы и метки. Примитивные типы и объекты в Java. Приведение типов. Inboxing, outboxing. Exceptions. Массивы и коллекции. Строки. Классы (абстрактрые, вложенные, внутренние, анонимные, локальные...), интерфейсы. Класс Object и всё, что с ним связано. Generics, enums (enums as classes). || || 25 мин. ||  
+
| Программирование на Java. Quiz #1 || Синтаксис Java. Ветвления, циклы и метки. Примитивные типы и объекты в Java. Приведение типов. Inboxing, outboxing. Exceptions. Массивы и коллекции. Строки. Классы (абстрактрые, вложенные, внутренние, анонимные, локальные...), интерфейсы. Класс Object и всё, что с ним связано. Generics, enums (enums as classes). || 27.10 || 25 мин. ||  
 
|-
 
|-
|Программирование на Java. Quiz #2 || Тестирование приложений в Java. Сборка приложений. Работа с базой данных. Многопоточность в Java. Аннотации. Spring|| || 20 мин. ||  
+
|Программирование на Java. Quiz #2 || Тестирование приложений в Java. Сборка приложений. Работа с базой данных. Многопоточность в Java. Аннотации. Spring|| 15.12 || 20 мин. ||  
 
|}
 
|}
  
В случае если вы не сможете написать КР в указанную дату по технической или другой уважительной причине, просьба заполнить [ '''форму на дописывание''']. Даты дописывания будут объявлены позднее.
+
В случае если вы не сможете написать КР в указанную дату по технической или другой уважительной причине, просьба заполнить [https://forms.gle/15VwKnWPJtqsqJhC6 '''форму на дописывание''']. Даты дописывания будут объявлены позднее.
  
 +
== Экстерн-проект ==
 +
Участие в реальном opensource-проекте под руководством заказчика из индустрии. Для участия в проекте нужно '''уже обладать''' базовыми знаяниями Java core. С проектами этого семестра ознакомиться можно здесь '''[https://docs.google.com/document/d/1n4ocgNReB4a2PQfC-VPCSwVc5VeDa6UfWgZBxGgJUkU/edit#heading=h.n0oljbb3mjh6 здесь]'''.
 +
 +
Бонусы от участия в проекте:
 +
* участия в проекте достаточно для того чтоб закрыть курс. В этом случае все остальные домашки, контрольные и посещение занятий - по желанию.
 +
* опыт работы в команде (обычно на 1 проект 2-3 человека)
 +
* еженедельные встречи с куратором проекта. Куратор проекта не только руководит выполением и ставит задачи, но и делает code review.
 +
* публикация на Хабре или выступление в профильных Java-конференциях
 +
* запись в Центральном репозитории Maven, где вы будете записаны как Developer проекта.
 +
 +
Регистрация на проект [https://forms.gle/88Vg7Myb7uTBRbMK7 здесь]'''.
 +
 +
Проекты, которые делали ваши предшественники и что из этого получилось, можно посмотреть '''[https://github.com/atp-mipt здесь]'''.
  
 
== Бонус ==
 
== Бонус ==
 
За активность в чате курса и на занятиях можно получить дополнительно +1 балл. Количество студентов, получивших бонус, неограничено.
 
За активность в чате курса и на занятиях можно получить дополнительно +1 балл. Количество студентов, получивших бонус, неограничено.
 
== Перезачет курса ==
 
Если вы хотите перезачесть курс, просьба заполнить [https://forms.gle/eSjkVtBkLT8ZWPm67 форму] до '''16.10.2023'''. Перезачет ставится в исключительных случаях, в остальном рекомендуется выбрать другой курс из блока.
 
  
 
= Список рекомендуемых материалов =
 
= Список рекомендуемых материалов =
 
=== Основная литература ===
 
=== Основная литература ===
 
==== Java Core ====
 
==== Java Core ====
# Б. Эккель “Философия Java”
+
# Б. Эккель. “Философия Java”. 4-е издание (2006)
# К. Хорстманн и др. “Core Java 2”
+
# К. Хорстманн. “Core Java”. 11-е издание в двух томах (2019)
# Br. Goetz “Java concurrency in practice”
+
# И. Блинов. “Java from Epam”. (2020)
 +
# Дж. Блох. “Java эффективное программирование”. 3-е издание (2019)
 +
# Р. Уорбэртон. “Лямбда выражения в Java 8”. (2014)
 +
# Б. Гетц. “Java concurrency на практике”. (2020)
 
# R-G. Urma et al. “Modern Java in action”
 
# R-G. Urma et al. “Modern Java in action”
# J. Bloch “Effective Java”
 
 
# Walls, C: "Spring in Action", Fifth Edition
 
# Walls, C: "Spring in Action", Fifth Edition
 
# Walls, C:"Spring Boot in Action"
 
# Walls, C:"Spring Boot in Action"
 
Книги 1-3 переведены на русский.
 
  
 
==== Spring ====
 
==== Spring ====
Строка 96: Строка 127:
 
# [https://www.youtube.com/watch?v=9E64BClVi7E Олег Докука — Строим криптотрейдинг-платформу, используя Spring 5 и Reactor 3]
 
# [https://www.youtube.com/watch?v=9E64BClVi7E Олег Докука — Строим криптотрейдинг-платформу, используя Spring 5 и Reactor 3]
 
# [https://www.youtube.com/watch?v=tjp8pTOyiWg Максим Гореликов — Дизайн реактивной системы на Spring 5/Reactor]
 
# [https://www.youtube.com/watch?v=tjp8pTOyiWg Максим Гореликов — Дизайн реактивной системы на Spring 5/Reactor]
 
=== Дополнительные материалы ===
 
* [https://docs.google.com/spreadsheets/d/1zsiDv_jwkDeKxVD_rtYA4mEjBuCan5X0WPkBDcZk9O0 Дополнительные материалы]
 

Текущая версия на 14:18, 21 ноября 2023

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

  • Семестр: 5 (3й курс)
  • Форма контроля: диф. зачет

Вводное занятие 05.09.23

Важные ссылки

Deadline регистрации на курс: 15.09.23

Материалы

Команда курса

Руководитель курса

  • Александр Ермаков @AlexOEJ

Лектор

Семинаристы

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

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

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

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

Планируется 4 домашних задания. Проверка в форме code review. Исправления по code review можно делать в течение 1 месяца после 1-го комментария.

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

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

Под сдачей понимается: код лежит в gitlab-репозитории и сделан merge request из ветки с задачей в ветку master.

Домашка Мягкий deadline Жёсткий deadline
Java OOP 15.10 22.10
Java Reflection 05.11 12.11
Multithreading 03.12 10.12
Spring 17.12 22.12

Алгоритм сдачи ДЗ

У вас в репозитории есть заранее созданные ветки hw1task1, hw1task2, hw1task3, hw1task4 Допустим вы сделали первую задачу из первого д/з. Алгоритм сдачи следующий:

  • Создать папку hw1task1
  • В эту папку поместить ваше решение.
  • Папку с её содержимым закомитить в ветку hw1task1
  • Сделать merge request в главную ветку
  • Никого не назначать в качестве assignee. Если вдруг система автоматически кого-то назначит assignee, то удалите его и убедитесь, что это поле пустое.

Доступы

По вопросам доступов и работы Gitlab-сервера пишите в форму или на почту servers@atp-fivt.org.

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

Состоятся 2 контрольные. На контрольных нельзя пользоваться IDE и интернетом. Код писать не потребуется.

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

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

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

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

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

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

Регистрация на проект здесь.

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

Бонус

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

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

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

Java Core

  1. Б. Эккель. “Философия Java”. 4-е издание (2006)
  2. К. Хорстманн. “Core Java”. 11-е издание в двух томах (2019)
  3. И. Блинов. “Java from Epam”. (2020)
  4. Дж. Блох. “Java эффективное программирование”. 3-е издание (2019)
  5. Р. Уорбэртон. “Лямбда выражения в Java 8”. (2014)
  6. Б. Гетц. “Java concurrency на практике”. (2020)
  7. R-G. Urma et al. “Modern Java in action”
  8. Walls, C: "Spring in Action", Fifth Edition
  9. Walls, C:"Spring Boot in Action"

Spring

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