Онтология практических знаний по программированию

  • Andrey Petrovich Gagarin Московский авиационный институт (национальный исследовательский университет) http://orcid.org/0000-0002-0929-2834

Аннотация

Стремительное развитие информационных технологий, изменчивость методических установок в сфере образования ведут к хронической нестабильности комплекса учебно-методических материалов в практике преподавания программирования и смежных с ним дисциплин. Профессиональный преподаватель сталкивается с необходимостью оперативно изменять структуру и содержание лекций, заданий для лабораторных и семинарских занятий. Формируется объективная потребность в методах и инструментах накопления и специализированного редактирования учебных материалов, среди которых особую роль играют учебные примеры программ. Особенно ценны примеры, представляющие собой тексты программ на исходных языках программирования, пригодные для выполнения в соответствующей операционной среде с выдачей протокола выполнения, который, по существу, можно считать входящим в состав примера. Целесообразно накапливать коллекции таких примеров и включать их с большими или меньшими изменениями в учебные пособия, доклады и демонстрационные материалы. В данной статье коллекции примеров рассматриваются как контент баз практических знаний, разновидность "больших данных", необходимых для конструирования исходных текстов программ на языках программирования. Предложена архитектура программной оболочки комплексной базы знаний, объединяющей прагматику программирования с синтаксисом и семантикой языков программирования. В оболочку встроены фрагмент онтологии языка Java и фрагмент онтологии умений ("компетенций") программиста, необходимых для реализации ряда программных решений и выраженных в виде примеров на языке Java. Комплексная база знаний позволяет в среде Windows выбирать и демонстрировать примеры одновременно с демонстрацией соответствующих определений из спецификации языка Java.

Сведения об авторе

Andrey Petrovich Gagarin, Московский авиационный институт (национальный исследовательский университет)

профессор кафедры вычислительных машин, систем и сетей Института № 3 "Системы управления, информатика и электроэнергетика", кандидат технических наук, профессор

Литература

1. Derus S.R.M., Ali A.Z.M. Difficulties in learning programming: Views of students. In: 1st International Conference on Current Issues in Education (ICCIE'2012). Yogyakarta, Indonesia; 2012. p. 74-78. doi: https://doi.org/10.13140/2.1.1055.7441
2. Lepp M., Kaimre J. Providing Additional Support in an Introductory Programming Course. In: 2022 IEEE Global Engineering Education Conference (EDUCON). Tunis, Tunisia: IEEE Computer Society; 2022. p. 210-216. doi: https://doi.org/10.1109/EDUCON52537.2022.9766661
3. Usman M., Britto R., Börstler J., Mendes E. Taxonomies in software engineering: A Systematic mapping study and a revised taxonomy development method. Information and Software Technology. 2017;85:43-59. doi: https://doi.org/10.1016/j.infsof.2017.01.006
4. Gahlyan P., Singh S.N. Analysis of Catalogue of GoF Software Design Patterns. In: 2018 8th International Conference on Cloud Computing, Data Science & Engineering (Confluence). Noida, India: IEEE Computer Society; 2018. p. 814-818. doi: https://doi.org/10.1109/CONFLUENCE.2018.8442878
5. Tennent R.D. The denotational semantics of programming languages. Communications of the ACM. 1976;19( 8):43 7-453. doi: https://doi.org/10.1145/360303.360308
6. Tenenberg J., Fincher S. Students Designing Software: a Multi-National, Multi-Institutional Study. Informatics in Education. 2005;4(1):143-162. doi: https://doi.org/10.15388/infedu.2005.09.
7. Tan P.-H., Ting C.-Y., Ling S.-W. Learning Difficulties in Programming Courses: Undergraduates' Perspective and Perception. In: 2009 International Conference on Computer Technology and Development. Kota Kinabalu, Malaysia: IEEE Computer Society; 2009. p. 42-46. doi: https://doi.org/10.1109/ICCTD.2009.188
8. Turner R. Programming Language Specification. In: Computable Models. Springer, London; 2009. p. 1-7. doi: https://doi.org/10.1007/978-1-84882-052-4_22
9. Turner R. Understanding Programming Languages. Minds & Machines. 2007;17(2):203-216. doi: https://doi.org/10.1007/s11023-007-9062-6
10. Plotkin G.D. The Origins of structural operational semantics. The Journal of Logic and Algebraic Programming. 2004;60-61:3-15. doi: https://doi.org/10.1016/j.jlap.2004.03.009
11. Astarte T.K., Jones C.B. Formal Semantics of ALGOL 60: Four Descriptions in their Historical Context. In: De Mol L., Primiero G. (eds.). Reflections on Programming Systems. Philosophical Studies Series. Vol. 133. Cham: Springer; 2018. p. 83-152. doi: https://doi.org/10.1007/978-3-319-97226-8_4
12. Ellison C., Rosu G. An executable formal semantics of C with applications. ACM SIGPLAN Notices. 2012;47(1):533-544. doi: https://doi.org/10.1145/2103621.2103719
13. Borgo S., Ferrario R., Gangemi A., Guarino N., Masolo C., Porello D., Sanfilippo E.M., Vieu L., Borgo S., Galton A., Kutz O. DOLCE: A Descriptive Ontology for Linguistic and Cognitive Engineering. Applied Ontology. 2022;17(1):45-69. doi: https://doi.org/10.3233/AO-210259
14. Fellbaum C. WordNet(s). In: Encyclopedia of Language & Linguistics. Second Edition. Oxford: Elsevier; 2006. p. 665-670. doi: https://doi.org/10.1016/B0-08-044854-2/00946-9
15. Miller G.A. WordNet: A Lexical Database for English. In: Proceedings of the workshop on Human Language Technology (HLT'93). Association for Computational Linguistics, USA; 1993. 409 p. doi: https://doi.org/10.3115/1075671.1075788
16. Sosnovsky S., Gavrilova T. Development of Educational Ontology for C-Programming. Information Theories & Applications. 2006;13(4):303-308. Available at: http://www.foibg.com/ijita/vol13/ijita13-4-p01.pdf (accessed 17.08.2022).
17. Ganapathi G., Lourdusamy R., Rajaram V. Towards Ontology Development for Teaching Programming Language. In: Proceedings of the World Congress on Engineering 2011 (WCE 2011). Vol. III. London, U.K.; 2011. Available at: https://www.iaeng.org/publication/WCE2011/WCE2011_pp1845-1848.pdf (accessed 17.08.2022).
18. Pierrakeas C., Solomou G., Kameas A. An Ontology-Based Approach in Learning Programming Languages. In: 2012 16th Panhellenic Conference on Informatics. Piraeus, Greece: IEEE Computer Society ; 2012. p. 393-398. doi: https://doi.org/10.1109/PCi.2012.78
19. Gorodnyaya L.V., Andreyeva T.A. Programming paradigms in higher education. Bulletin of the Novosibirsk Computing Center. Series: Computer Science. 2015;(38):67-90. doi: https://doi.org/10.31144/bncc.cs.2542-1972.2015.n38.p67-90
20. Saygin A.P., Cicekli I. Pragmatics in human-computer conversations. Journal of Pragmatics. 2002;34(3):227-258. doi: https://doi.org/10.1016/S0378-2166(02)80001-7
21. Gagarin A.P., Pyzh'yanov I.L. Computer System Architecture for Teaching the Software Engineering in a Classroom Environment. Pedagogical Informatics. 2022;(3):202-216. Available at: https://www.elibrary.ru/item.asp?id=49564664 (accessed 17.08.2022). (In Russ., abstract in Eng.)
22. Jurafsky D. Pragmatics and Computational Linguistics. In: Horn L.R., Ward G. (eds.) The Handbook of Pragmatics. Blackwell Publishing Ltd; 2006. p. 578-604. doi: https://doi.org/10.1002/9780470756959.ch26
23. Bunt H. Computational Pragmatics. In: Y. Huang (ed.). The Oxford Handbook of Pragmatics. Oxford: Oxford University Press; 2017. p. 326-345. doi: https://doi.org/10.1093/oxfordhb/9780199697960.013.18
24. Li X., Ma Z. Computational Pragmatics: A Survey in China and the World. In: Proceedings of the 2nd International Conference on Natural Language Processing and Information Retrieval (NLPIR 2018). New York, NY, USA: Association for Computing Machinery; 2018. p. 65-69. doi: https://doi.org/10.1145/3278293.3278304
25. Pu Y., Ellis K., Kryven M., Tenenbaum J.B., Solar-Lezama A. Program Synthesis with Pragmatic Communication. In: Proceedings of the 34th International Conference on Neural Information Processing Systems (NIPS'20). Red Hook, NY, USA: Curran Associates Inc.; 2020. Article number: 1111. p. 13249-13259. Available at: https://dl.acm.org/doi/pdf/10.5555/3495724.3496835 (accessed 17.08.2022).
26. Reuben C.-G., Goodman N., Potts C. An Incremental Iterated Response Model of Pragmatics. Proceedings of the Society for Computation in Linguistics. 2019;2:10. doi: https://doi.org/10.7275/cprc-8x17
Опубликована
2022-10-24
Как цитировать
GAGARIN, Andrey Petrovich. Онтология практических знаний по программированию. Современные информационные технологии и ИТ-образование, [S.l.], v. 18, n. 3, p. 596-607, oct. 2022. ISSN 2411-1473. Доступно на: <http://sitito.cs.msu.ru/index.php/SITITO/article/view/905>. Дата доступа: 29 apr. 2024 doi: https://doi.org/10.25559/SITITO.18.202203.596-607.