Упрощение обучения английскому языку с помощью мобильных технологий

Автор: В. М. Татарников, Д. А. Бородин, А. А. Ковтун

Журнал: Современные инновации, системы и технологии.

Рубрика: Прикладные вопросы и задачи применения систем и технологий

Статья в выпуске: 5 (1), 2025 года.

Бесплатный доступ

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

Еще

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

Короткий адрес: https://sciup.org/14133009

IDR: 14133009   |   DOI: 10.47813/2782-2818-2025-5-1-2001-2009

Текст статьи Упрощение обучения английскому языку с помощью мобильных технологий

DOI:

Английский язык, как lingua franca (язык, используемый для общения между людьми, говорящими     на     разных     языках)

глобализованного мира, требует эффективных и доступных методов обучения [1,   2].

Традиционные подходы зачастую оказываются недостаточно гибкими и адаптированными к индивидуальным потребностям учащихся. Именно поэтому использование мобильных технологий открывает новые перспективы для упрощения и повышения эффективности процесса обучения английскому языку. Мобильные технологии предлагают гибкий и индивидуализированный подход к обучению, позволяя ученикам заниматься в удобное время и в удобном месте [3, 4]. Мобильные приложения и онлайн-платформы предлагают широкий выбор интерактивных упражнений, игр и других инструментов, делающих процесс обучения более увлекательным и эффективным. Доступность мобильных устройств и интернета делает мобильные технологии доступными для широкого круга пользователей, независимо от их географического положения и финансовых возможностей. Таким образом, использование мобильных технологий для упрощения обучения английскому языку является актуальной и важной задачей в современном мире.

МЕТОДЫ ПОДДЕРЖКИ ОБУЧЕНИЯ АНГЛИЙСКОМУ ЯЗЫКУ

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

  •    индивидуализация обучения:  мобильные

приложения позволяют адаптировать темп и сложность обучения к индивидуальным потребностям ученика;

  •    обратная связь: мобильные приложения могут предоставлять мгновенную обратную связь ученику, помогая ему выявлять и исправлять ошибки;

  •    разнообразие     методов:     мобильные

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

  •    доступность: мобильные приложения делают обучение доступным в любое время и в любом месте.

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

  •    мобильные                  приложения:

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

  •    гаджеты:    использование смартфонов,

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

ОПИСАНИЕ СУЩЕСТВУЮЩИХ РЕШЕНИЙ

В качестве существующих решений рассмотрены следующие [5, 6]:

  •    Онлайн-курсы: Многие платформы (Coursera, edX, SkyEng) предлагают онлайн-курсы по английскому языку с различными уровнями сложности и специализациями;

  •    Онлайн-репетиторы:          Возможность

заниматься с репетиторами онлайн через видеоконференции    (например,    italki,

Verbling);

  •    Лингвистические сообщества:   Онлайн-

  • платформы и форумы, где учащиеся могут общаться друг с другом на английском языке и получать помощь от более опытных пользователей.
  •    Мобильные приложения: комплексные или узконаправленные приложения (Duolingo, Grammarly).

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

ПОСТАНОВКА ЗАДАЧИ

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

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

Задача 2. Разработать программу согласно сформированному макету.

Задача 3. Выполнить тестирование приложения и сравнить результат с макетом.

ФОРМИРОВАНИЕ МАКЕТА И ВЫБОР ОБОРУДОВАНИЯ

Разработанная программа получила название «English grammar reference book» и представляет собой мобильное приложение для ОС Android, написанное на языке Java в среде разработки

«Android Studio» [3, 5]. Данная программа является примером реализации решения, которая будет доработана в будущем.

В данном примере разработаны два раздела: неправильные глаголы и времена. В разделе времена представлены 3 подраздела: past, present и future, а в каждом подразделе они описаны в разных типах: simple, continuous, perfect, perfect continuous. В разделе неправильные глаголы представлен неполный список неправильных глаголов, сортированных по алфавиту, и их перевод. Реализован поиск по первой, второй и третьей формах и по переводу. Макет данного примера представлен на рисунке 1.

Рисунок 1. Макет примера.

Figure 1. Example layout.

РЕЗУЛЬТАТЫ РАЗРАБОТКИ ПРОГРАММЫ

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

Класс ExampleItem представляет собой модель данных для элементов списка, отображаемого с помощью ExampleAdapter. Каждый объект этого класса содержит четыре текстовых поля (mtext1, mtext2, mtext3, mtext4), которые используются для заполнения TextView внутри каждого элемента списка.

Листинг 1. Класс EXAMPLEITEM public class ExampleItem { private String mtext1;

private String mtext2;

private String mtext3;

private String mtext4;

public String getMtext1() { return mtext1;

public void setMtext1(String mtext1) { this.mtext1 = mtext1;

} public String getMtext2() { return mtext2;

} public void setMtext2(String mtext2) { this.mtext2 = mtext2;

} public String getMtext3() { return mtext3;

} public void setMtext3(String mtext3) { this.mtext3 = mtext3;

} public String getMtext4() { return mtext4;

} public void setMtext4(String mtext4) { this.mtext4 = mtext4;

}

}

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

ExampleAdapter — это адаптер для работы со списком элементов в Android-приложении. Он наследуется от RecyclerView.Adapter и управляет представлением данных в виде списка. Этот адаптер используется для отображения данных, представленных объектами ExampleItem, которые содержат несколько текстовых полей.

Листинг 2. Класс E XAMPLE A DAPTER :

public      class      ExampleAdapter      extends

RecyclerView.Adapter { private ArrayList searchResult;

private ArrayList arraylist;

public static public static public static public static

String[] oArray;

String[] tArray;

String[] thArray

String[] trArray public     ExampleAdapter(Context     context,

ArrayList searchResult) {

LayoutInflater          inflater          =

this.searchResult = searchResult;

this.arraylist = new ArrayList<>();

} public static class ExampleViewHolder extends RecyclerView.ViewHolder { public TextView mtextview1;

public TextView mtextview2;

public TextView mtextview3;

public TextView mtextview4;

public   ExampleViewHolder(@NonNull View itemView) { super(itemView);

mtextview1= itemView.findViewById(R.id.txtform1);

mtextview2= itemView.findViewById(R.id.txtform2); mtextview3= itemView.findViewById(R.id.txtform3); mtextview4= itemView.findViewById(R.id.txtform4); } }

@NonNull

@Override public        ExampleAdapter.ExampleViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View                   v                   =

@Override public     void     onBindViewHolder(@NonNull

}

} else { if (Fil1) { for (ExampleItem item : arraylist) { if

(item.getMtext1().toLowerCase(Locale.getDefault())

.startsWith(charText)) {

}

}

} else if (Fil2) { for (ExampleItem item : arraylist) { if

(item.getMtext2().toLowerCase(Locale.getDefault())

.startsWith(charText)) {

}

}

} else if (Fil3) { for (ExampleItem item : arraylist) { if

(item.getMtext3().toLowerCase(Locale.getDefault())

.startsWith(charText)) {

}

}

} else if (Fil4) { for (ExampleItem item : arraylist) { if

(item.getMtext4().toLowerCase(Locale.getDefault()) .startsWith(charText)) {

}

}

}

} notifyDataSetChanged(); }

}

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

TabsPagerFragmentAdapter — это адаптер для управления вкладками (Tabs) в приложении с использованием FragmentPagerAdapter. Этот класс позволяет отображать две вкладки: *Irregular verbs* и *Tenses*, каждая из которых связана с соответствующим фрагментом (Fragment1Activity и Fragment2Activity).

Листинг 3. Класс T ABS P AGER F RAGMENT A DAPTER :

public class TabsPagerFragmentAdapter extends FragmentPagerAdapter { private final String[] tabs;

public       TabsPagerFragmentAdapter(@NonNull

FragmentManager fm) { super(fm);

tabs = new String[]{ "Irregular verbs", "Tenses", };

}

@NonNull @Override public Fragment getItem(int position) { switch (position) { case 0: return

Fragment1Activity.getInstance(); case 1: return

Fragment2Activity.getInstance();

default: return null; }

}

@Nullable

@Override public CharSequence getPageTitle(int position) { return tabs[position];

}

}

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

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

Листинг 4. Класс FRAGMENT1ACTIVITY public class Fragment1Activity extends Fragment implements AdapterView.OnItemSelectedListener { private static final int activity_fragment1 = R.layout.activity_fragment1;

public static Fragment1Activity getInstance() { Bundle args = new Bundle();

Fragment1Activity    fragment    =    new

Fragment1Activity();

fragment.setArguments(args);

return fragment;

} public      static      ArrayList searchResult;

private ExampleAdapter mAdapter;

private static final String[] paths = {

"Поиск по инфинитиву",

"Поиск по 2-ой форме",

"Поиск по 3-ей форме",

"Поиск по переводу"

};

public

boolean

Fil1

= true;

public

boolean

Fil2

= false

public

boolean

Fil3

= false

public

boolean

Fil4

= false

@Nullable

@Override public       View       onCreateView(@NonNull

LayoutInflater   inflater,   @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

View                 view                 = inflater.inflate(activity_fragment1,    container, false);

// RecyclerView setup

RecyclerView        mRecyclerView        = view.findViewById(R.id.recyclerview);

mRecyclerView.setHasFixedSize(true);

mRecyclerView.setLayoutManager(new

LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false));

// Load data oArray= getResources().getStringArray(R.array.form_one);

tArray= getResources().getStringArray(R.array.form_two);

thArray= getResources().getStringArray(R.array.form_three);

trArray= getResources().getStringArray(R.array.form_trans);

searchResult = populateList();

mAdapter = new ExampleAdapter(getContext(), searchResult);

mRecyclerView.setAdapter(mAdapter);

// Spinner setup

Spinner              spinner              = view.findViewById(R.id.spinner);

ArrayAdapter   adapter2   =   new

spinner.setAdapter(adapter2);

spinner.setOnItemSelectedListener(this);

// EditText setup

EditText             editText             = view.findViewById(R.id.txtsearch);

editText.addTextChangedListener(new TextWatcher() {

@Override public                            void beforeTextChanged(CharSequence s, int start, int count, int after) {}

@Override public void onTextChanged(CharSequence s, int start, int before, int count) {}

@Override public void afterTextChanged(Editable s) { mAdapter.filter1(String.valueOf(s), Fil1, Fil2, Fil3, Fil4);

} });

return view; } private ArrayList populateList() {

ArrayList    list    =    new

ExampleItem model = new ExampleItem();

model.setMtext1(oArray[i]);

model.setMtext2(tArray[i]);

model.setMtext3(thArray[i]);

model.setMtext4(trArray[i]);

} return list;

}

@Override public   void   onItemSelected(AdapterView> parent, View view, int position, long id) {

Fil1 = position ==0;

Fil2 = position ==1;

Fil3 = position ==2;

Fil4 = position ==3;

}

@Override public void onNothingSelected(AdapterView> parent) {} }

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

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

Класс Fragment2Activity представляет собой фрагмент, который содержит ViewPager с вкладками (TabLayout). Каждая вкладка переключается между различными внутренними фрагментами,    управляемыми    адаптером

TabsPagerFragment2Adapter.

Листинг 5. Класс FRAGMENT2ACTIVITY public class Fragment2Activity extends Fragment { private static final int activity_fragment2 = R.layout.activity_fragment2;

@NotNull public static Fragment2Activity getInstance() {

Bundle args = new Bundle();

Fragment2Activity    fragment2    =    new

Fragment2Activity();

fragment2.setArguments(args);

return fragment2;

}

@Override public       View       onCreateView(@NotNull

LayoutInflater inflater, ViewGroup container, @Nullable Bundle savedInstanceState) {

View                 view= inflater.inflate(activity_fragment2,    container, false);

// Настройка ViewPager и TabLayout

ViewPager           viewPager= view.findViewById(R.id.viewpager2);

TabLayout            tabLayout= view.findViewById(R.id.tabselect2);

// Связывание ViewPager с TabLayout tabLayout.setupWithViewPager(viewPager);

// Установка адаптера для ViewPager

TabsPagerFragment2Adapter adapter = new

TabsPagerFragment2Adapter(getChildFragmentManager( ));

viewPager.setAdapter(adapter);

return view;

}

}

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

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

Листинг 6. Класс F RAGMENT 3A CTIVITY :

public class Fragment3Activity extends Fragment { private static final int activity_fragment3 = R.layout.activity_fragment3;

@NotNull public static Fragment3Activity getInstance() {

Bundle args = new Bundle();

Fragment3Activity    fragment3    =    new

Fragment3Activity();

fragment3.setArguments(args);

return fragment3;

}

@Nullable

@Override public       View       onCreateView(@NonNull

LayoutInflater   inflater,   @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { return inflater.inflate(activity_fragment3,    container, false);

}

} public class Fragment4Activity extends Fragment { private static final int activity_fragment4 = R.layout.activity_fragment4;

@NotNull public static Fragment4Activity getInstance() {

Bundle args = new Bundle();

Fragment4Activity    fragment4    =    new

Fragment4Activity();

fragment4.setArguments(args);

return fragment4;

}

@Nullable

@Override public       View       onCreateView(@NonNull

LayoutInflater   inflater,   @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { return inflater.inflate(activity_fragment4,    container, false);

}

} public class Fragment5Activity extends Fragment { private static final int activity_fragment5 = R.layout.activity_fragment5;

@NotNull public static Fragment5Activity getInstance() {

Bundle args = new Bundle();

Fragment5Activity    fragment5    =    new

Fragment5Activity();

fragment5.setArguments(args);

return fragment5;

}

@Nullable

@Override public       View       onCreateView(@NonNull

LayoutInflater   inflater,   @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { return inflater.inflate(activity_fragment5,    container, false);

}

}

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

Листинг 7. Класс M AIN A CTIVITY :

public class MainActivity extends AppCompatActivity { private static final int activity_main = R.layout.activity_main;

@Override protected         void         onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(activity_main);

initTabs();

} private void initTabs(){

ViewPager           viewPager            = findViewById(R.id.viewpager);

TabsPagerFragmentAdapter adapter = new TabsPagerFragmentAdapter(getSupportFragmentManager ());

viewPager.setAdapter(adapter);

TabLayout            tabLayout            = findViewById(R.id.tabselect);

tabLayout.setupWithViewPager(viewPager);

} }

ТЕСТИРОВАНИЕ И СРАВНЕНИЕРЕЗУЛЬТАТА С МАКЕТОМ

При запуске приложения, нас встречает окно с неправильными глаголами. Можно выбрать тип поиска и ввести часть слова, тогда программа убирает из списка ниже глаголы, где нет символов, введенных в поисковую строку (рис. 2):

Рисунок 2. Раздел «I RREGULAR VERBS ».

  • Figure 2.    Section "Irregular verbs".

Далее можно перейти в раздел «времена», где выводится на экран правило построения предложения с использованием определенного времени и его типа и различные примеры его использования (рис. 3):

Рисунок 3. Раздел «T ENSES ».

  • Figure 3.    Section "Tenses".

В результате тестирования, выполнив сравнения с макетом, можно сделать вывод о том, что результаты работы приложения и макета совпадают.

ЗАКЛЮЧЕНИЕ

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

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

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

Статья