Java mag 2023 — различия между версиями
(→Важные ссылки) |
(→Дедлайны по домашкам) |
||
(не показана 51 промежуточная версия 3 участников) | |||
Строка 4: | Строка 4: | ||
== Важные ссылки == | == Важные ссылки == | ||
− | * '''[https://docs.google.com/spreadsheets/d/143CrEcRsrnyex8Ri1wAUpXe_wicihLvp/edit | + | * '''[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/ | + | * [https://docs.google.com/spreadsheets/d/e/2PACX-1vRWYCU2dlZWLwqceZorPMoSgMoj1SJ_ydMDAgu3FlTcJvXCPg1BN4JVf5s8wZZHDbZouSlFfrbtW2Mx/pubhtml?gid=773671642&single=true Статус проверики ДЗ] |
− | * [https://t.me/+ | + | * '''[https://forms.gle/rwRyYfdFef6ezoFd7 Форма регистрации]''' |
+ | * [https://t.me/+DfEPb4xbkIpkY2E6 Телеграм-чат курса] | ||
== Материалы == | == Материалы == | ||
− | * [https:// | + | * [https://drive.google.com/drive/folders/1DNiraRJ5O6EoBFeoWsFZZ1C0pvavtdXx?usp=sharing '''Видео занятий Google Диск '''] |
− | * [https:// | + | * [https://www.youtube.com/playlist?list=PLHVUfYYv0xkndNJT8d3gxWCfvzrJ63IVt '''Видео занятий youtube'''] |
− | * [https:// | + | * [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 Коды семинаров ] | ||
= Команда курса = | = Команда курса = | ||
Преподаватели | Преподаватели | ||
− | * Виктор Петросян | + | * Виктор Петросян |
− | * Иван Пономарев | + | * Иван Пономарев |
* Иван Федотов | * Иван Федотов | ||
Строка 23: | Строка 26: | ||
* Анатолий Козлов | * Анатолий Козлов | ||
* Евгений Смагин | * Евгений Смагин | ||
+ | * Станислав Сегаль | ||
+ | * Никита Ухов | ||
+ | * Касымалиева Жанель | ||
+ | * Анастасия Филиппова | ||
= Критерии получения оценки = | = Критерии получения оценки = | ||
Строка 28: | Строка 35: | ||
== Домашние задания == | == Домашние задания == | ||
− | Планируется | + | Планируется 4 домашних заданий. Проверка включает 2 этапа: |
− | # прохождение тестов в Yandex.Contest (ДЗ-1,2) и / или проверка тестов, написанных вами. Код нужно залить в соотв. репозиторий на | + | # прохождение тестов в 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] || | + | |[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/ | + | |[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] || | + | |[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] || | + | |[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 контрольные | + | Состоятся 2 контрольные. |
На контрольных нельзя пользоваться IDE и интернетом. Код писать не потребуется. | На контрольных нельзя пользоваться IDE и интернетом. Код писать не потребуется. | ||
Строка 68: | Строка 90: | ||
! Результаты | ! Результаты | ||
|- | |- | ||
− | | Программирование на Java. Quiz #1 || Синтаксис Java. Ветвления, циклы и метки. Примитивные типы и объекты в Java. Приведение типов. Inboxing, outboxing. Exceptions. Массивы и коллекции. Строки. Классы (абстрактрые, вложенные, внутренние, анонимные, локальные...), интерфейсы. Класс Object и всё, что с ним связано. Generics, enums (enums as classes). || | + | | Программирование на 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|| | + | |Программирование на Java. Quiz #2 || Тестирование приложений в Java. Сборка приложений. Работа с базой данных. Многопоточность в Java. Аннотации. Spring|| 20.05, 18:00 || 20 мин. || |
|} | |} | ||
− | В случае если вы не сможете написать КР в указанную дату по технической или другой уважительной причине, просьба заполнить [https://forms | + | В случае если вы не сможете написать КР в указанную дату по технической или другой уважительной причине, просьба заполнить [https://docs.google.com/forms/d/e/1FAIpQLScg1QIusaedZmHJz6vy9jW5j2LJVPotgAj5GSL8QGuLUEYvFQ/viewform '''форму на дописывание''']. Дописывание состоится: |
− | * | + | * 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/forms/d/e/1FAIpQLSe867q2XdQD6Zh4EC1rEqBEDiMtSjKDWzaB3J40fGNBJr0-gQ/viewform здесь]'''. | |
Проекты, которые делали ваши предшественники и что из этого получилось, можно посмотреть '''[https://github.com/atp-mipt здесь]'''. | Проекты, которые делали ваши предшественники и что из этого получилось, можно посмотреть '''[https://github.com/atp-mipt здесь]'''. | ||
Строка 94: | Строка 116: | ||
== Перезачет курса == | == Перезачет курса == | ||
− | Если вы хотите перпезачесть курс, просьба заполнить [https://forms.gle/ | + | Если вы хотите перпезачесть курс, просьба заполнить [https://forms.gle/eSjkVtBkLT8ZWPm67 форму] до '''16.02.2023'''. перезачет по данному курсу ставится в исключительных случаях. В остальном рекомендуется выбрать другой курс из блока. |
= Список рекомендуемых материалов = | = Список рекомендуемых материалов = |
Текущая версия на 19:01, 6 июня 2023
Содержание
Общие сведения
- Семестр: 10 (5й курс)
- Форма контроля: диф. зачет
Важные ссылки
Материалы
Команда курса
Преподаватели
- Виктор Петросян
- Иван Пономарев
- Иван Федотов
Учебные ассистенты
- Анатолий Козлов
- Евгений Смагин
- Станислав Сегаль
- Никита Ухов
- Касымалиева Жанель
- Анастасия Филиппова
Критерии получения оценки
Зачет ставится по результатам работы в семестре.
Домашние задания
Планируется 4 домашних заданий. Проверка включает 2 этапа:
- прохождение тестов в Yandex.Contest (ДЗ-1,2) и / или проверка тестов, написанных вами. Код нужно залить в соотв. репозиторий на gitlab.atp-fivt.org.
- 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
- Б. Эккель “Философия Java”
- К. Хорстманн и др. “Core Java 2”
- Br. Goetz “Java concurrency in practice”
- R-G. Urma et al. “Modern Java in action”
- J. Bloch “Effective Java”
- Walls, C: "Spring in Action", Fifth Edition
- Walls, C:"Spring Boot in Action"
Книги 1-3 переведены на русский.
Spring
- Евгений Борисов - Spring-потрошитель
- Олег Докука — Строим криптотрейдинг-платформу, используя Spring 5 и Reactor 3
- Максим Гореликов — Дизайн реактивной системы на Spring 5/Reactor