Опыт преподавания дисциплины «Введение в архитектуру ЭВМ» для студентов IT-специальностей

Прием тезисов завершен. Вы можете только разместить черновик.
Авторы: Чистяков Дмитрий Борисович, Богоявленский Юрий Анатольевич, К.т.н., доцент
Петрозаводский государственный университет
В работе рассмотрен подход раннего изучения архитектуры ЭВМ и языка ассемблера на основе многолетнего опыта преподавания дисциплин "Архитектура ЭВМ", "Введение в архитектуру ЭВМ" и "Введение в архитектуру и язык ассемблер". Отмечаются трудности и преимущества такого подхода при подготовке 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].

Список использованных источников
  1. 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.
  2. Центральные процессоры персональных ЭВМ [сост. Ю. А. Богоявленский, М. В. Дьяконов, А. А. Печников]. - Изд. 3-е, стер. - Петрозаводск : Издательство ПетрГУ, 2006. - 186 с. - [Электронный ресурс] URL: http://elibrary.petrsu.ru/book.shtml?levelID=031&id=21711&cType=1
  3. 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.
  4. Страница курса "Введение в архитектуру ЭВМ" // [Электронный ресурс]. URL: http://edu.petrsu.ru/object/1803
  5. 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

По вопросам спонсорского участия, оплаты участия коммерческих компаний, а также иным организационно-информационным вопросам просьба обращаться в организационный комитет по адресу: dea@ito.edu.ru, edu@apkit.ru или по телефону: +7 (925) 514-33-74.