Промышленное программирование на языке Java — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Первое ДЗ)
Строка 19: Строка 19:
  
 
== Домашнее задание ==
 
== Домашнее задание ==
''TBD''
 
 
 
Планируется 2 ДЗ в 3ем модуле и 2 ДЗ в 4ом.
 
Планируется 2 ДЗ в 3ем модуле и 2 ДЗ в 4ом.
 +
 +
=== Задание 1 Disk Analyzer ===
 +
* Консольное приложение
 +
* Принимает на вход папку.
 +
* Выводит непосредственное (только на первом уровне вложенности в переданную папку) содержимое папки в консоль в виде таблицы:
 +
# Номер
 +
# Название папки
 +
# Размер папки с содержимым
 +
# Процент от общего размера
 +
# Количество вложенных элементов
 +
* Отдельно рисует таблицу — топ самых больших файлов с полным путем.
 +
* Выводит время работы.
 +
* Симлинки не нужно учитывать и не надо выводить
 +
  
 
=== Правила сдачи ДЗ: ===
 
=== Правила сдачи ДЗ: ===
  
Для запуска сборки, проверок стиля и юнит-тестов используем gradle. Если оно не собирается через грэйдл, оно не собирается.
+
* Для запуска сборки, проверок стиля и юнит-тестов используем gradle. Если оно не собирается через грэйдл, оно не собирается.
Сдачу задач ведем в отдельных приватных клонах репозитория на github.
+
* Сдачу задач ведем в отдельных приватных клонах репозитория на github.
Все задачи располагаем в одном репозитории. В корне репозитория находится необходимая обвязка для сборки и запуска, и, по отдельной директории-модулю на каждую задачу (task-XX-taskname).
+
* Все задачи располагаем в одном репозитории. В корне репозитория находится необходимая обвязка для сборки и запуска, и, по отдельной директории-модулю на каждую задачу (task-XX-taskname).
Код реализации задач располагаем в пакете ru.hse.cs.java2020.<github-login>.task-XX
+
* Код реализации задач располагаем в пакете ru.hse.cs.java2020.<github-login>.task-XX
  
  
 
За что снимаются баллы:
 
За что снимаются баллы:
* опоздание при сдачи задания
+
* опоздание при сдаче задания
 
* сдача задания, в котором не проходят checkstyle/tests
 
* сдача задания, в котором не проходят checkstyle/tests
 
* плохая структура кода (слишком большие классы, неочевидные зависимости, отсутствие валидаций входных параметров, непонятный нейминг и т.п.)
 
* плохая структура кода (слишком большие классы, неочевидные зависимости, отсутствие валидаций входных параметров, непонятный нейминг и т.п.)
 
* отсутствие тестов на базовые сценарии, низкое покрытие тестов (для заданий 4го модуля).
 
* отсутствие тестов на базовые сценарии, низкое покрытие тестов (для заданий 4го модуля).
 
* большое количество багов в задании
 
* большое количество багов в задании
 
  
 
Преподаватель может требовать выполнения тех или иных дополнительных условий, не обозначенных в условии задачи.
 
Преподаватель может требовать выполнения тех или иных дополнительных условий, не обозначенных в условии задачи.

Версия 20:22, 26 февраля 2020

О курсе

Курс читается для студентов 3-го и 4-го курса ПМИ ФКН ВШЭ в 3-4 модулях.


Лектор: Лепешкин Игорь

Семинаристы: Косолапов Кирилл, Буланов Артем

Расписание: Лекции по вторникам, 09:00 - 10:20

Семинары 3-ий курс: вторники 10:30 - 11:50

Семинары 4-ый курс понедельники 10:30 - 11:50

Лекции

Лекции лежат на Яндекс.Диске

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

Планируется 2 ДЗ в 3ем модуле и 2 ДЗ в 4ом.

Задание 1 Disk Analyzer

  • Консольное приложение
  • Принимает на вход папку.
  • Выводит непосредственное (только на первом уровне вложенности в переданную папку) содержимое папки в консоль в виде таблицы:
  1. Номер
  2. Название папки
  3. Размер папки с содержимым
  4. Процент от общего размера
  5. Количество вложенных элементов
  • Отдельно рисует таблицу — топ самых больших файлов с полным путем.
  • Выводит время работы.
  • Симлинки не нужно учитывать и не надо выводить


Правила сдачи ДЗ:

  • Для запуска сборки, проверок стиля и юнит-тестов используем gradle. Если оно не собирается через грэйдл, оно не собирается.
  • Сдачу задач ведем в отдельных приватных клонах репозитория на github.
  • Все задачи располагаем в одном репозитории. В корне репозитория находится необходимая обвязка для сборки и запуска, и, по отдельной директории-модулю на каждую задачу (task-XX-taskname).
  • Код реализации задач располагаем в пакете ru.hse.cs.java2020.<github-login>.task-XX


За что снимаются баллы:

  • опоздание при сдаче задания
  • сдача задания, в котором не проходят checkstyle/tests
  • плохая структура кода (слишком большие классы, неочевидные зависимости, отсутствие валидаций входных параметров, непонятный нейминг и т.п.)
  • отсутствие тестов на базовые сценарии, низкое покрытие тестов (для заданий 4го модуля).
  • большое количество багов в задании

Преподаватель может требовать выполнения тех или иных дополнительных условий, не обозначенных в условии задачи.

Правила выставления оценок

В курсе предусмотрено две формы контроля знания:

  • Домашние работы
  • Письменный экзамен

Итоговая оценка вычисляется по формуле:

Итог 3го курса = Округление(0.15 * ДЗ1 + 0.15 * ДЗ2 + 0.15 * ДЗ3 +0.15 * ДЗ4 + 0.4 * Э)

Итог 4го курса = Округление(0.3 * ДЗ1 + 0.3 * ДЗ2 + 0.4 * Э)

ДЗ1 - ДЗ4 — оценки за домашние задания

Э — оценка за экзамен

Округление арифметическое.

Необходимый инвентарь

Ноутбук с установленными: JDK 11 IntelliJ IDEA Git

Полезные ссылки

https://compscicenter.ru/courses/java/nsk/2017-autumn/

https://github.com/c-tash/HSE-CS-Java2020-Tasks