Автоматизация обучения эффективным процессам программирования с помощью обратной связи

  • Дмитрий Андреевич Тимофеев Санкт-Петербургский политехнический университет Петра Великого
  • Александр Викторович Самочадин Санкт-Петербургский политехнический университет Петра Великого

Аннотация

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

Биографии авторов

Дмитрий Андреевич Тимофеев, Санкт-Петербургский политехнический университет Петра Великого

Тимофеев Дмитрий Андреевич: ведущий программист, лаборатория «Системы управления мобильными устройствами», dtim@comitative.com

Александр Викторович Самочадин, Санкт-Петербургский политехнический университет Петра Великого

Самочадин Александр Викторович: кандидат технических наук, профессор, Высшая школа программной инженерии, samochadin@gmail.com

Литература

1. Чиксентмихайи М. Поток: Психология оптимального переживания / Пер. с англ. — 7-е изд. — М.: Смысл; Альпина нон-фикшн, 2017.
2. Atlassian 2016 Report — Software Development Trends and Benchmarks. 2016. Available at https://www.atlassian.com/whitepapers/software-trends-2016
3. Carter A., Sangler C. The Programmer’s Stone. 1997. Available at http://www.programmersstone.com
4. Baum L. E., Petrie T. Statistical Inference for Probabilistic Functions of Finite State Markov Chains, 1966 // The Annals of Mathematical Statistics. 37 (6): 1554–1563.
5. Guzdial M. Is There a 10x Gap Between Best and Average Programmers? And How Did It Get There? ACM Blog, 2014. Available at https://cacm.acm.org/blogs/blog-cacm/180512-is-there-a-10x-gap-between-best-and-average-programmers-and-how-did-it-get-there/fulltext
6. Hunt A. Thomas D. The Pragmatic Programmer: From Journeyman to Master. Addison Wesley Longman Inc, 2000.
7. Kamma D. Study of Task Processes for Improving Programmer Productivity. PhD thesis. IndraprasthaInstitute of Information Technology, Delhi, 2007. Available at https://repository.iiitd.edu.in/jspui/bitstream/handle/123456789/513/PhD1004.pdf
8. Jeffries R. et al. The processes involved in designing software // Cognitive skills and their acquisition. 1981, pp. 255-283 С. 283.
9. McConnell S. Code Complete. 2nd edition. Microsoft Press, 2004.
10. Martin R. C. et al. Clean Code: A Handbook of Agile Software Craftmanship. Pearson Education, 2009.
11. Rabiner L. R. A tutorial on hidden Markov models and selected applications in speech recognition. // In: Proceedings of the IEEE, vol. 77, issue 2, pp. 257–286, 1989.
12. Šrámek R. The on-line Viterbi algorithm. Master’s Thesis, Dept. of Computer Science, Comenius University, Bratislava, 2007.
13. Viterbi A. J. Error bounds for convolutional codes and an asymptotically optimum decoding
algorithm. // IEEE Trans. Inform. Theory, vol. IT–13, pp. 260–269, April 1967.
Опубликован
2017-10-30
Как цитировать
Тимофеев, Д. А., & Самочадин, А. В. (2017). Автоматизация обучения эффективным процессам программирования с помощью обратной связи. Компьютерные инструменты в образовании, (5), 35-44. извлечено от http://cte.eltech.ru/ojs/index.php/kio/article/view/1493
Выпуск
Раздел
Компьютер в учебном процессе