ПРОБЛЕМИ ОРГАНІЗАЦІЇ НАВЧАЛЬНОГО СЕРЕДОВИЩА ДЛЯ НИЗЬКОРІВНЕВОГО ПРОГРАМУВАННЯ

Автор(и)

  • Олександр Филимонович Баранюк Центральноукраїнський державний університет імені Володимира Винниченка https://orcid.org/0000-0003-1151-0092

DOI:

https://doi.org/10.32782/cusu-pmtp-2025-1-1

Ключові слова:

низькорівневе програмування, асемблер, компілятор, компонувальник, бібліотека, редактор коду, інтегроване середовище розробки

Анотація

У статті подано результати дослідження способів організації робочого середовища для навчання основ низькорівневого програмування. Наголошено на використанні простих і доступних засобів розробки програм. З огляду на припинення підтримки 16-розрядних програм, пропонується організувати робоче середовище на основі асемблера MASM32 з бібліотекою введення-виведення Irvine32. У курсі архітектури обчислювальних систем більша увага приділяється принципам функціонування обчислювальних систем та перетворення асемблерних програм у виконувані модулі.Проаналізовано наукові публікації з питань організації навчання програмування початківців, навчання низькорівневого програмування та використання середовищ розробки в навчальному процесі. На основі аналізу сформульовано вимоги до редакторів / середовищ для програмування. Навчання основ низькорівневого програмування пропонується здійснювати поетапно. На початкових етапах студенти ознайомлюються з організацією навчального середовища для програмування на основі обраного асемблера, засвоюють принцип трансляції програм за допомогою консольних команд та пакетних командних файлів. На наступних етапах пропонується використовувати текстові редактори з набором функцій підтримки програмування, автоматизації процесу компіляції та налагодження.Згідно з вимогами до середовищ розробки програм, проаналізовано функціональні можливості простого редактора HiEditor та більш розвиненого редактора Notepad++. З’ясовано, що хоча розглянуті редактори не мають усіх бажаних функцій, проте їх можна додати шляхом створення команд користувача для виклику сторонніх програм, зокрема асемблера, компонувальника та налагоджувача. Аналіз можливостей професійного IDE Visual Studio показав, що його також можна використовувати для програмування мовою асемблера, але це потребує численних налаштувань.

Посилання

Баранюк О. Пошук шляхів підвищення ефективності вивчення мови асемблера. Наукові записки.

Серія : Проблеми методики фізико-математичної і технологічної освіти. 2011. Вип. 2. С. 18–26.

Баранюк О. Розробка навчальної бібліотеки підпрограм для низькорівневого програмування. Наукові записки. Серія : Проблеми методики фізико-математичної і технологічної освіти. 2015. Вип. 7(2). С. 9–15.

Жалдак М. І. Проблеми інформатизації навчального процесу в середніх і вищих навчальних закладах. Комп’ютер в школі та сім’ї. 2013. № 3. С. 8–15.

Agarwal K. K., Agarwal A. Do we need a separate assembly language programming course? Journal of Computing Sciences in Colleges. 2004, № 19 (4). p. 246–251.

Computer Science Curricula 2023 / ACM; IEEE-CS; AAAI. New York: CM, 2023. 459 p. URL: https:// dl.acm.org/doi/pdf/10.1145/3664191.

Gomes A., Mendes A.J. Learning to Program – Difficulties and Solutions. International Conference on Engineering Education. ICEE, 2007. p. 283–287.

Hyde R. Why Learning Assembly Language Is Still a Good Idea. 2004. URL: https://bixoft.nl/english/ hyde.htm

Irvine K. Assembly language for x86 processors. 7th ed. Upper Saddle River : Pearson Education, 2015. 868 p.

Khan A. W. Mastering Assembly Language. 2024. URL: https://blog.ahmadwkhan.com/mastering-as-sembly-language

Requirements for an Online Integrated Development Environment for Automated Programming Assessment Systems / Frankford E., Crazzolara D., Sauerwein C. et al. Proceedings of the 16th International Conference on Computer Supported Education: CSEDU. 2024. Vol. 1. Angers : SciTePress. p. 305–313. DOI: 10.5220/0012556400003693

Robins A., Rountree J., Rountree N. Learning and Teaching Programming : A Review and Discussion. Computer Science Education. 2003. Vol. 13. No. 2. p. 137–172.

Satav S. K., Satpathy S. K., Satao K. J. A comparative study and critical analysis of various integrated development environments of C, C++, and Java languages for optimum development. Universal Journal of Applied Computer Science and Technology. 2011. No. 1. p. 9–15.

Sotnik S., Lyashenko V., Schakurova T. Modern Integrated Software Development Environments International Journal of Academic and Applied Research (IJAAR). 2021. Vol. 5(10). p. 157–161. URL: https://openarchive.nure.ua/handle/document/18022

The MASM32 SDK Uncompromised capacity for the professional programmer. URL: https://masm32.com

Timbó R. Integrated Development Environments: Definition, What Is, and Purpose. 2024. https://www.revelo.com/blog/integrated-development-environments.

Winslow L. Programming Pedagogy : A Psychological Overview. SIGCSE Bulletin. 1996. № 28 (3). p. 17–22.

##submission.downloads##

Опубліковано

2025-05-27