Сучасна диджитал-освіта для дітей — безоплатне заняття в GoITeens ×
Mazda CX 5
×

[Освіта в Україні] Завдання по основам програмування на факультеті «Прикладна Лінгвістика»

Дорогі доу грамадяни,
Мене попросили допомогти вирішити практичні завдання стосовно програмування які викладають на факультеті «Прикладна Лінгвістика» . Я був негативно здивований неграмотністю опису завдань.

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

Як ви думаєте чи потрібно філологам основи програмування ? Якщо так, то що повинні викладати?


👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

У наших вищих навчальних закладах неграмотність завдань та оцінювання — це напевне цілком нормально.
Навчаюсь на другому курсі програмування і у відповідь на свої лабораторні роботи отримуємо рандомні бали. Питаємо звідки — відповідають що це «приблизно», тому що ітак ніхто сам не робив. Очевидно ж, нащо перевіряти.
Неправильні бали — автозаміна.
Неправильний переклад з російської — буває.
Виставлені дедлайни чи вимоги за день до здачі — ви ж ітак в останню ніч робите.
Матеріалу контрольних ми не знаємо, тому що на лекціях ми дивились фільм-біографію математика польською мовою. Правда, польської ми не чули тому що не змогли пояснити як включити звук при демонстрації екрану.
Пари короткі. Питання є? Ну тоді гарного дня. Відповіді на пошту присилають транслітером, спочатку пару днів чекаєш відповіді, потім пару годин розшифровуєш що там написано.
До кожної лабораторної роботи ми писали код на обраній мові. От ніби пишеш, стараєшся, а в результаті немає різниці чи це хардкод чи щось робоче, тому що в результаті попередять і попросять переписати все на одну мову програмування. З джави на джаву переписати? Якщо викладач не розбирається в тому що вимагає, то як студентам це вивчити?
І тут же писати код на листочку та конспект, щоб показати в камеру зуму.
При таких розкладах код у текстовому редакторі мудл — це ще дуже добре)
Це один з наших предметів. Можна говорити і про решту 6. Довго буде)
P.S. Знаю, що не всі викладачі так відносяться. І студенти також не золото. Але маємо що маємо

Коротко об образовании в Украине: филологи делают практические задания по программированию. Вай, собственно, нот ))

Это не филологи (автор темы ошибся с заголовком), это прикладная лингвистика — совсем другой зверь.

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

А программисты — по филологии)

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

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

Типун им на язык

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

Як ви думаєте чи потрібно філологам основи програмування ?

Таке — точно ні. Текст завдань — незрозуміла каша з розумних слів.
Форма написання результату в текстовій формі — взагалі неприйнятна.

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

Того, хто писав це завдання, в принципі неможна допускати до викладання.

«Застосувати ...типи даних для програмування задачі мовою програмування» — тот кто эту задачу сформулировал похоже дупля не отбивает в том, что преподает.

«Застосувати ...типи даних для програмування задачі мовою програмування» — тот кто эту задачу сформулировал похоже дупля не отбивает в том, что преподает.

А в чем проблема? И зачем вы вырезали слово «комбинированные»? (комбинированные типы данных — это типо рекорды/объекты).

Никакой проблемы. Просто люди так не говорят. Люди говорят «Напишите программу, которая делает то-то и то-то...». А текст на скринах — классический волапюк совковых учебных заведений, где преподаватель преподает то, что перед лекцией сам в методичке вычитал.

Просто люди так не говорят.

Это все же отличается от утверждения:

тот кто эту задачу сформулировал похоже дупля не отбивает

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

Напишите программу, которая делает то-то и то-то...

Прекрасно.
Наша задача проверить как студент умеет работать со структурами и массивами. На каком основании вы не будете засчитывать решение где «строка» прочитана в 10 глобальных переменных вместо 1 структуры?

Вот пример вопроса по джава:
Яка колекція зберігає лише унікальні елементи у порядку їх додавання?
Ответ студента SetUniqueList — как бы и правильно, но знание стд библиотеки не подтверждает.

Ставя задачи «на нормальном языке», получаете часто наиболее простые решения. Например, многопоточную программу, в которой все операции под глобальным локом (то есть в один момент времени работает 1 поток)

Ставя задачи «на нормальном языке», получаете часто наиболее простые решения.

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

Наша задача проверить как студент умеет работать со структурами и массивами.

А должна быть задача научить студента думать, и применять имеющийся у него арсенал инструментов. Если он сможет решить задачу без массивов — уже молодец. Можно указать на проблемы его решения, подсунуть хинт на тему массивов и посмотреть как человек будет думать над рефакторингом. Пользы от этого процесса для студиозуса будет в миллиард раз больше, чем от «напишите программу на языке программирования с использованием массивом символов с посимвльным вводом» (спасибо, еще раз проблевался).

И это прекрасно, респект и уважуха за рабочее простое решение.

Что-то мне здается что за такое «простое решение» вы на работу человека не возьмете :)

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

Сюрприз: тех кто хочет научится единицы.
Но высокопарный вброс засчитан.

Еще раз:

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

Указать можно.
Но:
1) На потоке у вас 30-90 человек. Возьмем 30, проверка лабы так чтобы не вдумываться 15 мин, то есть на формальные отписки (без ответов на вопросы и тд) уходит 7.5 часов. А если вдумчиво проверять и еще объяснять, то умножаем на 2-3. И это 1 оптимистический заход.
2) Те кто нормально сдают лабы в срок, как правило все уточняют зарание и не нуждаются в «указаниях» которые вы предложили.
А те кто нуждаются (позволяют себе повесить глобальный лок и тд), сдают лабы в последний момент. Завернуть с указанием не получится, потому что надо или допускать к зачету или на доп сессию.
А если отправлять на доп сессию, то повторяю вопрос: на каком основании? Мне не понравилось как вы сделали? (код то работает)

UPD.
Кстати на контрольных, зачетах, экзаменах стоит именно задача «проверить знания», и тот текст как раз из чего-то похожего на «контрольний захід». А обучение происходит во время семестра.

Что-то мне здается что за такое «простое решение» вы на работу человека не возьмете :)

Речь идет о студентах кагбе.

Мне даже стало немого интересно зачем вы ищете оправдания этому днищу. Вот пример учебного упражнения из раздела Data Structures прекрасной книги Скиены (The Algorithm Design Manual):

Write a program to reverse the direction of a given singly-linked list. In other words, after the reversal all pointers should now point backwards. Your algorithm should take linear time.

Вот пример упражнения из не менее замечательной Purely Functional Data Structures Окасаки:

Inserting an existing element into a binary search tree copies the entire search path even though the copied nodes are indistinguishable from the originals. Rewrite insert using exceptions to avoid this copying. Establish only one handler per insertion rather than one handler per iteration.

Почему они могут сформулировать задачи человеческим языком (причем задачи, которые чуть посложнее «страданий» в исходном посте), а преподаватели несчатных лингвистов — нет? Может потому, что в одном случае человек преподает то, что понимает, а в другом — нет? По-моему ответ вполне очевиден.

На потоке у вас 30-90 человек. Возьмем 30, проверка лабы так чтобы не вдумываться 15 мин, то есть на формальные отписки (без ответов на вопросы и тд) уходит 7.5 часов.

На потоке 90 человек — это на лекциях окей. На практике должно быть меньше — иначе это голимая профанация.

Мне даже стало немого интересно зачем вы ищете оправдания этому днищу

Я не ищу оправдания, я указываю на то что вы подгоняете реальность под свое желание «зачмырить это днище». Я просто хочу показать вам ситуацию как она есть.

Почему они могут сформулировать задачи человеческим языком
binary search tree
search path
handler per insertion rather than one handler per iteration.

Снова же почему это лучше чем комбинированные типы данных?
«Нормальность» языка определяется тем привычен он вам или нет, это субъективное понятие.

На потоке 90 человек — это на лекциях окей. На практике должно быть меньше — иначе это голимая профанация.

На 1 практике их меньше, но на всех практиках их все равно весь поток. У перподов есть нагрузка (за которую им начисляют ЗП). Если вы беретесь вести курс, то научить вам прийдется весь поток и у вас будет все те же 7.5-22 часа в неделю на 30 человек на лабу, а на 90 — 22-66 часов в неделю.
Мы конечно можем переместится в мир где у препода есть 5 ТФ, которые проверяют все за него и так же готовы вкладывать свое время в обучение студней, как вы советовали.

Проблема вашего подхода в том что он не масштабируется. Он нормально работает, когда у вас 1-5 падаванов, которые заинтересованы в получении знаний, но физически не реализуем за вменяемые деньги на группах 30-90 человек.

Снова же почему это лучше чем комбинированные типы данных?

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

Если вы беретесь вести курс, то научить вам прийдется весь поток и у вас будет все те же 7.5-22 часа в неделю на 30 человек на лабу, а на 90 — 22-66 часов в неделю.

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

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

Ровно так же как и за формулировки, которые вы привели.

Еще раз:

«Нормальность» языка определяется тем привычен он вам или нет, это субъективное понятие.
Ровно так же как и за формулировки, которые вы привели

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

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

Сдаетесь потому что не можете объяснить в чем разница? Зачем сдаваться если у вас есть вменяемые аргументы?

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

Вот этого блока не было, когда я отвечал на предыдущий комент, поэтому отвечу сейчас:

Повторяю еще раз (хотя эти фразы были в моем коменте, когда вы на него отвечали):

Мы конечно можем переместится в мир где у препода есть 5 ТФ, которые проверяют все за него и так же готовы вкладывать свое время в обучение студней, как вы советовали.
но физически не реализуем за вменяемые деньги на группах 30-90 человек.

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

UPD.
www.iso-architecture.org/42010/cm/index.html

Вот пример «нормального» языка из реального мира.

Я про кортежи подумал, тоже вполне себе комбинированные

let tuple = (“Головач”, “Лена”, 42)
let surname = tuple.0
let name = tuple.1
let age = tuple.2
let isRetired = age >= 35
Я про кортежи подумал, тоже вполне себе комбинированные
Есть терминология с которой я (и скорее всего вы тоже) не знаком. Чтобы понять что хотят надо почитать их конспект и определиться с терминами.

1. дуже неясно
2. схоже на те, що:
1) Зчитати багаторядковий текст з файлу
2) Брати по 1 рядку
3) Розділити на слова
4) Записати в масив
5) Посортувати їх за алфавітом в ньому
6) Вивести в файл і в екран
1-6 етапи виділити в окремі параметризовані ’процедури/функції’

Первое — массивы
Второе — частотный анализ

Завдання які дають філологам по основам програмування
факультеті «Прикладна Лінгвістика»

Прикладная лингвистика — это немного не про филологов. Это всякие НЛП и тд.

був негативно здивований нечіткістю опису завдання.

Что именно там не четко? Есть терминология с которой я (и скорее всего вы тоже) не знаком. Чтобы понять что хотят надо почитать их конспект и определиться с терминами.

Одно что напрягает так это наличие опечаток в постановке задачи («іх файлів», «промішні», «екрак»).

1. Передай привет составляющему задания, он не только не умеет их составлять, а еще и очепятки делает с завидной регулярностью.
2. Да, по сравнению с тем что я иногда читаю, это еще ± понятно (хотя я студент еще :( )
3. Если могёшь в указатели — используй С (оба задания решаются с ним за пару часов).
---
Прикладная лингвистика имеет таки смежные разделы с матаном / прогой, поэтому умение писать хоть какой-то код (вместо того, чтобы на бумажке всё считать) пригодится.

Скорее всего препод не знает С

это ж филологи, им нада в тексте поиспралять ошибки а не код писать.

Не вперше зустрічаю подібні завдання для студентів не айтішників

Прикладна лінгвістика — як раз майбутні айтішники, для проектів типу Grammarly.
У мене племінниця там вчиться, програмування там трохи недолуге, але напрямок вцілому вірний — пиляють свої велосипеди для NLP.

Училась там, с 3 курса работаю программистом. Студентам там до Граммарли как до Луны, чтоб не работать кассиром после этой шарашки надо забить на всех преподов, не слушать ни одного их слова и самой пахать (как и везде, собственно)

Підписатись на коментарі