<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://wiki.cs.hse.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Aphanasiy</id>
	<title>Wiki - Факультет компьютерных наук - Вклад [ru]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.cs.hse.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Aphanasiy"/>
	<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/Aphanasiy"/>
	<updated>2026-09-20T23:02:57Z</updated>
	<subtitle>Вклад</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BD%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_Java&amp;diff=39212</id>
		<title>Промышленное программирование на языке Java</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BD%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_Java&amp;diff=39212"/>
		<updated>2020-02-28T14:23:07Z</updated>

		<summary type="html">&lt;p&gt;Aphanasiy: Убраны кавычки&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го и 4-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 3-4 модулях.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; Лепешкин Игорь&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинаристы:&#039;&#039;&#039; Косолапов Кирилл, Буланов Артем&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Расписание:&#039;&#039;&#039;&lt;br /&gt;
Лекции по вторникам, 09:00 - 10:20&lt;br /&gt;
&lt;br /&gt;
Семинары 3-ий курс: вторники 10:30 - 11:50&lt;br /&gt;
&lt;br /&gt;
Семинары 4-ый курс понедельники 10:30 - 11:50&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
Лекции лежат на [https://yadi.sk/d/pnm_X0KmiFfsVA Яндекс.Диске]&lt;br /&gt;
&lt;br /&gt;
== Домашнее задание ==&lt;br /&gt;
Планируется 2 ДЗ в 3ем модуле и 2 ДЗ в 4ом.&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/1dLmscZdQaAluX77yU1IRt744yHbqH7e301JZxfNxEHw/edit#gid=596552630 Статусы проверки]&lt;br /&gt;
=== Задание 1: Disk Analyzer ===&lt;br /&gt;
* Консольное приложение&lt;br /&gt;
* Принимает на вход папку&lt;br /&gt;
* Выводит непосредственное (только на первом уровне вложенности в переданную папку) содержимое папки в консоль в виде таблицы:&lt;br /&gt;
# Номер&lt;br /&gt;
# Название папки&lt;br /&gt;
# Размер папки с содержимым&lt;br /&gt;
# Процент от общего размера&lt;br /&gt;
# Количество вложенных элементов&lt;br /&gt;
* Отдельно рисует таблицу — топ самых больших файлов с полным путем&lt;br /&gt;
* Выводит время работы&lt;br /&gt;
* Симлинки не нужно учитывать и не надо выводить&lt;br /&gt;
&lt;br /&gt;
Срок сдачи: 3.03.2020&lt;br /&gt;
&lt;br /&gt;
===Домашнее задание 2: Кеш===&lt;br /&gt;
* В итоге мы должны получить интерфейс и его имплементацию, которые уже затем использовать в любом приложении&lt;br /&gt;
* Кеш из long в String (из-за десериализации, но можно писать и обобщенно)&lt;br /&gt;
* Поддерживает минимум две Eviction Policy (LRU + LFU)&lt;br /&gt;
* Может хранить данные на диске&lt;br /&gt;
* При создании указывается размер кеша в памяти, предельный размер на диске, папка, в которой кеш хранится и Eviction Policy&lt;br /&gt;
* Нельзя создавать по файлу на каждую запись&lt;br /&gt;
* Скорость из памяти O(1), скорость чтения с диска тоже, за исключением моментов компактизации диска&lt;br /&gt;
* При работе с диском все ключи можно держать в памяти (но не все значения)&lt;br /&gt;
* Кеш not thread-safe.&lt;br /&gt;
* Можно восстановить с диска&lt;br /&gt;
* В интерфейсе только get и put (возвращает старое значение)&lt;br /&gt;
* Подсчет размера можно делать приближенно (но учитывать количество записей + длину значений)&lt;br /&gt;
&lt;br /&gt;
Срок сдачи: 24.03.2020&lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи ДЗ: ===&lt;br /&gt;
&lt;br /&gt;
* Для запуска сборки, проверок стиля и юнит-тестов используем gradle. Если оно не собирается через грэйдл, оно не собирается.&lt;br /&gt;
* Сдачу задач ведем в отдельных приватных клонах репозитория на github.&lt;br /&gt;
* Все задачи располагаем в одном репозитории. В корне репозитория находится необходимая обвязка для сборки и запуска, и, по отдельной директории-модулю на каждую задачу (task-XX-taskname).&lt;br /&gt;
* Код реализации задач располагаем в пакете ru.hse.cs.java2020.&amp;lt;github-login&amp;gt;.task-XX&lt;br /&gt;
* Задание считается принятым, если вы отправили PR, получили ок у преподавателя по PR и затем защитили очно у преподавателя задание&lt;br /&gt;
* Преподаватель может пропустить часть очной защиты по своему усмотрению&lt;br /&gt;
* до дедлайна надо успеть не только отправить PR, но и пройти защиту ДЗ&lt;br /&gt;
&lt;br /&gt;
За что снимаются баллы:&lt;br /&gt;
* опоздание при сдаче задания&lt;br /&gt;
* сдача задания, в котором не проходят checkstyle/tests&lt;br /&gt;
* плохая структура кода (слишком большие классы, неочевидные зависимости, отсутствие валидаций входных параметров, непонятный нейминг и т.п.)&lt;br /&gt;
* отсутствие тестов на базовые сценарии, низкое покрытие тестов (для заданий 4го модуля).&lt;br /&gt;
* большое количество багов в задании&lt;br /&gt;
&lt;br /&gt;
Преподаватель может требовать выполнения тех или иных дополнительных условий, не обозначенных в условии задачи.&lt;br /&gt;
&lt;br /&gt;
== Правила выставления оценок ==&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено две формы контроля знания:&lt;br /&gt;
* Домашние работы&lt;br /&gt;
* Письменный экзамен&lt;br /&gt;
&lt;br /&gt;
Итоговая оценка вычисляется по формуле:&lt;br /&gt;
&lt;br /&gt;
Итог 3го курса = Округление(0.15 * ДЗ1 + 0.15 * ДЗ2 + 0.15 * ДЗ3 +0.15 * ДЗ4 + 0.4 * Э)&lt;br /&gt;
&lt;br /&gt;
Итог 4го курса = Округление(0.3 * ДЗ1 + 0.3 * ДЗ2 + 0.4 * Э)&lt;br /&gt;
&lt;br /&gt;
ДЗ1 - ДЗ4  — оценки за домашние задания&lt;br /&gt;
&lt;br /&gt;
Э — оценка за экзамен&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Необходимый инвентарь ==&lt;br /&gt;
Ноутбук с установленными:&lt;br /&gt;
[https://www.oracle.com/technetwork/java/javase/downloads/5066655 JDK 11] &lt;br /&gt;
[https://www.jetbrains.com/idea/ IntelliJ IDEA]&lt;br /&gt;
[https://git-scm.com/download Git]&lt;br /&gt;
&lt;br /&gt;
== Полезные ссылки ==&lt;br /&gt;
https://compscicenter.ru/courses/java/nsk/2017-autumn/&lt;br /&gt;
&lt;br /&gt;
https://github.com/c-tash/HSE-CS-Java2020-Tasks&lt;/div&gt;</summary>
		<author><name>Aphanasiy</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BD%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_Java&amp;diff=39211</id>
		<title>Промышленное программирование на языке Java</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BD%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_Java&amp;diff=39211"/>
		<updated>2020-02-28T14:18:50Z</updated>

		<summary type="html">&lt;p&gt;Aphanasiy: Добавлена табличка с проверкой дз&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го и 4-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 3-4 модулях.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; Лепешкин Игорь&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинаристы:&#039;&#039;&#039; Косолапов Кирилл, Буланов Артем&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Расписание:&#039;&#039;&#039;&lt;br /&gt;
Лекции по вторникам, 09:00 - 10:20&lt;br /&gt;
&lt;br /&gt;
Семинары 3-ий курс: вторники 10:30 - 11:50&lt;br /&gt;
&lt;br /&gt;
Семинары 4-ый курс понедельники 10:30 - 11:50&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
Лекции лежат на [https://yadi.sk/d/pnm_X0KmiFfsVA Яндекс.Диске]&lt;br /&gt;
&lt;br /&gt;
== Домашнее задание ==&lt;br /&gt;
Планируется 2 ДЗ в 3ем модуле и 2 ДЗ в 4ом.&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/1dLmscZdQaAluX77yU1IRt744yHbqH7e301JZxfNxEHw/edit#gid=596552630 &amp;quot;Статусы проверки&amp;quot;]&lt;br /&gt;
=== Задание 1: Disk Analyzer ===&lt;br /&gt;
* Консольное приложение&lt;br /&gt;
* Принимает на вход папку&lt;br /&gt;
* Выводит непосредственное (только на первом уровне вложенности в переданную папку) содержимое папки в консоль в виде таблицы:&lt;br /&gt;
# Номер&lt;br /&gt;
# Название папки&lt;br /&gt;
# Размер папки с содержимым&lt;br /&gt;
# Процент от общего размера&lt;br /&gt;
# Количество вложенных элементов&lt;br /&gt;
* Отдельно рисует таблицу — топ самых больших файлов с полным путем&lt;br /&gt;
* Выводит время работы&lt;br /&gt;
* Симлинки не нужно учитывать и не надо выводить&lt;br /&gt;
&lt;br /&gt;
Срок сдачи: 3.03.2020&lt;br /&gt;
&lt;br /&gt;
===Домашнее задание 2: Кеш===&lt;br /&gt;
* В итоге мы должны получить интерфейс и его имплементацию, которые уже затем использовать в любом приложении&lt;br /&gt;
* Кеш из long в String (из-за десериализации, но можно писать и обобщенно)&lt;br /&gt;
* Поддерживает минимум две Eviction Policy (LRU + LFU)&lt;br /&gt;
* Может хранить данные на диске&lt;br /&gt;
* При создании указывается размер кеша в памяти, предельный размер на диске, папка, в которой кеш хранится и Eviction Policy&lt;br /&gt;
* Нельзя создавать по файлу на каждую запись&lt;br /&gt;
* Скорость из памяти O(1), скорость чтения с диска тоже, за исключением моментов компактизации диска&lt;br /&gt;
* При работе с диском все ключи можно держать в памяти (но не все значения)&lt;br /&gt;
* Кеш not thread-safe.&lt;br /&gt;
* Можно восстановить с диска&lt;br /&gt;
* В интерфейсе только get и put (возвращает старое значение)&lt;br /&gt;
* Подсчет размера можно делать приближенно (но учитывать количество записей + длину значений)&lt;br /&gt;
&lt;br /&gt;
Срок сдачи: 24.03.2020&lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи ДЗ: ===&lt;br /&gt;
&lt;br /&gt;
* Для запуска сборки, проверок стиля и юнит-тестов используем gradle. Если оно не собирается через грэйдл, оно не собирается.&lt;br /&gt;
* Сдачу задач ведем в отдельных приватных клонах репозитория на github.&lt;br /&gt;
* Все задачи располагаем в одном репозитории. В корне репозитория находится необходимая обвязка для сборки и запуска, и, по отдельной директории-модулю на каждую задачу (task-XX-taskname).&lt;br /&gt;
* Код реализации задач располагаем в пакете ru.hse.cs.java2020.&amp;lt;github-login&amp;gt;.task-XX&lt;br /&gt;
* Задание считается принятым, если вы отправили PR, получили ок у преподавателя по PR и затем защитили очно у преподавателя задание&lt;br /&gt;
* Преподаватель может пропустить часть очной защиты по своему усмотрению&lt;br /&gt;
* до дедлайна надо успеть не только отправить PR, но и пройти защиту ДЗ&lt;br /&gt;
&lt;br /&gt;
За что снимаются баллы:&lt;br /&gt;
* опоздание при сдаче задания&lt;br /&gt;
* сдача задания, в котором не проходят checkstyle/tests&lt;br /&gt;
* плохая структура кода (слишком большие классы, неочевидные зависимости, отсутствие валидаций входных параметров, непонятный нейминг и т.п.)&lt;br /&gt;
* отсутствие тестов на базовые сценарии, низкое покрытие тестов (для заданий 4го модуля).&lt;br /&gt;
* большое количество багов в задании&lt;br /&gt;
&lt;br /&gt;
Преподаватель может требовать выполнения тех или иных дополнительных условий, не обозначенных в условии задачи.&lt;br /&gt;
&lt;br /&gt;
== Правила выставления оценок ==&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено две формы контроля знания:&lt;br /&gt;
* Домашние работы&lt;br /&gt;
* Письменный экзамен&lt;br /&gt;
&lt;br /&gt;
Итоговая оценка вычисляется по формуле:&lt;br /&gt;
&lt;br /&gt;
Итог 3го курса = Округление(0.15 * ДЗ1 + 0.15 * ДЗ2 + 0.15 * ДЗ3 +0.15 * ДЗ4 + 0.4 * Э)&lt;br /&gt;
&lt;br /&gt;
Итог 4го курса = Округление(0.3 * ДЗ1 + 0.3 * ДЗ2 + 0.4 * Э)&lt;br /&gt;
&lt;br /&gt;
ДЗ1 - ДЗ4  — оценки за домашние задания&lt;br /&gt;
&lt;br /&gt;
Э — оценка за экзамен&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Необходимый инвентарь ==&lt;br /&gt;
Ноутбук с установленными:&lt;br /&gt;
[https://www.oracle.com/technetwork/java/javase/downloads/5066655 JDK 11] &lt;br /&gt;
[https://www.jetbrains.com/idea/ IntelliJ IDEA]&lt;br /&gt;
[https://git-scm.com/download Git]&lt;br /&gt;
&lt;br /&gt;
== Полезные ссылки ==&lt;br /&gt;
https://compscicenter.ru/courses/java/nsk/2017-autumn/&lt;br /&gt;
&lt;br /&gt;
https://github.com/c-tash/HSE-CS-Java2020-Tasks&lt;/div&gt;</summary>
		<author><name>Aphanasiy</name></author>
	</entry>
</feed>