Опыт преподавания дисциплины «Введение в архитектуру ЭВМ» для студентов IT-специальностей
Дисциплина “Введение в архитектуру ЭВМ” читается в Петрозаводском государственном университета кафедрой информатики и математического обеспечения с 1991 г. Предметная область архитектуры ЭВМ является важной составляющей компетенции выпускника направлений 01.03.02 “Прикладная математика и информатика” и 09.03.02 “Информационные системы и технологии”. Эта область входит во все версии ядер совокупностей базовых знаний дисциплин ComputerScience, InformationSystems, InformationTechnologyи SoftwareEngineering(см. например [1]). Отметим, что концепции, связанные с архитектурой ЭВМ и языком ассемблера, является фундаментальным достижением современной прикладной математики и их раннее освоение обеспечивает формирование фундаментальных навыков программирования.
Дисциплина читается во втором семестре первого курса параллельно с дисциплинами «Язык shell» и «Введение в ООП», ее цель – воспитание у студентов архитектурной культуры мышления. На лабораторных занятиях студенты разрабатывают программ на языке ассемблера для реальных процессоров (в настоящее время для архитектуры IA-32). При этом в первом семестре изучается процедурное программирование на языке С. Таким образом на первом курсе студент знакомится с основными уровнями взаимодействия с ЭВМ и операционными системами. Компетенции, получаемые при изучении дисциплины необходимы при изучении на втором курсе дисциплин «Операционные системы», «Системное программирование» и «Компьютерные сети», а на третьем курсе - дисциплин «Формальные языки и компиляторы» и «Архитектура современных ЭВМ».
Для выполнения лабораторных работ использовался ассемблер tasm в среде DOS, а с 2011 г. — ассемблер gas в среде Linux, который, поддерживая более двадцати архитектур (Intel, SPARC, ARM, др.), является широко применяемым в индустрии ПО семейством ассемблеров. Студенты используют среду разработки emacs, редактор связей ld, отладчик kdbg.
Лабораторные задания оцениваются в баллах и состоят из блоков. Вводный блок — освоение инструментов на примере готовых программ на языке ассемблера. Базовый блок — самостоятельная разработка программ, использующих индексную адресацию и вызовы функций (в том числе на языке С) с использованием раздельной трансляции. Дополнительный блок — содержит более сложные задачи, именно они дают студентам понимание применимости языка ассемблера в их будущей профессиональной деятельности. Нами выполнена большая работа по методической поддержке дисциплины [2,3,4]
Наш опыт подтверждает правильность принципов, заложенных в основу дисциплины. За 25 лет воспитано поколение специалистов, выполняющих разработки для индустрии и по Российским и Европейским грантам, в том числе, в IT-парке ПетрГУ [5].
- IEEE/AIS/ACM Joint Task Force on Computing Curricula. Computing Curricula 2005. The Overview Report covering undergraduate degree programs in Computer Engineering, Computer Science, Information Systems, Information Technology, Software Engineering. 2005. URL: http://www.acm.org/education/curricula.html.
- Центральные процессоры персональных ЭВМ [сост. Ю. А. Богоявленский, М. В. Дьяконов, А. А. Печников]. - Изд. 3-е, стер. - Петрозаводск : Издательство ПетрГУ, 2006. - 186 с. - [Электронный ресурс] URL: http://elibrary.petrsu.ru/book.shtml?levelID=031&id=21711&cType=1
- Iouri A. Bogoiavlenski, Andrew A. Pechnikov. Five Year Experience of Architecture and Assembly Language Introduction Course for First Year Students. // Proceedings of the Interdisciplinary Workshop Complex Learning in Computer Environments. University of Joensuu, 1994, p. 124-128.
- Страница курса "Введение в архитектуру ЭВМ" // [Электронный ресурс]. URL: http://edu.petrsu.ru/object/1803
- Voronin A., Bogoiavlenskii I., Kuznetsov V. Perspectives on the Emergence of Computing Programs Propelled by Local Industry in Russia // ACM Inroads. Volume 6, Issue 4, December 2015. - PP.41-51.
Вид представления доклада | Публикация |
Уровень | Бакалавриат |
Ключевые слова | Архитектура ЭВМ, Ассемблер, Linux, GAS |
По вопросам спонсорского участия, оплаты участия коммерческих компаний, а также иным