Тип работы:
Предмет:
Язык работы:


Разработка рейтинговой системы для платформы CodeFights

Работа №59442

Тип работы

Бакалаврская работа

Предмет

информационные системы

Объем работы26
Год сдачи2016
Стоимость4215 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
59
Не подходит работа?

Узнай цену на написание


Введение 4
1. Постановка задачи 6
2. Обзор предметной области 7
2.1. Изначальная рейтинговая система 8
2.1.1. Рейтинг пользователей 9
2.1.2. Рейтинг задач 9
2.1.3. Рейтинг ботов 10
2.1.4. Минусы изначальной системы 10
2.2. Существующие решения 11
2.2.1. Сайты олимпиадного программирования 11
2.2.2. Кредитный скоринг 11
3. Разработанная система 13
3.1. Общая модель 13
3.2. Новая рейтинговая модель 14
3.2.1. Рейтинг задачи 14
3.2.2. Рейтинг пользователя 15
3.2.3. Поведение ботов 16
4. Интегрирование системы 18
4.1. Пересчёт статистики задач 18
4.2. Пересчёт рейтингов 19
5. Используемые технологии 20
6. Результаты 21
7. Заключение 25
Список литературы


В настоящее время разработано множество платформ, позволяющих программистам изучить самые различные области. Большинство этих платформ делятся на две категории: обучающие платформы, такие как Codecademy и Coursera, и соревновательные, например CodeForces или CodeChef. Первые предлагают онлайн курсы по любым темам, которые могут быть полезны программисту, а вторые - алгоритмические задачи, на решение которых чаще всего отводится определённое время. В последнее время начали набирать популярность игровые платформы, которое предлагают пользователям соревноваться друг с другом в реальном времени через написание программ. Примером таких платформ могут послужить CodinGame и CodeFights.
Помимо программистов, заинтересованных в самообучении, у данных плат-форм есть и другие крупные пользователи: IT-компании, ищущие специалистов на инженерные должности. Это неудивительно, ведь целью получения образования и изучения новых навыков чаще всего является получение рабочего места, так что компании, сотрудничающие с обучающими платформами, находят не только хороших специалистов, но и людей, заинтересованных в трудоустройстве.
Конечно, у работодателей остаётся заинтересованность в специалистах с высшим образованием и имеющих дипломы и сертификаты, подтверждающие определённый уровень знаний, однако в последние годы в связи с увеличением количества и качества информации, доступной онлайн, становится гораздо труднее распознать хорошего программиста. Ранее компании оценивали кандидатов без опыта работы по диплому и другим сертификатам, и хотя этого, разумеется, было недостаточно, наличие документа показывало, что человек знает хотя бы что-то. Сейчас же большинство программистов являются самоучками, в связи с чем сложно отличить классного специалиста, поскольку на бумаге все кандидаты обычно равны.
Платформа CodeFights предложила новый рекрутинговый метод, в основе которых лежит ’’сражение” с ботами, принадлежащими различным компаниям. По окончании сражения, в зависимости от его результатов, программисту может быть предложено отослать свои данные в соответствующую компанию и пройти собеседование. Для того, чтобы обеспечить наилучший отбор кандидатов, необходимо правильно настроить ’’уровень” бота. Поскольку боты настраиваются таким образом, чтобы наиболее точно симулировать результат программиста конкретной компании, необходимо правильно оценить уровень каждого программиста компании и в соответствии с этим обучить бота. Разработка рейтинговой системы, позволяющей оценить правильно оценить уровень программиста, а также обучение ботов и предсказание исходов боёв и является темой данной работы.

Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В дипломной работе была поставлена задача разработки рейтинговой системы для платформы CodeFights, позволяющей оценивать уровень программиста и сложность предоставляемых задач, а также моделировать результаты пользователя с определенным рейтингом.
Разработанная система доказала свою эффективность и уже является лучше предыдущей. Представленная система введена в эксплуатацию и позволяет оценивать алгоритмические знания программиста. Для того, чтобы ее возможности можно было использовать полноценно, требуется создание до-статочного количества заданий в более широких областях и, вероятно, модификации их оценки.
Рейтинг задачи оценивается по результатам пользователей, которые её решают. Разработанная система хранит как промежуточные решения каждой задачи, так и версии, проходящие все тесты, что дает возможность анализировать их исходные коды, и, соответственно, иначе оценивать сложность задачи.
Каждой задаче присвоена определённая категория, порой не одна. Чаще всего по категории можно получить примерную оценку сложности задачи, что следует учесть при дальнейшем развитии предложенной рейтинговой системы.
Таким образом, проделанная работа является основой на пути к созданию глобальной рейтинговой системы, которая позволит оценивать уровень программистов и упростить жизнь как работодателям, так и программистам, находящимся в поиске рабочего места.



[1] Andrew Alan Armstrong, C. P Automated analysis of code developer’s profile. Patent, 2012.
[2] Chrysler, E. Some basic determinants of computer programming productivity. Communications of the ACM 21 (June 1978), 472-483.
[3] Dishman, L. You might apply for your next job by playing a mobile game, 2016.
[4] Glickman, P M. E. The glicko system. Tech. rep., Boston University, 1999.
[5] Michael Lydon, J. M. H. Method and system for communicating programmer information to potential employers. Patent, 2006.
[6] Raymond M. Berger, R. C. W. The development of programmer evaluation measures. SIGCPR ’65 Proceedings of the third annual computer personnel research conference (1965), 6- 17.
[7] Stolba, L. Professional rating system and method. Patent, 2006.
[8] Tennant, D. How competing against a ‘bot’ could land you a developer job, 2016.


Работу высылаем на протяжении 30 минут после оплаты.



Подобные работы


©2025 Cервис помощи студентам в выполнении работ