DOU Проектор: Author’s vocabulary — вивчення іноземних мов у контексті програмування

От редакции:
В рубрике DOU Проектор все желающие могут презентовать свой продукт (как стартап, так и ламповый pet-проект). Если вам есть о чем рассказать — приглашаем поучаствовать. Если нет — возможно, серия вдохновит на создание собственного made in Ukraine продукта. Вопросы и заявки на участие присылайте на  Данный адрес e-mail защищен от спам-ботов, Вам необходимо включить Javascript для его просмотра. .

Початок

Вітаю всіх! Мене звати Олександр Матвієнко. Вищу освіту я отримав за напрямом “Менеджмент організацій”, але 7 років працював на посаді асистента. А в свої 30 років вирішив стати програмістом. Хоча багато хто каже, що вже пізно, але поживемо — побачимо.

Звісно ж, в процесі навчання виникла необхідність читати, і бажано англійською. Англійську мову я “вчив” і в школі, і в університеті, і самоосвітою займався. Але цього було мало, дуже мало. Базові знання граматики в мене є, а от словниковий запас — не дуже. Я почав займатися з програмами Lingvo Tutor, Shooting Gallery (Bridge to English), також пробував користуватися онлайн-ресурсами busuu, lingualeo. Кожен продукт по-своєму класний, але, на мій погляд, вони мають деякі недоліки, коли мова йде про вивчення іноземних мов у певному контексті (наприклад, програмування).

Я не філолог, але хочу викласти вам свій власний погляд на проблему поповнення словникового запасу іноземними словами. Як звичайний користувач, я бачу наступні проблеми:
— Існуючі програмні комплекси пропонують вам вчити ті слова, які вони вважають потрібними;
— Як альтернативу вам пропонують створювати власні словники.

Розглянемо кожну проблему детальніше.

1. Вчити те, що пропонують.

Це найбільш швидкий і зручний спосіб. Але, як програмісту-початківцю, мені хотілося б спочатку вивчити ті слова, які мені потрібні, щоб читати технічну літературу і переглядати відео в оригіналі. Тому не бачу сенсу витрачати свій час на те, щоб вчити такі слова як “риболовецький гачок”, “єпископ”, “рефрен”, “сажотрус”, “штемпелювати” і т.п. Так, теоретично всі слова потрібні, але я хотів би вивчити спочатку ті, слова, які мені потрібні в даний момент.

До того ж тут виникає ще одна проблема. Значення англійських слів інколи сильно відрізняються в залежності від того, де вони вживаються. Наприклад, ось як перекладає Lingvo слова на російську мову:

ТерминПеревод (общий словарь)Перевод ( компьютерный словарь)
logбревно; колода; чурбан;
заготавливать (вырубать) лес;
пилить лес на стройматериалы
запись в журнале регистрации событий;
журнал регистрации [событий];
регистрировать
hackрубить, разрубать, прорубать;
кромсать; разбивать на куски;
незаконно получать доступ
нудная работа, тяжёлая работа
заниматься тяжёлой работой
заниматься хакерством
pipe(курительная) трубка;
свирель, дудка, свисток, волынка;
труба, трубопровод
программный канал;
конвейер [команд]

А який переклад нам пропонують вчити більшість готових рішень? Звісно, загальний. Тому, навіть після вивчення таких значеннь слів, читання книжок по програмуванню англійською мовою перетворюється в дуже цікаву пригоду.

2. Самостійно створювати словники.

Для експерименту візьмемо програму Lingvo Tutor і зробимо прості розрахунки. Припустимо, щоб створити одну словарну статтю методом “копі-паст”, вам знадобиться 30 секунд, а ви бажаєте створити словничок на 5000 слів. Отже:
30 секунд * 5000 слів =150 000 секунд = 42 години

Тобто на створення словничка на 5000 слів вам потрібно безперервно протягом 42 годин клацати мишкою! Але це ще не все. Які ж слова вчити в першу чергу, а які можна залишити “на потім”?

Ну, і перед тим, як ми перейдемо до вирішення проблеми, розглянемо ще одну пораду з вивчення іноземних мов: слухати пісні, дивитися фільми і читати книжки в оригіналі. Я не стану заперечувати дієвість цього методу, але в мене є великі сумніви щодо його ефективності. Чи багато користі ви отримаєте від перегляду фільму, якщо ваш словниковий запас дуже слабкий? А чи отримаєте ви якесь задоволення? А хтось намагався читати книги по програмуванню із словником? Доки знайдеш потрібний переклад слова, забуваєш, про що йде мова.

Реалізація

Пропоную перевернути все догори ногами. Спочатку вчимо слова і лише після цього приступаємо до перегляду фільмів і читання книжок. Тоді ви дійсно отримуєте задоволення від процесу навчання і вчите саме те, що вам потрібно. Але ж як це зробити враховуючи, що на створення словника на 5000 слів (товстенька книга по програмуванню) потрібно 42 години, а на 1000 слів (середній фільм) — приблизно 8 годин. І знову ж: які слова вчити?

Я спробував реалізувати цю ідею, створивши програму Author’s vocabulary. Процес відбуваєтьсчя наступним чином:

1. Спочатку створюємо базу із словників. В залежності від потреби, можна використати, наприклад, загальний словник, щоб вчити загальновживані значення слів, комп’ютерний словник, щоб вчити англійську в контексті програмування тощо. Крім того, можна самому обирати мову перекладів, що дозволило мені встановити англо-український словник, чого я не міг зробити в жодному згаданому раніше рішенні.

2. Шукаємо текст книги або субтитри до фільму, слова із яких бажаємо вчити. В якості джерела навчання можна брати будь-який текст. До того ж тут з’являється цікава можливість: бажаєте вчити англійську в контексті програмування — берете книгу по програмуванню, медицину — по медицині, тільки починаєте вчити англійську — беріть буквар :). В будь-якому випадку, це дозволяє вам гнучко підбирати тематику і складність навчання. І вчити тільки ті слова, які вам потрібні.

3. Парсимо підготовлений текст. Програма автоматично до кожного слова приєднує із вказаного словника переклад і контекст уживання слова із запропонованого вами тексту.

4. Ну і вчимо. Тут поки що все просто: спочатку ознайомлюємося із значеннями слів, а потім вводимо відповіді з клавіатури або голосовим вводом (з англійською все ок, але Microsoft не всі мови підтримує). Заради забави також реалізував голосове управління у вікні вивчення (поки тільки en-US, en-GB).

5. Вся статистика прикріплюється до словників. Тому ви вільно можете вчити одні і ті ж слова, використовуючи різні джерела. Після того, як ви вивчили конкретне слово, воно відразу позначається як вивчене у всіх пов’язаних вокабуляріях (списках слів, які вам треба вчити). Тому, якщо ви вивчите 3000 слів із однієї книги, при вивченні слів з наступної книги вам треба буде довчити тільки нові слова, що з кожним разом буде займати все менше часу.

Написав я програму на C#+ XAML. База даних: SqlLocalDB 2012.

Це перша програма, яку я вирішив викласти в відкритий доступ. Раніше дистрибуцією програм не займався. Нашвидку створив інсталятор за допомогою ClickOnce, але, як з’ясувалося пізніше, фільтр SmartScreen блокує програму (я так розумію, що це через те, що в мене немає сертифіката видавця). Щоб запустити програму, потрібно знайти маленьке посилання “Додаткова інформація” і там дозволити запуск. Але більшість користувачів відразу лякаються і запитують мене про віруси і шпіонів.

Для тих, хто мені не довіряє, я вирішив викласти код у відкритий доступ.

Ще хочу зауважити щодо словників. В Інтернеті продається все — музика, фільми, книжки, а от більшість добротних словників — шифруються. І це створює певні труднощі для звичайних користувачів, які звикли все отримувати із коробочки: потрібно знайти словник, імпортувати його. Але тим, кому треба, думаю знайдуть потрібні словники, адже вони існують :).

Подальші плани

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

В дійсності навряд чи буду робити із цієї ідеї цукерочку, адже, на жаль, я не маю ні знань, ні досвіду, ні фінансових можливостей для цього. Тому і вирішив поділитися ідеєю зі спільнотою DOU. Як на мене, це класна ідея, і вона має жити.

Похожие статьи:
Компания Samsung Electronics представила на форуме CIS в Малаге обновление популярной линейки ATIV для европейского рынка – Samsung ATIV Book 9 2014 Edition и Samsung...
Новые версии HandBrake 1.0.0 Rust 1.14 FreeDOS 1.2 Kubernetes 1.5 Visual Studio Code 1.8 TypeScript 2.1 Ruby 2.4.0 OpenCV 3.2 Python 3.6.0 Qt Creator 4.2 Xen 4.8 PHP 7.1.0 Интервью Управляющий...
В базе данных бенчмарка GFXBench появились очередные ранее не представленные официально устройства — планшеты Samsung SM-T718 и SM-T813....
Похоже, что тренд удаленной работы в Украине набирает обороты. Это подтверждает рост количества публикуемых вакансий на DOU,...
Міністерство юстиції України 19 грудня повідомило про масштабний збій в роботі державних реєстрів. Згодом очільниця...
Яндекс.Метрика