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

Материал из Public ATP Wiki
Перейти к: навигация, поиск
(Материалы)
(Дедлайны по домашкам)
 
(не показано 49 промежуточных версий 3 участников)
Строка 4: Строка 4:
  
 
== Важные ссылки ==
 
== Важные ссылки ==
* '''[https://docs.google.com/spreadsheets/d/143CrEcRsrnyex8Ri1wAUpXe_wicihLvp/edit?usp=drive_web&ouid=111752983290664336346&rtpof=true План курса]'''
+
* '''[https://docs.google.com/spreadsheets/d/143CrEcRsrnyex8Ri1wAUpXe_wicihLvp/edit#gid=2031262791 План курса]'''
* '''Таблица с оценками'''
+
* [https://docs.google.com/spreadsheets/d/e/2PACX-1vRWYCU2dlZWLwqceZorPMoSgMoj1SJ_ydMDAgu3FlTcJvXCPg1BN4JVf5s8wZZHDbZouSlFfrbtW2Mx/pubhtml?gid=0&single=true '''Таблица с оценками''']
* '''[https://forms.gle/mYqCMYzxhWPX5Qjf9 Форма регистрации]'''
+
* [https://docs.google.com/spreadsheets/d/e/2PACX-1vRWYCU2dlZWLwqceZorPMoSgMoj1SJ_ydMDAgu3FlTcJvXCPg1BN4JVf5s8wZZHDbZouSlFfrbtW2Mx/pubhtml?gid=773671642&single=true Статус проверики ДЗ]
* [https://t.me/+2Ih7zQFieHhiZmJi Телеграм-чат курса]
+
* '''[https://forms.gle/rwRyYfdFef6ezoFd7 Форма регистрации]'''
 +
* [https://t.me/+DfEPb4xbkIpkY2E6 Телеграм-чат курса]
  
 
== Материалы ==
 
== Материалы ==
* [https://disk.yandex.ru/d/U9e33MKA6VKTUQ Видео занятий]. Доступ только по почте @phystech.edu. Для студентов ДПО по запросу
+
* [https://drive.google.com/drive/folders/1DNiraRJ5O6EoBFeoWsFZZ1C0pvavtdXx?usp=sharing '''Видео занятий Google Диск ''']
* [https://disk.yandex.ru/d/jEcyXtVki4E5kA Слайды презентаций]
+
* [https://www.youtube.com/playlist?list=PLHVUfYYv0xkndNJT8d3gxWCfvzrJ63IVt '''Видео занятий youtube''']
* Коды семинаров
+
* [https://drive.google.com/drive/folders/1FT1jfuWAk6cNYqwGwp1PpSXusD0wpaZ-?usp=sharing '''Презентации занятий''']
 +
* [https://drive.google.com/file/d/1MoDmLYE_ej9Lc52oqjB-gquBoaKA9IAA/view?usp=sharing Лекция по '''CI\CD ''' ]
 +
* [https://code.mipt.ru/courses-public/java-2023/public Коды семинаров ]
  
 
= Команда курса =
 
= Команда курса =
 
Преподаватели
 
Преподаватели
* Виктор Петросян @vityaPetrosyan
+
* Виктор Петросян
* Иван Пономарев Иван
+
* Иван Пономарев
 
* Иван Федотов
 
* Иван Федотов
  
Строка 23: Строка 26:
 
* Анатолий Козлов
 
* Анатолий Козлов
 
* Евгений Смагин
 
* Евгений Смагин
 +
* Станислав Сегаль
 +
* Никита Ухов
 +
* Касымалиева Жанель
 +
* Анастасия Филиппова
  
 
= Критерии получения оценки =
 
= Критерии получения оценки =
Строка 28: Строка 35:
  
 
== Домашние задания ==
 
== Домашние задания ==
Планируется 5 домашних заданий. Проверка включает 2 этапа:
+
Планируется 4 домашних заданий. Проверка включает 2 этапа:
# прохождение тестов в Yandex.Contest (ДЗ-1,2) и / или проверка тестов, написанных вами. Код нужно залить в соотв. репозиторий на gitlab2.atp-fivt.org.
+
# прохождение тестов в Yandex.Contest (ДЗ-1,2) и / или проверка тестов, написанных вами. Код нужно залить в соотв. репозиторий на gitlab.atp-fivt.org.
 
# code review при условии выполненного п.1. В процессе code review вы получаете Фидбек от проверяющего. Его можно прочитать на странице вашего репозитория с ДЗ (Project -> Activity) или в автоматических письмах от automation@atp-fivt.org. Исправления по code review можно делать в течение '''1 месяца''' после 1-го комментария.
 
# code review при условии выполненного п.1. В процессе code review вы получаете Фидбек от проверяющего. Его можно прочитать на странице вашего репозитория с ДЗ (Project -> Activity) или в автоматических письмах от automation@atp-fivt.org. Исправления по code review можно делать в течение '''1 месяца''' после 1-го комментария.
  
Строка 35: Строка 42:
 
* За сдачу позже мягкого дедлайна -50%
 
* За сдачу позже мягкого дедлайна -50%
 
* Позже жёсткого можно сдавать с оценкой 25% максимум.
 
* Позже жёсткого можно сдавать с оценкой 25% максимум.
 +
* Новые пулл-реквесты можно сдавать до 30.05.2023
 +
* До 7 июня 23:59 можно вносить поправки в ПР
 +
 
Под сдачей понимается выполнение 2 факторов:
 
Под сдачей понимается выполнение 2 факторов:
 
* код проходит тесты (в Яндекс.Контесте или необходимое кол-во тестов, кот. написали вы сами)
 
* код проходит тесты (в Яндекс.Контесте или необходимое кол-во тестов, кот. написали вы сами)
Строка 44: Строка 54:
 
! Мягкий deadline
 
! Мягкий deadline
 
! Жёсткий deadline
 
! Жёсткий deadline
 +
! Репозиторий
 
|-
 
|-
|[https://contest.yandex.ru/contest/35456/enter/  Simple Java Core] || 27.02, 23:55 || 06.03, 23:55
+
|[https://contest.yandex.ru/contest/35456/enter/  Simple Java Core] || 05.03, 23:55 || 12.03, 23:55 || в репозиторий с д/з 1
|-
 
|[https://docs.google.com/document/d/1OtUph2wb6P-CbfFC_i3ACgGdRWY2sj8IWynLKVIozKk Advanced Java Core & JUnit] || 27.03, 23:55 || 03.04, 23:55
 
 
|-
 
|-
|[https://docs.google.com/document/d/1Ge3CUkFow4vertcK9NjStpiwlm-eA6zJutIDA49GTRk JDBC, external export, GitLab CI] || 25.04, 23:55 || 29.04, 23:55  
+
|[https://docs.google.com/document/d/1OtUph2wb6P-CbfFC_i3ACgGdRWY2sj8IWynLKVIozKk Advanced Java Core & JUnit] || 13.04, 23:55 || 20.04, 23:55 || в репозиторий с д/з 2
 
|-
 
|-
|[https://docs.google.com/document/d/1mb7_bpCKV45n9cVgGI4q2oEJ_x13Rbos-HqvSWrsGmg Multithreading] || 04.05, 23:55  || 08.05, 23:55  
+
|[https://docs.google.com/document/d/1mb7_bpCKV45n9cVgGI4q2oEJ_x13Rbos-HqvSWrsGmg Multithreading] || 09.05, 23:55  || 16.05, 23:55 || в репозиторий с д/з 4
 
|-
 
|-
|[https://docs.google.com/document/d/1Y0hphgYqBLF-nm5yVjYoHnD7eOTGhgPiBab8z7GC8F4 Spring] || 15.05, 23:55  || 15.05, 23:55  
+
|[https://docs.google.com/document/d/1Y0hphgYqBLF-nm5yVjYoHnD7eOTGhgPiBab8z7GC8F4 Spring] || 23.05, 23:55  || 30.05, 23:55 || в репозиторий с д/з 5
 
|}
 
|}
 +
 +
==== Алгоритм сдачи ДЗ ====
 +
У вас в репозитории есть заранее созданные ветки hw1task1, hw1task2, hw1task4
 +
Допустим вы сделали первую задачу из первого д/з. Алгоритм сдачи следующий:
 +
* Получить зеленый ОК этой задачи на Яндекс контесте.
 +
* Создать папку hw1task1
 +
* В эту папку поместить ваше решение.
 +
* Папку с её содержимым закомитить в ветку hw1task1
 +
* Сделать merge request в главную ветку
 +
* Никого не назначать в качетсве assignee. Если вдруг система автоматически кого-то назначит assignee, то удалите его и убедитесь, что это поле пустое.
 +
 +
==== Доступы ====
 +
По вопросам доступов и работы Gitlab-сервера пишите в [https://docs.google.com/forms/d/e/1FAIpQLSd_JxfMFOcWdaXKLC8sydJlDtwRG-B6Puiia_h3GqORXEDUKA/viewform форму] или на почту servers@atp-fivt.org.
  
 
== Мини-контрольные ==
 
== Мини-контрольные ==
Состоятся 2 контрольные, которые будут проводиться с помощью системы прокторинга http://exams.mipt.ru/. По ссылке доступна [https://drive.google.com/file/d/1n0iR-IaPnT4EeEEUCksODQnjl34L8Xlc/view?usp=sharing инструкция пользователя].
+
Состоятся 2 контрольные.
 
На контрольных нельзя пользоваться IDE и интернетом. Код писать не потребуется.
 
На контрольных нельзя пользоваться IDE и интернетом. Код писать не потребуется.
  
Строка 68: Строка 90:
 
! Результаты
 
! Результаты
 
|-
 
|-
| Программирование на Java. Quiz #1 || Синтаксис Java. Ветвления, циклы и метки. Примитивные типы и объекты в Java. Приведение типов. Inboxing, outboxing. Exceptions. Массивы и коллекции. Строки. Классы (абстрактрые, вложенные, внутренние, анонимные, локальные...), интерфейсы. Класс Object и всё, что с ним связано. Generics, enums (enums as classes). || 24.03, 15:00 || 25 мин. || [http://bit.ly/java-mag22-q1 bit.ly/java-mag22-q1]
+
| Программирование на Java. Quiz #1 || Синтаксис Java. Ветвления, циклы и метки. Примитивные типы и объекты в Java. Приведение типов. Inboxing, outboxing. Exceptions. Массивы и коллекции. Строки. Классы (абстрактрые, вложенные, внутренние, анонимные, локальные...), интерфейсы. Класс Object и всё, что с ним связано. Generics, enums (enums as classes). || 08.04, 18:00 || 25 мин. ||  
 
|-
 
|-
|Программирование на Java. Quiz #2 || Тестирование приложений в Java. Сборка приложений. Работа с базой данных. Многопоточность в Java. Аннотации. Spring|| 19.05, 15:00 || 20 мин. || [http://bit.ly/java-mag22-q2 bit.ly/java-mag22-q2]
+
|Программирование на Java. Quiz #2 || Тестирование приложений в Java. Сборка приложений. Работа с базой данных. Многопоточность в Java. Аннотации. Spring|| 20.05, 18:00 || 20 мин. ||  
 
|}
 
|}
  
В случае если вы не сможете написать КР в указанную дату по технической или другой уважительной причине, просьба заполнить [https://forms.gle/WHbfibEZmv7kFrEU8 '''форму на дописывание''']. Дописывание состоится 19.05:
+
В случае если вы не сможете написать КР в указанную дату по технической или другой уважительной причине, просьба заполнить [https://docs.google.com/forms/d/e/1FAIpQLScg1QIusaedZmHJz6vy9jW5j2LJVPotgAj5GSL8QGuLUEYvFQ/viewform '''форму на дописывание''']. Дописывание состоится:
* 19.05, 15:30 для 1го Quiz'a
+
* 20.05, 18:00 для 1го Quiz'a
  
 
== Экстерн-проект ==
 
== Экстерн-проект ==
Участие в реальном opensource-проекте под руководством заказчика из индустрии. Для участия в проекте нужно '''уже обладать''' базовыми знаяниями Java core.  
+
Участие в реальном opensource-проекте под руководством заказчика из индустрии. Для участия в проекте нужно '''уже обладать''' базовыми знаяниями Java core. В этом сесместре три проекта, ознакомиться можно здесь '''[https://docs.google.com/document/d/1VXIpMCGOS9-1fsXWeoc3exev-572i-ar83rwZdgzNQA/edit?usp=sharingздесь]'''.
  
 
Бонусы от участия в проекте:
 
Бонусы от участия в проекте:
Строка 86: Строка 108:
 
* запись в Центральном репозитории Maven, где вы будете записаны как Developer проекта.
 
* запись в Центральном репозитории Maven, где вы будете записаны как Developer проекта.
  
'''Актуальные темы проектов [https://docs.google.com/document/d/1n4ocgNReB4a2PQfC-VPCSwVc5VeDa6UfWgZBxGgJUkU/edit#heading=h.n0oljbb3mjh6 здесь].'''
+
Регистрация на проект [https://docs.google.com/forms/d/e/1FAIpQLSe867q2XdQD6Zh4EC1rEqBEDiMtSjKDWzaB3J40fGNBJr0-gQ/viewform здесь]'''.
  
 
Проекты, которые делали ваши предшественники и что из этого получилось, можно посмотреть '''[https://github.com/atp-mipt здесь]'''.
 
Проекты, которые делали ваши предшественники и что из этого получилось, можно посмотреть '''[https://github.com/atp-mipt здесь]'''.
Строка 94: Строка 116:
  
 
== Перезачет курса ==
 
== Перезачет курса ==
Если вы хотите перпезачесть курс, просьба заполнить [https://forms.gle/kZ2fh9cpSoxQ68mE9 форму] до '''10.03.2022'''. перезачет по данному курсу ставится в исключительных случаях. В остальном рекомендуется выбрать другой курс из блока.
+
Если вы хотите перпезачесть курс, просьба заполнить [https://forms.gle/eSjkVtBkLT8ZWPm67 форму] до '''16.02.2023'''. перезачет по данному курсу ставится в исключительных случаях. В остальном рекомендуется выбрать другой курс из блока.
  
 
= Список рекомендуемых материалов =
 
= Список рекомендуемых материалов =

Текущая версия на 19:01, 6 июня 2023

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

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

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

Материалы

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

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

  • Виктор Петросян
  • Иван Пономарев
  • Иван Федотов

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

  • Анатолий Козлов
  • Евгений Смагин
  • Станислав Сегаль
  • Никита Ухов
  • Касымалиева Жанель
  • Анастасия Филиппова

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

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

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

Планируется 4 домашних заданий. Проверка включает 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% максимум.
  • Новые пулл-реквесты можно сдавать до 30.05.2023
  • До 7 июня 23:59 можно вносить поправки в ПР

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

  • код проходит тесты (в Яндекс.Контесте или необходимое кол-во тестов, кот. написали вы сами)
  • код лежит в gitlab-репозитории и сделан merge request из ветки с задачей в ветку master.
Домашка Мягкий deadline Жёсткий deadline Репозиторий
Simple Java Core 05.03, 23:55 12.03, 23:55 в репозиторий с д/з 1
Advanced Java Core & JUnit 13.04, 23:55 20.04, 23:55 в репозиторий с д/з 2
Multithreading 09.05, 23:55 16.05, 23:55 в репозиторий с д/з 4
Spring 23.05, 23:55 30.05, 23:55 в репозиторий с д/з 5

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

У вас в репозитории есть заранее созданные ветки hw1task1, hw1task2, 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). 08.04, 18:00 25 мин.
Программирование на Java. Quiz #2 Тестирование приложений в Java. Сборка приложений. Работа с базой данных. Многопоточность в Java. Аннотации. Spring 20.05, 18:00 20 мин.

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

  • 20.05, 18:00 для 1го Quiz'a

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

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

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

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

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

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

Бонус

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

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

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

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

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

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”
  6. Walls, C: "Spring in Action", Fifth Edition
  7. Walls, C:"Spring Boot in Action"

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

Spring

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

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