Java mag 2023: различия между версиями
VeLKerr (обсуждение | вклад) Новая страница: «Java» |
Apravko (обсуждение | вклад) Нет описания правки |
||
| Строка 1: | Строка 1: | ||
Java | = Общие сведения = | ||
* Семестр: 10 (5й курс) | |||
* Форма контроля: диф. зачет | |||
== Важные ссылки == | |||
* '''[https://docs.google.com/spreadsheets/d/1X_zPAAlLW1d4XPBzxpiQvn5V0xK_m4kj2xIGy8vxmBw/edit?usp=sharing План курса]''' | |||
* '''[https://docs.google.com/spreadsheets/d/1JmTECxX_tIfdtuQBOh7MGpIFQ7w8Kb46h3jbrZoPRWM/edit?usp=sharing Таблица с оценками]''' | |||
* '''[https://forms.gle/oiVGUVHTsFFP7MPo9 Форма регистрации]''' | |||
* [https://t.me/+2Ih7zQFieHhiZmJi Телеграм-чат курса] | |||
== Материалы == | |||
* [https://drive.google.com/drive/folders/1A6adu3NR0aqmzdovd6LzqLZn1eSIpXOd?usp=sharing Видео занятий]. Доступ только по почте @phystech.edu. Для студентов ДПО по запросу | |||
* [https://drive.google.com/drive/folders/1gkB3KHF9JBzKkGM8j-f4scqCnIseMJCN?usp=sharing Слайды презентаций] | |||
* [https://gitlab.com/VeLKerr/java-mag-2022 Коды семинаров] | |||
= Команда курса = | |||
Преподаватели | |||
* Олег Ивченко | |||
* Иван Федотов | |||
Учебные ассистенты | |||
* Смирнов Владимир | |||
* Сапралиев Чингиз | |||
* Неледова Елизавета | |||
= Критерии получения оценки = | |||
Зачет ставится по результатам работы в семестре. | |||
== Домашние задания == | |||
Планируется 5 домашних заданий. Проверка включает 2 этапа: | |||
# прохождение тестов в Yandex.Contest (ДЗ-1,2) и / или проверка тестов, написанных вами. Код нужно залить в соотв. репозиторий на gitlab2.atp-fivt.org. | |||
# code review при условии выполненного п.1. В процессе code review вы получаете Фидбек от проверяющего. Его можно прочитать на странице вашего репозитория с ДЗ (Project -> Activity) или в автоматических письмах от automation@atp-fivt.org. Исправления по code review можно делать в течение '''1 месяца''' после 1-го комментария. | |||
==== Дедлайны по домашкам ==== | |||
* За сдачу позже мягкого дедлайна -50% | |||
* Позже жёсткого можно сдавать с оценкой 25% максимум. | |||
Под сдачей понимается выполнение 2 факторов: | |||
* код проходит тесты (в Яндекс.Контесте или необходимое кол-во тестов, кот. написали вы сами) | |||
* код лежит в gitlab-репозитории и сделан merge request из ветки с задачей в ветку master. | |||
{| class="wikitable" | |||
|- | |||
! Домашка | |||
! Мягкий deadline | |||
! Жёсткий deadline | |||
|- | |||
|[https://contest.yandex.ru/contest/35456/enter/ Simple Java Core] || 27.02, 23:55 || 06.03, 23:55 | |||
|- | |||
|[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/1mb7_bpCKV45n9cVgGI4q2oEJ_x13Rbos-HqvSWrsGmg Multithreading] || 04.05, 23:55 || 08.05, 23:55 | |||
|- | |||
|[https://docs.google.com/document/d/1Y0hphgYqBLF-nm5yVjYoHnD7eOTGhgPiBab8z7GC8F4 Spring] || 15.05, 23:55 || 15.05, 23:55 | |||
|} | |||
== Мини-контрольные == | |||
Состоятся 2 контрольные, которые будут проводиться с помощью системы прокторинга http://exams.mipt.ru/. По ссылке доступна [https://drive.google.com/file/d/1n0iR-IaPnT4EeEEUCksODQnjl34L8Xlc/view?usp=sharing инструкция пользователя]. | |||
На контрольных нельзя пользоваться IDE и интернетом. Код писать не потребуется. | |||
{| class="wikitable" | |||
|- | |||
! Название события на http://exams.mipt.ru/ | |||
! Темы | |||
! Дата | |||
! Длительность | |||
! Результаты | |||
|- | |||
| Программирование на 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 #2 || Тестирование приложений в Java. Сборка приложений. Работа с базой данных. Многопоточность в Java. Аннотации. Spring|| 19.05, 15:00 || 20 мин. || [http://bit.ly/java-mag22-q2 bit.ly/java-mag22-q2] | |||
|} | |||
В случае если вы не сможете написать КР в указанную дату по технической или другой уважительной причине, просьба заполнить [https://forms.gle/WHbfibEZmv7kFrEU8 '''форму на дописывание''']. Дописывание состоится 19.05: | |||
* 19.05, 15:30 для 1го Quiz'a | |||
== Экстерн-проект == | |||
Участие в реальном opensource-проекте под руководством заказчика из индустрии. Для участия в проекте нужно '''уже обладать''' базовыми знаяниями Java core. | |||
Бонусы от участия в проекте: | |||
* участия в проекте достаточно для того чтоб закрыть курс. В этом случае все остальные домашки, контрольные и посещение занятий - по желанию. | |||
* опыт работы в команде (обычно на 1 проект 2-3 человека) | |||
* еженедельные встречи с куратором проекта. Куратор проекта не только руководит выполением и ставит задачи, но и делает code review. | |||
* публикация на Хабре или выступление в профильных Java-конференциях | |||
* запись в Центральном репозитории Maven, где вы будете записаны как Developer проекта. | |||
'''Актуальные темы проектов [https://docs.google.com/document/d/1n4ocgNReB4a2PQfC-VPCSwVc5VeDa6UfWgZBxGgJUkU/edit#heading=h.n0oljbb3mjh6 здесь].''' | |||
Проекты, которые делали ваши предшественники и что из этого получилось, можно посмотреть '''[https://github.com/atp-mipt здесь]'''. | |||
== Бонус == | |||
За активность в чате курса и на занятиях можно получить дополнительно +1 балл. Количество студентов, получивших бонус, неограничено. | |||
== Перезачет курса == | |||
Если вы хотите перпезачесть курс, просьба заполнить [https://forms.gle/kZ2fh9cpSoxQ68mE9 форму] до '''10.03.2022'''. перезачет по данному курсу ставится в исключительных случаях. В остальном рекомендуется выбрать другой курс из блока. | |||
= Список рекомендуемых материалов = | |||
=== Основная литература === | |||
==== 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 ==== | |||
# [https://jug.ru/talks/meetups/spring-the-ripper/ Евгений Борисов - Spring-потрошитель] | |||
# [https://www.youtube.com/watch?v=9E64BClVi7E Олег Докука — Строим криптотрейдинг-платформу, используя Spring 5 и Reactor 3] | |||
# [https://www.youtube.com/watch?v=tjp8pTOyiWg Максим Гореликов — Дизайн реактивной системы на Spring 5/Reactor] | |||
=== Дополнительные материалы === | |||
* [https://docs.google.com/spreadsheets/d/1zsiDv_jwkDeKxVD_rtYA4mEjBuCan5X0WPkBDcZk9O0 Дополнительные материалы] | |||
Версия от 01:22, 1 декабря 2022
Общие сведения
- Семестр: 10 (5й курс)
- Форма контроля: диф. зачет
Важные ссылки
Материалы
- Видео занятий. Доступ только по почте @phystech.edu. Для студентов ДПО по запросу
- Слайды презентаций
- Коды семинаров
Команда курса
Преподаватели
- Олег Ивченко
- Иван Федотов
Учебные ассистенты
- Смирнов Владимир
- Сапралиев Чингиз
- Неледова Елизавета
Критерии получения оценки
Зачет ставится по результатам работы в семестре.
Домашние задания
Планируется 5 домашних заданий. Проверка включает 2 этапа:
- прохождение тестов в Yandex.Contest (ДЗ-1,2) и / или проверка тестов, написанных вами. Код нужно залить в соотв. репозиторий на gitlab2.atp-fivt.org.
- code review при условии выполненного п.1. В процессе code review вы получаете Фидбек от проверяющего. Его можно прочитать на странице вашего репозитория с ДЗ (Project -> Activity) или в автоматических письмах от automation@atp-fivt.org. Исправления по code review можно делать в течение 1 месяца после 1-го комментария.
Дедлайны по домашкам
- За сдачу позже мягкого дедлайна -50%
- Позже жёсткого можно сдавать с оценкой 25% максимум.
Под сдачей понимается выполнение 2 факторов:
- код проходит тесты (в Яндекс.Контесте или необходимое кол-во тестов, кот. написали вы сами)
- код лежит в gitlab-репозитории и сделан merge request из ветки с задачей в ветку master.
| Домашка | Мягкий deadline | Жёсткий deadline |
|---|---|---|
| Simple Java Core | 27.02, 23:55 | 06.03, 23:55 |
| Advanced Java Core & JUnit | 27.03, 23:55 | 03.04, 23:55 |
| JDBC, external export, GitLab CI | 25.04, 23:55 | 29.04, 23:55 |
| Multithreading | 04.05, 23:55 | 08.05, 23:55 |
| Spring | 15.05, 23:55 | 15.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). | 24.03, 15:00 | 25 мин. | bit.ly/java-mag22-q1 |
| Программирование на Java. Quiz #2 | Тестирование приложений в Java. Сборка приложений. Работа с базой данных. Многопоточность в Java. Аннотации. Spring | 19.05, 15:00 | 20 мин. | bit.ly/java-mag22-q2 |
В случае если вы не сможете написать КР в указанную дату по технической или другой уважительной причине, просьба заполнить форму на дописывание. Дописывание состоится 19.05:
- 19.05, 15:30 для 1го Quiz'a
Экстерн-проект
Участие в реальном opensource-проекте под руководством заказчика из индустрии. Для участия в проекте нужно уже обладать базовыми знаяниями Java core.
Бонусы от участия в проекте:
- участия в проекте достаточно для того чтоб закрыть курс. В этом случае все остальные домашки, контрольные и посещение занятий - по желанию.
- опыт работы в команде (обычно на 1 проект 2-3 человека)
- еженедельные встречи с куратором проекта. Куратор проекта не только руководит выполением и ставит задачи, но и делает code review.
- публикация на Хабре или выступление в профильных Java-конференциях
- запись в Центральном репозитории Maven, где вы будете записаны как Developer проекта.
Актуальные темы проектов здесь.
Проекты, которые делали ваши предшественники и что из этого получилось, можно посмотреть здесь.
Бонус
За активность в чате курса и на занятиях можно получить дополнительно +1 балл. Количество студентов, получивших бонус, неограничено.
Перезачет курса
Если вы хотите перпезачесть курс, просьба заполнить форму до 10.03.2022. перезачет по данному курсу ставится в исключительных случаях. В остальном рекомендуется выбрать другой курс из блока.
Список рекомендуемых материалов
Основная литература
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