Научная статья на тему 'ПРЕПОДАВАНИЕ VISUAL BASIC FOR APPLICATIONS КАК БАЗОВОГО ЯЗЫКА ДЛЯ СТУДЕНТОВ ТЕХНИЧЕСКОГО ВУЗА'

ПРЕПОДАВАНИЕ VISUAL BASIC FOR APPLICATIONS КАК БАЗОВОГО ЯЗЫКА ДЛЯ СТУДЕНТОВ ТЕХНИЧЕСКОГО ВУЗА Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
172
34
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ОФИСНОЕ ПРОГРАММИРОВАНИЕ / PYTHON / PASCAL / VBA / EXCEL / АЛГОРИТМИЗАЦИЯ / МЕТОДИКА ОБУЧЕНИЯ / СТАНДАРТНЫЕ АЛГОРИТМЫ / ОФИСНЫЕ ПРИЛОЖЕНИЯ / office programming / Python / Pascal / VBA / Excel / algorithmization / teaching methods / standard algorithms / office applications

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Петрова Н.К., Ситников С.Ю., Хамитов Р.М.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

TEACHING VISUAL BASIC FOR APPLICATIONS AS A BASIC LANGUAGE FOR TECHNICAL UNIVERSITY STUDENTS

Information technology and programming are among the most dynamically developing disciplines. There are often discussions in the university environment about which programming languages to give preference to when teaching students the basics of computer science and algorithmization, because sometimes the list of languages taught has a direct impact on the choice of the applicant’s place of study.This question depends, first of all, on the direction of the student’s training, according to which he is studying. A student of the IT direction will expect that after graduation he will have a fairly good command of several of the popular languages: Java, C++, C#, Python. Obviously, for graduates of IT specialties, these languages are necessary, also because they are in demand by employers, including leading IT companies.But are these popular languages suitable for all future specialists? After all, it is desirable to teach programming to future engineers (not IT-directions), chemists, economists, sociologists - students who did not prepare to become programmers, but for whom programming skills can become a powerful help in their future profession. The task of the initial stage of training for such students is to organize an easy, but high- quality entry into the world of programming. Here the question of choosing a language is even more important. At the Department of Computer Science and Information Management Systems (IIUS) Kazan State Power Engineering University has many years of experience in successfully teaching computer science and the basics of office programming to first-year students of technical and humanitarian specialties based on the Visual Basic for Applications (VBA) language, which is part of the Microsoft Excel spreadsheet processor.

Текст научной работы на тему «ПРЕПОДАВАНИЕ VISUAL BASIC FOR APPLICATIONS КАК БАЗОВОГО ЯЗЫКА ДЛЯ СТУДЕНТОВ ТЕХНИЧЕСКОГО ВУЗА»

Преподавание Visual Basic for Applications как базового языка для студентов технического вуза

Приводятся основанные на многолетнем опыте методологические обоснования, весомый список аргументов в пользу эффективности преподавания в вузах языка VBA как языка, позволяющего акцентировать внимание обучающихся на понимании принципов алгоритмизации и формирующего базовые навыки программирования как простых, так и сложных задач. УДК статьи 372.800.4:004.43

Н.К. Петрова1, 2

Казанский государственный энергетический университет (КГЭУ), Казанский федеральный университет (КФУ), канд. физ.-мат. наук, nk_petrova@mail.ru

С.Ю. Ситников

КГЭУ, КФУ,

канд. техн. наук, доцент, ssitnikov@mail.ru

Р.М. Хамитов

КГЭУ, канд. техн. наук, hamitov@gmail.com

1' 2 доцент кафедры, старший научный сотрудник НИЛ Института физики, г. Казань, Республика Татарстан

Для цитирования: Петрова Н.К., Ситников С.Ю., Хамитов Р.М. Преподавание Visual Basic for Applications как базового языка для студентов технического вуза // Компетентность / Competency (Russia). — 2021. — № 9-10. DOI: 10.24412/1993-8780-2021-9-14-21

ключевые слова

офисное программирование, Python, Pascal, VBA, Excel, алгоритмизация, методика обучения, стандартные алгоритмы, офисные приложения

афедра «Информатика и информационно-управляющие системы» (ИИУС) является выпускающей кафедрой по подготовке студентов направлений «Технология разработки программного обеспечения» и «Прикладная информатика». Помимо специализированных курсов в рамках обозначенных направлений, кафедра проводит обучение студентов дневной и заочной форм обучения по техническим и гуманитарным специальностям и направлениям по информатике, информационным технологиям и основам программирования. На лабораторных работах в курсе информатики реализуются различные педагогические задачи, в том числе задача развития навыков грамотной работы с офисными приложениями Windows. Развитие этих навыков в учебном процессе реализуется через обучение созданию макросов в среде встроенного в MS Excel и других приложений редактора Visual Basic for Applications, VBA [1, 2]. Вначале студенты работают в рамках процедурного программирования, затем постепенно переходят к технологии структурного подхода, обучаясь грамотному обмену данными между процедурами и функциями через формальные и фактические параметры, на завершающих стадиях обучения они переходят к визуальному проектированию приложения с использованием методологии объектно-ориентированного программирования.

Других простых вариантов создания скриптов (макросов) для этих программ нет, по этой причине здесь мы не рассматриваем VSTO (Visual Studio Tools for Office). На старших курсах у студентов технических специальностей происходит успешный переход к изучению языков C#, C++, а также

высокоуровневых языков технических вычислений — Matlab и др. [3, 4, 5, 11]. Этот факт ставит под сомнение распространенный тезис, утверждающий, что если первым языком для обучения выбран Basic, то качественно освоить программирование на других языках уже нельзя.

Человек, знающий несколько языков, получает больше степеней свободы и может реализовать себя в широком спектре возможностей. Человек, знающий один язык, ограничен в своих возможностях. Однако человек, знающий только VBA, фактически всегда найдет применение своим знаниям, так как офисные приложения, а вместе с ними и редактор Visual Basic, установлены на любом компьютере. И если необходимо что-то срочно посчитать, среда программирования всегда с нами. Не надо искать подходящую инсталляцию Visual Studio в интернете, не надо беспокоиться о защите компьютера при инсталляции скачанных программ. У офисных приложений Microsoft есть три неоспоримых преимущества: они есть везде, их не надо докупать; пользователи уже знают, как с ними работать, их не надо дополнительно обучать; в них уже встроен VBA — простой и, как показывает опыт, весьма продвинутый помощник для решения любой вычислительной задачи.

Среда разработки, состоящая из табличного процессора MS Excel и встроенного языка VBA, оказалась удачной для построения собственных приложений и проектов, в основном расчетного характера. Как уже было сказано, навыки программирования у студентов постепенно эволюционируют от решения простейших задач в рамках одной программы до разбиения алгоритма на модули и объединения модулей в еди-

ный проект и, наконец, построения сложных интерактивных приложений с применением объектов пользовательских форм [6]. Почему именно VBA был выбран для начального этапа обучения студентов, получающих подготовку и по техническим, и по гуманитарным направлениям?

Проблема в том, что на первый курс университета студенты приходят с разным уровнем подготовки по информатике: есть такие, у кого информатики, не говоря уж о программировании, в школе (чаще сельской) «вообще не было», некоторые знакомы с основами программирования на алгоритмическом языке, большинство, по-прежнему, пришли с Паскалем [7].

В последние годы в университет стали поступать студенты, которых знакомили с языками С или Python. По крайней мере, в школьном учебнике [7] эти языки упомянуты как «распространенные», наряду с Delphi (Pascal), Visual Basic и Java. На IT-специальностях процент тех, кто изучал в школе С++ и Python, неуклонно растет — примерно, 20 % студентов в 2021 году.

К сожалению, обучать студентов дифференцированно, в зависимости от их начального знания того или иного языка, как правило, не представляется возможным. Наш опыт показывает, что VBA, обладая сверхнизким порогом вхождения, является очень практичным инструментом, который позволяет сильных научить еще большему, слабых — подтянуть на необходимый уровень знаний, умения и владения навыками программирования для решения своих профессиональных (в основном расчетных) задач. Возможности VBA оказались привлекательными и для преподавателей других кафедр: студенты, владеющие инструментами этого языка, эффективно выполняют лабораторные работы по предметам, где требуются анализ данных, интеграция знаний из разных предметных областей — это физика, химия, различные инженерные дисциплины, где широко используются и программная обработка, и графическое представление результатов.

Для социологов и экономистов незаменимыми приложениями являются Excel и Access, на основе которых можно создавать простые базы данных, проводить бизнес-анализ, использовать встроенные статистические и финансовые функции. Очевидно, например, что для социолога или психолога при обработке статистических данных выбор обычно стоит между использованием либо пакета Statistica, либо пакета Excel с его статистическими функциями. При этом программирование на одном из популярных языков (Java, Python, C# с их множеством классов, сложным управлением памятью и непонятными вызовами Windows API) не предполагается. Здесь весьма уместными становятся навыки разработки программ на VBA. Попытаемся раскрыть те возможности языка VBA, которые и сделали его базовым в обучении студентов-первокурсников вуза.

Почему VBA, а не Паскаль?

Мы уже отметили, что довольно много студентов приходит в вуз со знанием Паскаля. Сразу же оговоримся, что «знание» надо брать в кавычки. Увы, путаясь в сложной пунктуации языка, многие во время уроков в школе так и не добирались до отладки своих программ и доведения навыков алгоритмизации до необходимого уровня. Первой проблемой являются жесткие требования на типы переменных, которые становятся определенной преградой для первых шагов в программировании: внутреннее представление чисел в компьютере изучается, как правило, позднее основ программирования.

Различие парадигм языков программирования в том, до какой степени они допускают автоматическое преобразование типов данных в процессе вычисления выражения.

С одной стороны, язык является более надежным, предохраняющим от многих ошибок профессионального программиста, если этот язык не допускает автоматического преобразования типов. Но с другой — осознание необходимости, грамотное описание

справка

Следует отметить не упоминаемый нами ранее факт: VBA — ближайший родственник Visual Basic, который к середине 2021 года занимает 6-е место по популярности по индексу TIOBE (https://tiobe.com/tiobe-index/). При этом Делфи / Объектный Паскаль занимают 20-ю строчку. Но эту среду разработки программ на Паскале в школе не изучают. А классический Pascal, который изучают в школе, занимающий 3 место в 1993 г. (15 место в 2010-2015 гг.), в настоящее время фактически отсутствует в рейтинге языков

Рис. 1. Программа на языке Pascal ABC [Program in Pascal ABC]

Рис. 2. Программа на VBA [Program in VBA]

переменных — это проблема уже более высокого уровня понимания информационных процессов, которым значительная часть студентов первого курса пока не владеет.

Рассмотрим пример простейшей программы на языке Pascal (рис. 1).

После обязательного объявления переменных (требование языка Pascal) и деления одного целого числа на другое получаем ошибку. Оказывается, результат деления — непременно вещественное число, что не всегда очевидно выпускнику школы.

Выполним ту же задачу на VBA (рис. 2).

Программа выполняется без ошибок. Visual Basic автоматически присвоил всем переменным тип Variant. Это позволяет новичку, делающему первые шаги в программировании, сосредоточиться на процессе алгоритмизации задачи. И только потом, достаточно освоившись с базовыми понятиями и получив основные навыки кодирования, когда предлагаемые студентам задачи по уровню сложности

1-31 Microsoft Visual Basic - Книга! - [Modulel BHf -M*!

^ Ríe Edit View Insert Format Debug Run Tools Add-Ins Window Help . S X

\ 0 ll!0-i¿ll*4áSií& «i c* ! ► и □ M 1 & IS" Í5? » 1 ®

I [(General) i J |Programm55 Pill

Sub ProgrammS5() ж

a = 4

b = 2

с = a / b

MsgBox (c) End Sub 1 1 zj

d ~<l.......1

начинают требовать указания типов данных, преобразования типов данных, правильного объявления локальных и глобальных переменных, обучающиеся начинают осознавать необходимость применять строгую типизацию данных.

Безусловно, на профильные направления поступают достаточно сильные студенты, для которых описанные проблемы — давно пройденный этап. Они, в рамках процедурного программирования, свободно владеют базовыми алгоритмами, понимают, для чего нужно описывать переменные, знают толк в операторах ввода/вывода. Но как только появляется необходимость в разбиении алгоритма на модули и передаче данных из одной программы в другую, так обучающиеся забывают о строгих правилах Паскаля и с трудом осваивают информацию о формальных и фактических параметрах, передачах по ссылке и по значению. Тут уж не до сопоставления и преобразования типов, главное — научить их разбивать алгоритм на модули и устанавливать между ними корректные каналы связи.

VBA с его вариантным типом данных по умолчанию дает возможность сосредоточить внимание студента на сути алгоритма, а режим интерпретации часто позволяет исправлять логические ошибки по ходу работы программы, не прерывая ее и не тратя драгоценного времени на повторный ввод начальных данных. Синтаксис языка VBA предельно прост и логика написания операторов максимально приближена к человеческой логике: If... Then... Else — Если [истина]. То [делаем это]. Иначе [делаем вот это].

Отсутствие обязательного описания типов переменных позволяет легче объяснить суть структурного подхода, акцентировать внимание студентов на установку корректных связей между модулями с помощью наборов формальных параметров.

Язык VBA является золотой серединой. Он не так строг, как классический Паскаль, но при этом не допускает особых вольностей. Среди его

встроенных функций есть одиннадцать функций, предназначенных для явного преобразования типов, что позволяет программировать в парадигме надежных языков программирования, не доверяя неявным преобразованиям.

Удобство работы с VBA обусловлено технологией edit-and-continue, позволяющей разработчикам запускать программы, находить ошибки, исправлять их и продолжать работать с новым кодом. Это сильно отличается от почти всех остальных популярных языков программирования, вынуждающих разработчика компилировать работу каждый раз заново и после каждого изменения в тексте программы начинать снова.

Проблема ввода/вывода

Использование форматов для ввода/вывода данных всегда создавало серьезные проблемы при отладке программ. К примеру, программисты на старых версиях Фортрана существенную часть своего времени тратили на отладку процедур ввода/вывода именно из-за ошибок в форматах. Поэтому все современные языки (и Фортран, начиная с версии Фортран-77) включили возможность бесформатного чтения и записи данных. Однако такая форма обращения к данным хороша лишь для ввода с клавиатуры, при вводе из файлов и даже выводе нужно прилагать дополнительные усилия, чтобы информация была адекватно воспринята как компьютером, так и пользователем при оценке распечатанного результата.

VBA в применении к Excel дает нам полную свободу и наглядность в расположении исходных данных на листе Excel и выводе результатов. Нет форматов, нет слияния данных ни при вводе, ни при выводе. Объект Cells — ячейка — позволяет «перемещаться» по листу в любом направлении. Можно печатать таблицы, а оформление — заголовки к ним и подписи данных сделать после того, когда все отлажено. Для этого можно оставить несколько строк для заголовков, хотя изменения в программе по смещению таблиц

в дампе результатов, как правило, минимальны.

Возможность работы с несколькими листами и книгами — это еще один огромный плюс VBA для Excel. Можно заполнять эти листы из одной программы, можно из разных. Результаты все в одном месте, обозримы и однотипны.

Диаграммы

Часто для оценки качества своих результатов специалисту не хватает их визуализации. Для этого нужны графические приложения, куда можно было бы экспортировать результаты, чтобы построить графики и диаграммы. Этот недостаток тоже устраняется, если использовать среду MS Excel и VBA. На лист выводим результаты эксперимента, в соответствующих столбцах проводим модельные, теоретические, статистические расчеты — по своим или стандартным программам, а чаще — в их комбинации, и сразу же получаем возможность все визуализировать — гистограмма, точечная или пузырьковая диаграмма, график с маркерами и без. Вот почему преподаватели лабораторных работ по физике или теоретическим основам электротехники часто используют VBA.

Автоматизировать построение диаграмм в Excel средствами VBA очень просто с помощью трех строк кода — используя объект ActiveChart, сначала выбираем тип диаграммы (всего доступно более 70 типов), затем выбираем диапазон рабочего листа, содержащий данные, и, наконец, указываем, на каком листе строить диаграмму.

Если эти механические операции достаточно часты и обременительны по времени, используем еще одно преимущество VBA — Макрорекордер. О нем и поговорим в следующем разделе.

Макрорекордер

Макрорекордер, как понятно из его названия, — средство для записи макросов. Макрос — это еще одно название для VBA-программы, а Макрорекордер — средство для его автоматического создания.

Range("A1:E9").Select

Selection.Font.Bold = False Selection.Fontltalic = False With Selection.Font .Name = "Arial Narrow" .Size = 14

.Strikethrough = False .Superscript = False .Subscript = False .OutlineFont = False .Shadow = False

.Underline = xlUnderlineStyleNone .ThemeColor = xlThemeColorLight1 .TintAndShade = 0 .ThemeFont = xlThemeFontNone End With

Фрагмент макроса (пример) по форматированию выделенного фрагмента таблицы листа Excel [Fragment of a macro for formatting a selected fragment of an Excel spreadsheet]

Таблица

Текст программы для построения таблицы данных и диаграммы на основе таблицы [Program text for building a data table and a chart based on a table]

Подпрограмма table_)'() Подпрограмма Макрос1()

[Subroutine table_H)] [Subroutine Macro1()]

Sub table y() Sub Макрос1()

Pi = Atn(1#) * 4: fi = Pi / 3# Range(«A2:D11»).Select

n = 2: Cells(1, 1) = «t» ActiveSheet.Shapes.AddChart2(332, xlLineMarkers).Select

k = 1: Cells(k, n) = omg ActiveChart.FullSeriesCollection(1).Delete

For t = 1 To 10 ActiveChart.FullSeriesCollection(l).XValues =

«=^ct1!$A$2:$A$11»

k = k + 1 ActiveChart.Location Where:=xlLocationAsNewSheet

y = 0.0002 * Sin(omg * t + fi) End Sub

Cells(k, 1) = t: Cells(k, n) = y

Next t

n = n + 1

Next omg

Call Макрос1

End Sub

Принцип работы Макрорекордера похож на принцип работы магнитофона: нажатие кнопки инициирует запись тех действий, которые мы выполняем. Нажатие на вторую кнопку — запись останавливается. И такие записи можно воспроизводить неоднократно.

Конечно, с одной стороны, Макрорекордер позволяет написать только самые простые VBA-программы. Однако и он может принести много пользы. Например, можно «положить на горячие клавиши те слова, словосочетания, варианты оформления и т.п., которые часто приходится вводить (компьютер, файл, программное обеспечение и т.п.), — этим можно сэкономить много времени.

Но Макрорекордер незаменим, когда нам надо работать с объектами, запись которых в программе не поддается запоминанию и осмыслению неподготовленного человека. К примеру, фрагмент макроса по форматированию выделенного фрагмента таблицы листа Excel будет выглядеть так, как на фото (см. пример).

Человеку сложно запомнить и безошибочно воспроизвести такое большое количество параметров форматирования, но этот код записан Макрорекордером и этот код понятен.

Не менее востребован Макрорекордер и при форматировании ячеек листа Excel, и при создании графиков. К примеру, с помощью програм-

A A В С D E

1 t 1,5 2 2,5

2 1 l,89E-05 -7,9E-05 -0,00016

3 2 -0,00019 -4,7E-05 0,000138

4 3 0,000138 0,000154 -0,00012

5 4 7,37E-05 -0,0002 9,25 E-05

6 5 -0,0002 0,000166 -6,7E-05

7 6 9,25 E-05 -6,7E-05 3,93E-05

8 7 0,000123 -6E-05 -1ДЕ-05

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

9 8 -0,00019 0,000162 -l,7E-05

10 9 3,93E-05 -0,0002 4,5E-05

11 10 0,000162 0,000158 -7,2E-05

12

Рис. 3. Результаты работы программы по построению таблицы и соответствующей диаграммы с помощью макроса [Results of the program's work on constructing a table and a corresponding diagram using a macro]

Рис. 4. Фрагмент доклада с демонстрацией работы пользователя с формами, коды к которым написаны на VBA

[Report fragment with a demonstration of the user's work with forms whose codes are written in VBA]

мы tablejy построим таблицу функции y(x) = 2. • 10-4 • sin(wt + ф) (см. таблицу) для заданного набора частот w и времени, а по ней строим графики функций (рис. 3).

В данном случае программа построения графика (Макрос1) записана с помощью Макрорекордера и вызывать ее можно как автоматически из тела функции, строящей таблицу данных, так и непосредственно из среды Excel.

При изучении дисциплин «Информатика», «Информационные технологии» большую часть занятий занимает изучение текстовых и табличных процессоров. Но если после изучения приложений Excel и Word рассмотреть возможность автоматизировать работу этих приложений с помощью макросов на языке VBA, существенно повысится мотивация изучения программирования в рамках дисциплин, связанных с информационными технологиями.

VBA в научной работе

Современные программисты больше увлечены разработкой вебсайтов, мобильных приложений и компьютерных игр. И многие даже не предполагают другого применения языков программирования. Однако VBA достаточно мощный и универсальный инструмент в том числе и для серьезной научной работы. В 2009 году на Европейском геофизическом конгрессе в Вене на секции «Образовательные программы» нами было представлено совместное с выпускниками кафедры

исследование [8] по разработке пользовательского интерфейса для базы данных в прикладной области (рис. 4). В 2018 году в рамках Европейского конгресса по планетарным наукам EPSC2018 (Германия) мы также поделились своим опытом преподавания VBA в университете [9]. Наши доклады вызывают большой интерес со стороны зарубежных коллег и к нашему опыту преподавания языка, и к самому VBA и его возможностям в обучении, мы получили запросы на публикацию наших исследований в специализированных журналах.

В 2017 году на международной конференции SGEM2017 (Болгария) на секции «Информатика» был представлен доклад, посвященный опи-

Рис. 5. Схема прикладного проекта, демонстрирующего взаимодействие нескольких книг Excel со встроенными в них программами на VBA [Application project diagram demonstrating the interaction of several Excel workbooks with VBA programs embedded in them]

санию программного проекта для компьютерного моделирования планируемых наблюдений с лунной поверхности [10]. Проект был выполнен на VBA. В докладе мы отразили те достоинства этого языка, которые позволили создать гибкий, многофункциональный пакет программ (рис. 5), позволивший получить важные результаты для реализации планируемых экспериментов на поверхности Луны.

Заключение

Подводя итог, мы еще раз хотим подчеркнуть ключевые аргументы в пользу изучения языка VBA как базового в обучении студентов вуза основам программирования.

Во-первых, VBA — это язык, ко-Статья поступила торый, с одной стороны, при наличии

в редакцию 22.10.2021 большого набора удобных умолчаний

Список литературы

1. Уокенбах Дж. Excel 2013: профессиональное программирование на VBA = Excel 2013 Power Programming with VBA. — М.: Диалектика, 2014.

2. Фризен И.Г. Офисное программирование: учебное пособие. — Ростов-на-Дону: Феникс, 2010.

3. Зарипова Р.С., Ишмуратов Р.А. Среды разработки программных приложений как составная часть информационных технологий в подготовке технических специалистов. — NovaUm.Ru. — 2018. — № 11.

4. Ситников С.Ю., Ситников Ю.К. Компьютерные технологии: применение пакетов прикладных программ при работе студентов естественнонаучных специальностей в учебных лабораториях // Ученые записки ИСГЗ. — 2013. — № 1-2(11).

5. Ситников С.Ю., Ситников Ю.К. Промышленные пакеты прикладных программ в учебном процессе // Вестник Казанского государственного энергетического университета. — 2014. — № 22.

6. Петрова Н. Разработка Windows-подобного пользовательского интерфейса для работы с трехмерными векторами / Н. Петрова, Э. Копунова, З. Ширмамедова, Д. Злыгостев // Аллея науки. — 2018. — № 6; https://alley-science.ru/informacionnye_i_kommunikativnye_tehnologii_6_22_2018/.

7. Семакин И.Г. Информатика и ИКТ: учебник для 9 класса. 6-е изд. / И.Г. Семакин, Л.А. Залогова, С.В. Русаков, Л.В. Шестакова. — М.: Бином. Лаборатория знаний, 2013.

8. Petrova N., Tatarinov P., and Akutina M. Development of user interface and of the data base Earth, Moon and Planets in the VBA environment for teaching students in the Kazan state universities // Geophysical Research Abstracts, EGU General Assembly. — 2009. — Т. 11.

9. Petrova N., Sitnikov S. Aspects of teaching Visual Basic for Application for students of natural scientific specialties / European Planetary Science Congress. — Berlin, September 2018. — Т. 12; https://ui.adsabs.harvard.edu/abs/ 2018EPSC...12..514P/abstract.

10. Petrova N., Nefedyev Yu.A., Abdulmjanov T., Zagidullin A., Andreev A. The software complex for computer simulating the observation of stars from the lunar surface and calculating their selenographical coordinates // SGEM. — 2017. — Т. 17. — № 21.

11. Петрова Н.К., Сивков С.С., Емельянов Д.М., Хамитов Р.М. Разработка проекта тестирования студентов средствами с++ с применением бинарных файлов // Modern science. — 2021. — № 1-2.

12. Хамитов Р.М. Цифровизация образования и ее аспекты // Современные проблемы науки и образования. — 2021. — № 3.

и простейшего синтаксиса, позволяет сосредоточить внимание обучающихся на особенностях алгоритма. С другой стороны, возможности VBA включают в себя весь необходимый арсенал инструментов для программирования задач разного уровня сложности, в том числе и студенческих научных проектов (проектный метод обучения).

Во-вторых, мы показали, что наиболее эффективно применение VBA в сочетании с MS Excel — простая в освоении, но мощная платформа, пригодная и для выравнивания начальных навыков программирования у первокурсников (очников и заочников), и для инженерных расчетов технарей, и для естественников (физика, химия, биология), а также для экономистов и социологов. По поводу последних можно утверждать, что, как показывает практика последнего времени, специалисты гуманитарного профиля стремятся увеличить свою технологичность (ИТ-навыки, в том числе и навыки программирования, значимые для будущей профессиональной социализации) [12].

Возможности Макрорекордера, встроенного в редактор VBA, позволяют составлять структурированные многофункциональные проекты благодаря автоматическому программированию многих часто используемых, порою очень сложных, операций.

Важнейший аргумент в пользу VBA — это возможность офисного программирования. Доступность VBA и соответствующее повсеместное распространение благодаря встраиванию его в офисные приложения, которые есть практически на каждом компьютере. В интернете можно найти немало готовых макросов для офисных приложений, которые несложно адаптировать под любую конкретную задачу. Хотя макрос при желании можно написать и на Python и запустить его на LibreOffice.Calc («аналог Excel»), но такая «платформа» мало распространена. Стоит отметить и наличие большого числа литературы именно по VBA и Excel, как печатных изданий, так и онлайн ресурсов. ■

Teaching Visual Basic for Applications as a Basic Language for Technical University Students

N.K. Petrova1' 2, Kazan State Power Engineering University (KSPEU), Kazan Federal University (KFU), PhD (Ph. Math.), nk_petrova@mail.ru

S.Yu. Sitnikov, KSPEU, KFU, Assoc. Prof. PhD (Tech.), ssitnikov@mail.ru R.M. Khamitov, KSPEU, PhD, hamitov@gmail.com

1 2 Associate Professor, Senior Researcher of Physics Institute SRL, Kazan, Republic of Tatarstan

Citation: Petrova N.K., Sitnikov S.Yu., Khamitov R.M. Teaching Visual Basic for Applications as a Basic Language for Technical University Students, Kompetentnost' / Competency (Russia), 2021, no. 9-10, pp. 14-21. DOI: 10.24412/1993-8780-2021-9-14-21

key words

office programming, Python, Pascal, VBA, Excel, algorithmization, teaching methods, standard algorithms, office applications

References

Information technology and programming are among the most dynamically developing disciplines. There are often discussions in the university environment about which programming languages to give preference to when teaching students the basics of computer science and algorithmization, because sometimes the list of languages taught has a direct impact on the choice of the applicant's place of study. This question depends, first of all, on the direction of the student's training, according to which he is studying. A student of the IT direction will expect that after graduation he will have a fairly good command of several of the popular languages: Java, C++, C#, Python. Obviously, for graduates of IT specialties, these languages are necessary, also because they are in demand by employers, including leading IT companies. But are these popular languages suitable for all future specialists? After all, it is desirable to teach programming to future engineers (not IT-directions), chemists, economists, sociologists — students who did not prepare to become programmers, but for whom programming skills can become a powerful help in their future profession. The task of the initial stage of training for such students is to organize an easy, but high-quality entry into the world of programming. Here the question of choosing a language is even more important. At the Department of Computer Science and Information Management Systems (IIUS) Kazan State Power Engineering University has many years of experience in successfully teaching computer science and the basics of office programming to first-year students of technical and humanitarian specialties based on the Visual Basic for Applications (VBA) language, which is part of the Microsoft Excel spreadsheet processor.

1. Walkenbach J. Excel 2013: professional programming in VBA = Excel 2013 Power Programming with VBA, Moscow, Dialectics, 2014, 960 P.

2. Frizen I.G. Office programming: textbook, Rostov-on-Don, Phoenix, 2010, 239 P.

3. Zaripova R.S., Ishmuratov R.A. Environment developing software applications as a part of information technology in technical training, NovaUm.Ru, 2018, no. 11, pp. 28-29.

4. Sitnikov S.Yu., Sitnikov Yu.K. Computer technology: application software packages in the work of students in natural sciences teaching laboratories, Scientific Notes of ISHK, 2013, no. 1-2(11), pp. 171-174.

5. Sitnikov S.Yu., Sitnikov Yu.K. Industrial packages of applied programs in the educational process, Bulletin of Kazan State Power Engineering University, 2014, no. 22, pp. 339-345.

6. Petrova N., Kopunova E., Shirmamedova Z., Zlygostev D. Development of a Windows-like user interface for working with three-dimensional vectors, Alley of Science, 2018, no. 6, 6 P.; https://alley-science.ru/informacionnye_i_kommunikativnye_tehnologii_6_22_2018.

7. Semakin I.G., Zalogova L.A., Rusakov S.V., Shestakova L.V. Computer science and ICT: textbook for 9th grade, Moscow, Binom. Laboratory of Knowledge, 2013, 334 P.

8. Petrova N., Tatarinov P., and Akutina M. Development of user interface and of the data base Earth, Moon and Planets in the VBA environment for teaching students in the Kazan state universities, Geophysical Research Abstracts, EGU General Assembly, 2009, vol. 11, 126 P.

9. Petrova N., Sitnikov S. Aspects of teaching Visual Basic for Application for students of natural scientific specialties, Berlin, EPSC Abstracts, 2018, vol. 12, 514 P.; https://ui.adsabs.harvard.edu/abs/2018EPSC...12..514P/ abstract.

10. Petrova N., Nefedyev Yu.A., Abdulmjanov T., Zagidullin A., Andreev A. The software complex for computer simulating the observation of stars from the lunar surface and calculating their selenographical coordinates, SGEM, 2017, vol. 17, no. 21, pp. 687-694.

11. Petrova N.K., Sivkov S.S., Emel'yanov D.M., Khamitov R.M. Development of a project for testing students with c++ tools using binary files, Modern Science, 2021, no. 1-2.

12. Khamitov R.M. Digitalization and its aspects, Modern Problems of Science and Education, 2021, no. 3.

i Надоели баннеры? Вы всегда можете отключить рекламу.