Re: Какие языки перспективны? Что преподавать студентам?
От: Damat_AE Украина  
Дата: 04.04.06 07:36
Оценка: 2 (1) +3 -1
Привет,

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

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

Давайте пофилософствуем...

Почему после процедурного подхода некоторым сложно перейти на ООП? — потому как слишком много времени уделяется этому, и Паскаль учат сначала. Да, без- процедурного подхода и не6которых знаний Кнута туго придется, но все же думаю, что можна запустить в паралель ООП концепции и процедурное программирование. Почему в современных языках нет возможности писать не используя объектов — потому что это не нужно!!! Следовательно, и незачем показывать студенту, что так когдато писали.

ООП можно элементарно преподавать на 1ом курсе, при этом все рисунки делать на ЮМЛ — убиваем опять 2 зайца. При изложении максимально разъяснять основные концепции — абстрагирование, инкапсуляцию и полиморфизм. Чтобы это понять — не обязательно уметь писать условные выражение и свитчи!!! это все хлам внутри функции. Именно потому не советую начинать с процедурного программирования — ему место только в пределах функции и все.

Что выбрать для учебного языка?
Умоляю вас, если техническое оснащение позволяет использовать 2003 студию, ее и берите, а язык — C#, не обрекайте студентов с недоуменем смотреть на тупорылый синий экран Паскали или С++. С# — элементарный язык, весьма удобный, есть интеллисенс и все такое. Также не советую использовать Делфи или С++Билдер-черепаху. Пусть лучше привыкают к удобностям, чем к неудобностям. А то, что Паскаль напрашивается сам по себе — это потому что нас так учили, и мы думаем, что это правильно. Через несколько лет С# станет очередным Паскалем.

Как спецкурсы — Десктоп и Веб программирование (паттерны для тех 20%).

А для самых нормальных — не обязательно это всем(девочки могут пойти на пару вышивания крестиком) — предподавать декларативное программирование и нейросети — поистине интересно, многим понравится(но у меня предчувствие, что и мальчики пойдут крестиком вышивать) Уж такие эти студенты!!!
Re[4]: Какие языки перспективны? Что преподавать студентам?
От: Pavel Dvorkin Россия  
Дата: 04.04.06 07:44
Оценка:
Здравствуйте, Mamut, Вы писали:

M>Эээ. Не надо В итоге в каждой группе весь проект будет делать только один человек, который хоть как-то знает программирование.


Как преподаватель скажу — верно на 150%. Так нельзя делать ни в коем случае, если не хотите давать дипломы тем, кто вообще программировать так и не научился.
With best regards
Pavel Dvorkin
Re[2]: Дополню
От: Leo Yuriev Россия https://github.com/erthink
Дата: 04.04.06 07:46
Оценка:
M>Смотря какие цели ставить. Если стоит задача подготовить востребованых на рынке сотрудников, то Java, .NET. Если стоит задача подготовить научных специалистов, то надо смотреть в сторону более общих вопросов вроде книг Танненбаума, обзорное знакомство со многими языками, а выбор языков для реализации упражнений и курсовых работ оставить самому студенту.

Рынку нужны не только Java и .NET, это ширпотреб (как когда-то был cobol).

Как здесь уже отмечали, сейчас многие "ВУЗы" зацикливают студентов на MSC, MS.NET и Delphi. Потом такие "специалисты" не знают, что есть другие процессоры и как программировать "не в Windows". IMHO обязательно нужно показать, что такое gcc (именно как "compillers collection") и где "оно" живет.

Еще бы я посоветовал обзорные курсы по ADA-2005, Eiffiel и Phyton. Но не изучение синтаксиса, а прежде всего идеологии и примеры успешного (и не удачного) применения.

Но при этом нельзя сильно нагружать, тупицы все равно ничего не-запомнят/не-пойму. Нужно только дать шанс тем, кто действительно соображает и хочет этим заниматься.
Re[7]: Какие языки перспективны? Что преподавать студентам?
От: bkat  
Дата: 04.04.06 07:47
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>Здравствуйте, bkat, Вы писали:


B>>Ну в целом да.

B>>Проекты, вытягиваемые одиночками, как правило не живут.

Д>разве?

Д>как правило, один-два человека направляют проект и делают фундамент, остальные на подхвате. В этом нет ничего странного.

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

А так ведь и архитектора с руководителем проекта
тоже можно рассматривать как мальчиков на подхвате у инвесторов.
Они дают деньги, а кто-то принимает решение, как деньги с выгодой(?) потратить.
Re: Какие языки перспективны? Что преподавать студентам?
От: SteMage Россия  
Дата: 04.04.06 07:51
Оценка:
Здравствуйте, martie, Вы писали:

M>Добрый день,


M>Сегодня мой научный руководитель (зав. каф. нашего института)

M>попросил меня написать что с моей "программистской" точки зрения нужно преподавать
M>студентам чтобы повысить общий уровень выпускников, сделать ихболее конкуртноспособными?

M>На данный момент имеем: математическую подготовку — 5+, программисткую же — 3- (здесь все еще паскаль и процедурное программирование)

M>Объектное читается всего 1 семестр и на этом все (

M>Так вот вопрос к вам многоуважаемый All:

M>Какие языки, платформы преподавать студентам, что наиболее перспкективно с Вашей точки зрения?

M>Сам я склоняюсь что желательн бы смещать акцент на сетевое и web программирование,

M>платформы .NET или Java
M>кроме того необходимы базовые знания функционального программирования
M>Как вы думаете?

Если мы говорим о специалистах востребованных сегодняшним рынком. То мое предложение следующее.

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

Поскольку Delphi все равно есть. То взять задание на несколько человек 4-5. Раздать. Пусть делают. Затем на следующих этапах предложить занятся портированием проекта на следующие платформы. .Net, Java, C++. Паралельно дать, что-то из функциональных языков.

Если есть желание и квалификация. То можно посмотреть, что нужно ВУЗУ из ПО. Разбить на задачи и давать студентам, а в качестве конечнного аккорда попробовать интегрировать все что получилось.

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

Дополнительным плюсом здесь является, то что человек сможет выбрать, то что ему нравится. Кстати здесь вполне хватает места для научных исследований. Т.е. исходя из получающихся результатов можно вполне делать довольно серьезные выводы.
Re: В университете надо давать высшее образование
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 04.04.06 08:01
Оценка: +6 -4
Здравствуйте, martie, Вы писали:

M>Какие языки, платформы преподавать студентам, что наиболее перспкективно с Вашей точки зрения?


В университете преподавать языки / платформы?
Ха-ха-ха, вот умора ,
а в ПТУ или на курсах повышения квалификации тогда что преподавать прикажете?

В университете надо давать высшее образование.
Re[2]: В университете надо давать высшее образование
От: bkat  
Дата: 04.04.06 08:04
Оценка: +1
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Здравствуйте, martie, Вы писали:


M>>Какие языки, платформы преподавать студентам, что наиболее перспкективно с Вашей точки зрения?


СГ>В университете преподавать языки / платформы?

СГ>Ха-ха-ха, вот умора ,
СГ>а в ПТУ или на курсах повышения квалификации тогда что преподавать прикажете?

СГ>В университете надо давать высшее образование.


В целом согласен, но все же говорить о языках и платформах надо.
Вопрос только в том, как.
В ПТУ — один уровень, а в универе — другой.
Re[3]: Дополню
От: Lloyd Россия  
Дата: 04.04.06 08:06
Оценка: +1 :))) :))) :))) :)))
Здравствуйте, Leo Yuriev, Вы писали:

LY>Еще бы я посоветовал обзорные курсы по ADA-2005, Eiffiel и Phyton. Но не изучение синтаксиса, а прежде всего идеологии и примеры успешного (и не удачного) применения.


Да ладно приемы, пусть хотя бы выучат как правильно названия этих языков пишутся.
Re: Какие языки перспективны? Что преподавать студентам?
От: Pavel Dvorkin Россия  
Дата: 04.04.06 08:09
Оценка: 1 (1) +2
Здравствуйте, martie, Вы писали:

M>Так вот вопрос к вам многоуважаемый All:

M>Какие языки, платформы преподавать студентам, что наиболее перспкективно с Вашей точки зрения?

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

По-моему, начинать надо не с этого. Если уж решились на перестройку учебного процесса, то перые три вопроса

1. Какая у вас техника и сколько ее ?
2. Есть ли у вас кому вести занятия ?
3. Сколько времени отводится по учебному плану на эти курсы ?

Без ясного понимания всего этого — всем рассуждениям грош цена.
Наименее важным является вопрос 1 — у большинства студентов дома есть компьютер. Однако если у вас классы до сих пор оборудованы P3-666 , то от этого толку мало, так как не на чем будет даже показать.
Второй вопрос — самый больной. Допустим, я отвечу — надо преподавать .NET . А преподавать есть кому ?
И третий вопрос, в сущности, есть закамуфлированный вопрос — а кого вы готовите ? Программистов ? Или кого-то с программистским уклоном. Что значит — математика на 5+ ? По каким критериям — матфака университета, или же среднего технического вуза ? Сколько всего часов отводится на программистские дисциплины ? В том числе самостоятельной работы сколько ?

Вот на эти вопросы хотелось бы получить ответ. Его вполне может дать зав.кафедрой, так что лучше у него спросить, если Вы сами не знаете. А после этого можно будет что-то сказать.

Пока что одно скажу. ИМХО всякие идеи насчет серьезных проектов, которые будут делаться коллективно — реальны только в одном случае — если это реальный проект, за который Вы им будете платить, и не хуже того, что они по своей квалификации уже сейчас могут получать в различных фирмах , работая там пусть и "на подхвате". Делать же то, что никому не нужно (а они это быстро поймут) всерьез никто не будет — Вам просто придется снизить требования и принять у них то, что есть — не сможете же вы всему курсу зачет не поставить . Кроме того, при этом делать будут те, кто может, а остальных просто отсекут те, кто может — чтобы не болтались под ногами и не мешали. В итоге Вы дадите диплом тем, кто вообще ничему не научился.
With best regards
Pavel Dvorkin
Re[2]: В университете надо давать высшее образование
От: Lloyd Россия  
Дата: 04.04.06 08:10
Оценка: +1
Здравствуйте, Сергей Губанов, Вы писали:

СГ>В университете преподавать языки / платформы?

СГ>Ха-ха-ха, вот умора ,
СГ>а в ПТУ или на курсах повышения квалификации тогда что преподавать прикажете?

СГ>В университете надо давать высшее образование.


А что такое высшее образование? Латынь и топология?
Re[2]: В университете надо давать высшее образование
От: Pavel Dvorkin Россия  
Дата: 04.04.06 08:21
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>В университете надо давать высшее образование.


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

Иначе получится, что есть дисциплины, которые могут входить в программу высшего образования по некоторой специальности, и те, которые не могут. Что несколько странно.
With best regards
Pavel Dvorkin
Re[3]: В университете надо давать высшее образование
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 04.04.06 08:25
Оценка: :)))
Здравствуйте, Lloyd, Вы писали:

L>А что такое высшее образование? Латынь и топология?


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

В университетах (на программистских специальностях) надо готовить таких людей, которые потом защитят диссертации следующего уровня:

  • P. J. Muller — The Active Object System Design and Multiprocessor Implementation — Dissertation ETH Nr. 14755, 2002
  • R. Crelier — Separate Compilation and Module Extension — Dissertation ETH Nr. 10650, 1994
  • M. Franz — Code-Generation On-the-Fly: A Key to Portable Software — Dissertation ETH Nr. 10497, 1994

    Если со всего потока студентов ни один потом не защитит диссертацию такого уровня, значит университет на них проработал в холостую, исполнил функцию ПТУ. Стыд и позор такому университету!
  • Re[4]: Дополню
    От: Leo Yuriev Россия https://github.com/erthink
    Дата: 04.04.06 08:40
    Оценка:
    LY>>Еще бы я посоветовал обзорные курсы по ADA-2005, Eiffiel и Phyton. Но не изучение синтаксиса, а прежде всего идеологии и примеры успешного (и не удачного) применения.

    L>Да ладно приемы, пусть хотя бы выучат как правильно названия этих языков пишутся.


    Да уж ..., пардон — явно не выспался.
    Re[4]: В университете надо давать высшее образование
    От: bkat  
    Дата: 04.04.06 08:47
    Оценка:
    Здравствуйте, Сергей Губанов, Вы писали:

    СГ>Если со всего потока студентов ни один потом не защитит диссертацию такого уровня, значит университет на них проработал в холостую, исполнил функцию ПТУ. Стыд и позор такому университету!


    Вообще-то EHT — не простой ВУЗ, а вуз в первой десятке.
    Там вообще много чего делают в том числе и нобелевки получают.
    Хорошо конечно, чтобы все универы имели бы такой уровень,
    но увы это нереально.
    Сравни возможности аспиранта в ETH и возможности аспирантов в провинциальных российских ВУЗах.

    Ну а в наших универах тоже работы пишут.
    Бывают и очень хорошие, но не с каждого потока.
    Хорошие работы вообще не делаются на потоке, даже в ETH
    Re: Какие языки перспективны? Что преподавать студентам?
    От: last_hardcoder  
    Дата: 04.04.06 09:19
    Оценка: +1
    Здравствуйте, martie, Вы писали:

    О перспективности современных языков программирования можно судить лет на 5 вперёд, не больше. 10 лет назад перспективным считался C++, 5 лет назад — Java, сейчас — C#. А к моменту получения диплома сегодняшними первокурсниками вполне может появиться что-то ещё. Так что учить надо воспринимать любой новый язык, любую новую парадигму. Функциональное, объектноориентированное, обобщённое, метапрограммирование, языково-ориентированное программирование. Неплохо бы пару слов и о декларативном программировании. Также имеет смысл осветить некоторые аспекты архитектуры компьютеров: чем автоматическая память отличается от статической и динамической, что такое стек, прерывания и т.д. Да и базовие алгоритмы, хотя бы на уровне бинарного поиска, для общего развития не помешают.
    Re: Какие языки перспективны? Что преподавать студентам?
    От: kan_izh Великобритания  
    Дата: 04.04.06 09:28
    Оценка: -1
    martie wrote:

    > Сегодня мой научный руководитель (зав. каф. нашего института)

    > попросил меня написать что с моей "программистской" точки зрения нужно
    > преподавать
    > студентам чтобы повысить общий уровень выпускников, сделать ихболее
    > конкуртноспособными?
    >
    > На данный момент имеем: математическую подготовку — 5+, программисткую
    > же — 3- (здесь все еще паскаль и процедурное программирование)
    > Объектное читается всего 1 семестр и на этом все (
    >
    > Так вот вопрос к вам многоуважаемый All:
    > Какие языки, платформы преподавать студентам, что наиболее перспкективно
    > с Вашей точки зрения?
    >
    > Сам я склоняюсь что желательн бы смещать акцент на сетевое и web
    > программирование,
    > платформы .NET или Java
    > кроме того необходимы базовые знания функционального программирования
    > Как вы думаете?

    В первую очередь не стремиться к более перспективному, высшее образование не должно охватывать только то, что модно —
    оно должно охватывать различные подходы, пусть они нигде не понадобятся в реальной жизни. Так что, имхо, .net, java — ну
    максимум пару занятий — мол, есть такое — при необходимости легко осваивается самостоятельно (для этого и не надо ВО,
    вообще говоря). А основной упор на разные стили программирования — refal, prolog, scheme/lisp и что-нибудь
    процедурное/объектное под конец... хз что... python/C++/javascript/... А паскалем обычно всех грузят... лучше уж С++ —
    он интереснее как язык.

    От сетевого/веба фактически нужно оставить асинхронность/многопоточность/может быть языки разметки (а не только
    программирования) — xml.

    Ещё важное для студентов (особенно начальных курсов) — научиться гуглить, т.е. искать инфу в спеках, интернет, форумах, етс.
    Posted via RSDN NNTP Server 2.0
    но это не зря, хотя, может быть, невзначай
    гÅрмония мира не знает границ — сейчас мы будем пить чай
    Re[2]: Какие языки перспективны? Что преподавать студентам?
    От: Дарней Россия  
    Дата: 04.04.06 09:41
    Оценка: :)
    Здравствуйте, Pavel Dvorkin, Вы писали:

    PD>В итоге Вы дадите диплом тем, кто вообще ничему не научился.


    их и сейчас дают
    ... << RSDN@Home 1.1.4 stable rev. 510>>
    Всех излечит, исцелит
    добрый Ctrl+Alt+Delete
    Re[4]: В университете надо давать высшее образование
    От: Трурль  
    Дата: 04.04.06 10:05
    Оценка: :)
    Здравствуйте, Сергей Губанов, Вы писали:

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


    СГ>
  • P. J. Muller — The Active Object System Design and Multiprocessor Implementation — Dissertation ETH Nr. 14755, 2002
    СГ>
  • R. Crelier — Separate Compilation and Module Extension — Dissertation ETH Nr. 10650, 1994
    СГ>
  • M. Franz — Code-Generation On-the-Fly: A Key to Portable Software — Dissertation ETH Nr. 10497, 1994
    А лучше уровня
  • A. Einstein — А Eine neue Bestimmung der Molek?ldimensionen, Dissertation, ETH Z?rich, 1905
  • Re[5]: В университете надо давать высшее образование
    От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
    Дата: 04.04.06 10:42
    Оценка:
    Здравствуйте, Трурль, Вы писали:

    Т>А лучше уровня

    Т>
  • A. Einstein — А Eine neue Bestimmung der Molek?ldimensionen, Dissertation, ETH Z?rich, 1905

    Тоже не плохо...

    Кстати Вирт по образованию не программист, а инженер-электронщик.
    Дейкстра по образованию был физиком.
    ...
    Известный всем астроном Хабл (открывший расширение Вселенной), по образованию был юристом.
    ...
    Вольфрам — физик теоретик.
    ...

    Главное — образование как таковое, специальность — вторична.
  • Re[3]: Какие языки перспективны? Что преподавать студентам?
    От: Pavel Dvorkin Россия  
    Дата: 04.04.06 10:54
    Оценка:
    Здравствуйте, Дарней, Вы писали:

    Д>Здравствуйте, Pavel Dvorkin, Вы писали:


    PD>>В итоге Вы дадите диплом тем, кто вообще ничему не научился.


    Д>их и сейчас дают


    По крайней мере если давать каждому индивидуальное задание и убедиться в том, что он его сам сделал, то вероятность этого уменьшается.
    With best regards
    Pavel Dvorkin
    Подождите ...
    Wait...
    Пока на собственное сообщение не было ответов, его можно удалить.