Написание этого "опуса" побуждает мой опыт и программиста и преподавателя. Здесь уже много говорилось о "знаниях" студентов. Я, в данном случае, не хочу говорить о самих студентов это особый разговор для другой темы. Меня
волнует, как преподается программирование. Я не хочу сказать, что преподаватели плохие. Преподаватели разные, как и в любом институте и это хорошо. Мне не нравится, прежде всего, чему учат, т.е. попросту говоря учебные планы. Конечно, программирование в массовом порядке преподают не так давно и стандарты и учебные планы и, я бы сказал еще традиции преподавания, не устоялись. Проблема в Паскале. На мой взгляд, преподавание Турбо Паскаля губит многих студентов на корню. Я попытаюсь объяснить, в чем здесь проблема. На мой взгляд, в технологии программирования, чем и следует овладеть студенту, присутствуют следующие компоненты: алгоритм, язык программирования, среда программирования, технология разработки ПО, среда выполнения (обычно ОС). Так вот, по моему глубокому убеждению, на какие бы курсы не было разбито преподавание программирования, любой курс должен преподаваться как курс программирования. Другими словами, среда программирования, например Windows не может изучаться иначе как через само программирование. Кроме этого, в каждом курсе программирования должны присутствовать все компоненты программирования. Если бы это удалось сделать, то, мне кажется, мы бы сдвинули обучение программированию с нулевой (или отрицательной) точки. Что же происходит с Турбо Паскалем. Он изучается очень подробно, два семестра. Теперь вдумайтесь в следующее: нигде и никто уже давно не пишет прикладные программы на Турбо Паскале 7.0. Почему? А потому-то этот продукт был предназначен для программирования в операционной системе MS DOS. Но этой системы уже нет в природе - Windows только эмулирует ее, чтобы дать возможность запускать программы 15-летней давности. И вот бедные студенты два семестра программируют на ТурбоПаскале, совсем не понимая, что они программируют в MS DOS и не зная какое это отношение имеет к Windows. Более того, они изучают даже те темы, которые уж никак нельзя пристегнуть к Windows - графику, файлы и т.п. И вот проучившись два семестра, не понявший, где он программировал студент, переходит к Delphi, и начинает программировать уже в Windows, до конца так и поняв, что это такое. При этом с самой ОС он опять не взаимодействует, но это уже другой разговор. Возникает вопрос - зачем нужен Турбо Паскаль? Если мы принимаем, что преподавать алгоритмы надо в отрыве от всего остального, почему не взять, например, какую-нибудь программу для дошкольников - управлять какой-нибудь лягушкой или кенгуренком. Результат будет точно тот же самый, но без введения студента в заблуждение, так как он здесь прекрасно поймет, что программирует не в Windows. Если кто-то мне скажет, что паскаль помогает затем программировать на Дельфи. Но, во-первых, Дельфи не должен быть самоцелью, а во-вторых, почему бы тогда не начать сразу на Дельфи и писать в начале разные алгоритмы в простых консольных программах. Ребята, забудьте про ТурбоПаскаль 7.0. Нет его, давно умер. Я этот вопрос уже давно ставлю на факультете, но пока переубедить коллег мне не удается. |
andy ice: я уже давно даю понять преподавателям, которые появляются в этом форуме, что трупопаскаль умер. не надо его, нельзя, он вводит в заблуждение! В нём нет истинного ООП, в нём нет ничего. Он хуже чем устарел, он вреден. Но. Странно всё. |
дак вся система образования еще остается в индустриальном веке, а не информационном
преподаватели выдают то что они знают и то что от них требует система, а студенты выходят из ВУЗа, набитые только-что или давно уже устаревшими знаниями. причем, большинство, - не имея навыков самообучения, поиска и обработки информации (что сейчас - самое важное), т.к. их в основном только "набивали" кучей знаний под завязку... p.s. Вузы сейчас как они есть - это болото. |
2vladislav: что же вы предлагаете взамен? Я понял вашу идею, но доказательства ... не убедительны... |
В начале избвиться от турбопаскаля. А вот, что делать дальше, здесь можно подискутировать. Есть идеи. |
LEON:
Про наше ВЫСШЕЕ ОБРАЗОВАНИЕ можно сделать отдельную ветку, как впрочем и про образование в целом. Тут поднят гораздо более важный вопрос (почему его не подняли ранее ) - обучение ПРОГРАММИРОВАНИЮ. Мне повезло не обучаться в ШГПИ (извините), хотя везде наблюдается похожее. У нас (ШГПИ) не учат програмированию, ИМХО, конечно.... Про некого vladislava говорят, (просто с чьих-то слов) - никакой педагог. Ну и что? Это плохой педагог по отношению (извините) к ВАШЕЙ СИСТЕМЕ ПРЕПОДАВАНИЯ "ПРОГРАММИРОВАНИЯ". Не нужны такие программисты (которые получаются в итоге, примеры есть, не буду приводить). С Владиславом мы знакомы лишь заочно (может он меня помнит, хотя вряд-ли) - но, опять же ИМХО, в качестве человека, который разбирается в теории (хотя бы)программирования, он не имеет конкурентов в ШГПИ (ИМХО). |
твое утверждение, что "вопрос обучения программированию важнее, чем высшее образование в целом" по меньшей мере - глупое.
а тема в форуме развивается так как она развивается, и попытки искуственно размножать ветки с темами приводят только к их вымиранию. можно обсуждать проблему и здесь, программирование - часть образования, и состав курса программирования и его наполнение, - зависят как раз от вышестоящих инстанций. |
В продолжении темы мне бы хотелось добавить следующее.
Дело в том, у значительной части студентов фундамент закладывается на первых двух курсах. И вот здесь то и происходит "убивание" в нем программиста, если он был, конечно. А вот этот самый Паскаль и убивает. Не думайте только, что я противник именно Паскаля и отсюда развиваю теорию. Дело в том, что в начале 90-х я активно на нем программировал. Написал несколько больших прикладных программ, на которых довольно долго работали в Санэпидстанции. Но всему свое время. Его время ушло. |
char писал(а): твое утверждение, что "вопрос обучения программированию важнее, чем высшее образование в целом" по меньшей мере - глупое.
Я этого не утверждал. Я имел ввиду данную тему и данную ветку. Тут это имеет место. Опять же ИМХО. _________________ Скажи мне чей Крым, и я скажу кто ты. |
Leon писал(а): char писал(а): твое утверждение, что "вопрос обучения программированию важнее, чем высшее образование в целом" по меньшей мере - глупое.
Я этого не утверждал. Я имел ввиду данную тему и данную ветку. Тут это имеет место. Опять же ИМХО. -> Leon писал(а): Про наше ВЫСШЕЕ ОБРАЗОВАНИЕ можно сделать отдельную ветку, как впрочем и про образование в целом. Тут поднят гораздо более важный вопрос (почему его не подняли ранее ) - обучение ПРОГРАММИРОВАНИЮ. |
ТУТ _________________ Скажи мне чей Крым, и я скажу кто ты. |
vladislav верно сказал о том, что язык программирования не имеет прикладного значения, если "умерла" среда выполнения программ на этом языке. Однако разговоро идет не о программировании как таковом, а об изучении программирования. Именно в такой "песочнице" как Турбо-Паскаль, когда отсутствуют отвлекающие моменты, а также ограничена среда выполнения, можно серьезно изучить основы разработки программ. Ничем другим там просто не заняться. А вот попробуйте, например, продемонстрировать переполнение стека или утечку памяти при управлении динамическими структурами в реальной операционной системе. Или докажите студенту необходимость экономии оперативной памяти при обработке больших файлов. Или продемонстрируйте механизм генерации и обработки аппаратных и программных событий. При этом как язык, паскаль обладает достаточным набором конструкций для реализации любих алгоритмов, кроме многозадачных. Т.о., при переходе в реальную среду (напр. - delphi в windows), основные концепции разработки программ уже известны и с легкостью накладываются на gui, api и т.д.
2GONZA: утверждение "в нем нет истинного ООП, в нем нет ничего" нуждается в обосновании. Если это не чистые эмоции, конечно. 2char: "причем, большинство, - не имея навыков самообучения, поиска и обработки информации (что сейчас - самое важное)" - согласен на все сто. Именно так обстоит дело, когда студента "набивают под завязку" кучей API конкретной операционки и знанием наборов компонентов. Как раз это и происходит при резком уходе с паскаля на дельфи. Самое ужасное - если в школе. Вот так и появляются на первом курсе распальцованые "программисты", которые не имеют представления, как выполняется вложенный цикл, и не в состоянии создать свою собственную функцию. Зато все gui-элементы знают наперечет. |
Дима, я с тобой не согласен.
1. Писать алгоритмы можно просто в Delphi-консольных программах (если уж важен именно Дкльфи). Какие отвлекающие моменты в программе, где есть лишь оператор вывода writeln и все? 2. Утечка памяти, переполнение стека, большие файлы - без проблем. 3. А вот насчет аппаратных и программных прерываний, тут уж пардон. Какое они имеют отношение к реальному программированию? Нет этих прерываний уж и в помине. 4. Дима, я занимаюсь API-программированием уже лет 10. А ты меня спроси, я не одной API-функции не помню наизусть. Я просто знаю как ее найти в MSDN или win32.hlp и все. Об этом и речь, что студент должен уметь найти нужную информацию. 5. Насчет истинного ООП - это вопрос отдельный. Многие считают, что истинное ООП в С++. Но об этом можно поспорить. |
xdsl: я не Гонза, я andy ice, так получилось
вобщем давно пытаюсь довести до тебя, что ООП и ТП - вещи несовместимые. Ты гришь - статические объекты. Что это??? Какого (простите) хрена такое понятие вообще есть? в ООП его нет. эт просто результат подведения доказательной базы к преступлению. вот |
кстати. задача, котрую мне задал в своё время Андрей Малетин: почему x*y/z <> y/z*x? Последний раз редактировалось: GONZA (2005.02.09 09:04.00), всего редактировалось 1 раз |
GONZA писал(а): ... статические объекты. Что это??? Какого (простите) хрена такое понятие вообще есть? в ООП его нет... Ну вот, углубляемся в терминологию. Давай попробуем так. Если есть под рукой, выложи ссылку на книгу, которая считается классикой ООП и тогда подискутируем. |
эээээ, нее! вот докажите мне ВЫ что статический обхект - это часть ООП, тогда будет разговор. ведь ВЫ ЭТО втираете молодым, неокрепшим умам. От меня вреда много, в нынешних деньгах, я согласен, но от вас ещё больше, в БУДУЮЩИХ ВОЗМОЖНО деньгах. о как сказал (andy ice) |
Я что, очень много попросил? У меня сейчас под рукой нет ни одной книги, по которым в свое время изучал ООП. На чем я буду доказывать, спрашивается, на пальцах? Мое мнение, как и твое, при таком подходе, стоит немногого. А вот мнение авторов смолтолка, симулы или си++ - определяюще. |
Хорошее мнение. Но не наше. У меня тем более нет ни одной книги, но это же не повод упорствовать? |
Кстати, x*y+z <> z+y*x = true? В Паскале? Хочу увидеть кусок программы, доказывающий это. |
/// Последний раз редактировалось: GONZA (2005.02.09 09:04.17), всего редактировалось 1 раз |
я тоже хочу увидеть ее решение...
Вообще-то понятие статического объекта есть: это объект, который создается, когда его объявление встречается первый раз при выполнении программы и уничтожается один раз, при завершении программы (Бьерн Страуструп). Правда, это понятие распростряняется на все объекты и не относится к ООП. |
Slin писал(а): не относится к ООП. |
Я ничего не хочу доказывать.... Мне хочется дальше развить тему.
Бог с вами. Паскаля не стало. Альтернативы? |
по поводу задачки... ну чтож. я вам наврал в условии. простите.
x * Y / Z <> Y / Z * x вроде так точней, приоритет у всех одинаковый - линейный. прошу прощения у всех. Последний раз редактировалось: GONZA (2005.02.09 00:34.25), всего редактировалось 1 раз |
Slin писал(а): Бог с вами. Паскаля не стало. Альтернативы? |
ну это уже другое дело
у произведения больший приоритет чем у деления Последний раз редактировалось: VolF (2005.02.09 00:22.08), всего редактировалось 1 раз |
хех... порядок операторов имеет значение |
как вариант - php какой-нить пусть изучають
есть думка, что время жестко типизированных языков уходит в прошлое, как и ушли времена когда черное было только черным, а белое - белым, и все было неизменным на дооолгие года... |
нет. порядок именно тот, котрый есть. вот просто. почему x*y/z не равно y/z*x. и всё. вот встретилось вам в программе
a = x*z b= a /y почему нельзя так делать? почему нужно сделать a = z/y b=a*x? Последний раз редактировалось: GONZA (2005.02.09 00:37.09), всего редактировалось 2 раз(а) |
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы можете скачивать файлы |