Обучение программированию
От: Michael7 Россия  
Дата: 15.02.10 14:52
Оценка: +1
Почитал я эту историю, посмеялся, но вдруг задумался, что это же ерунда какая-то, по идее, операторы паскаля, которые кто-то проходил, а кто-то нет, вообще не должны быть предметом особого обучения. И дело здесь не в Паскале, а вообще обучение программированию в вузе — не должно быть обучением операторам языка. Любого языка. Тем более с разницей, типа "углубленно" — так, "не углубленно" — этак.

Мне кажется должно было бы быть так: преподаватель на семинаре говорит, "а для практических занятий по ООП, мы используем SmallTalk , возьмите такие-то и такие-то книги по нему в библиотеке, почитайте о нем здесь и здесь, можете скачать тут", семинар закончился, идут на семинар по матмоделированию. Там говорят, "оно конечно уже устарело, но нам проще целый ряд численных алгоритмов изучать с помощью Фортрана-90, почитайте то-то и то-то. "

Далее на лекции, допустим по высшей алгебре, лектор информирует, что у него для примеров имеются программы на языке "Ада" и указывает где о нем, что узнать. И для студентов — обычное дело, быстренько изучить новый язык.

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

Или я слишком многого хочу?

15.02.10 17:58: Перенесено модератором из 'О жизни' — Хитрик Денис
Re: Обучение программированию
От: Michael7 Россия  
Дата: 15.02.10 15:00
Оценка:
Перечитал и чувствую, что меня могут назвать идиотом. В общем, основная мысль была, что студентов быстро, в идеале за один курс должны научить основным парадигмам программированию, при этом, конечно, надо обучать и каким-то конкретным языкам, а потом студенты просто сразу будут понимать с чем едят любой новый язык и как его правильно изучать и поэтому проблемы в этом не должно быть никакой.
Re: Обучение программированию
От: Mr.Cat  
Дата: 15.02.10 15:14
Оценка: 3 (1) +1
Здравствуйте, Michael7, Вы писали:
M>А конкретный язык, ну на первом курсе сразу дать что-нибудь сразу, например, Lisp и даже тот же паскаль или Си. Для начала хватит, а со второго курса уже должно быть похрену на каком языке программировать.
M>Или я слишком многого хочу?

Мне кажется — не многого, а немного не того. На начальных курсах идет обучение базовым приемам программирования, а в разных языках могут быть идеоматичны совершенно разные вещи. Например, лабораторную работу по каким-нибудь мутабельным структурам данных не стоит делать на ФЯ. Заменять цикл на рекурсию, в зависимости от цели замены, надо в языке с tco, либо без оной.

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

И тут вот получается что. Часто "оператор" с точки зрения ученика оказывается "идеомой" с точки зрения учителя. Например, for/while/break — это ведь не операторы, это составляющие цикла — одной из базовых идеом структурного программирования. "Применить оператор" — это применить соответствующий прием, "не применять оператор" — это отказаться от приема и поглядеть, какая хрень при этом получается.
Re: Обучение программированию
От: LaptevVV Россия  
Дата: 15.02.10 15:18
Оценка:
Здравствуйте, Michael7, Вы писали:

M>А конкретный язык, ну на первом курсе сразу дать что-нибудь сразу, например, Lisp и даже тот же паскаль или Си. Для начала хватит, а со второго курса уже должно быть похрену на каком языке программировать.

M>Или я слишком многого хочу?
Видимо, вы просто слишком далеки от преподавания.
С языком программирования — две затыки.
1. Нужно обучать студиозам основным конструкциям программирования. В семантическом ключе.
Если студиоз пришел из какой-нить школы, где СОВСЕМ не было программирования (а сейчас это все школы, кроме специалитзированных), то для него может быть сложно понять что такое цикл в принципе.
2. К сожалению практика показывает, что первый язык выучивается наизусть. Второй — легче, третий — уже начинаются некие обобщения, поиски семантически эквивалентных конструкций.
Поэтому, хочешь-не хочешь, приходится первый язык давать синтаксически, объясняя по ходу семантику. Поэтому, например, студиозам-первокурсникам приходится в буквальном смысле наизусть заучивать принципы и правила структурного программирования.
На третьем курсе — да, там уже приходит понимание (если вообще оно приходит).
Поэтому очень важно для первичного обучения программированию иметь маленький обозримый язык без подводных камней. Паскаль, конечно, устарел. А вот Компонентный паскаль — он подходит.
На эту тему можно почитать сайт Информатика-21. Там много интересных материалов про обучение школьников основам программирования.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[2]: Обучение программированию
От: Mr.Cat  
Дата: 15.02.10 15:42
Оценка:
Здравствуйте, Michael7, Вы писали:
M>В общем, основная мысль была, что студентов быстро, в идеале за один курс должны научить основным парадигмам программированию
Думаю, это нереально с учетом того, что айтишникам на первом курсе преподают еще и матан, физику, химию, черчение, какие-то гуманитарные дисциплины (конечно, не все сразу из этого списка). Если интересно, что было у нас — напомни, как дойду до дома — гляну в зачетку.
Re: Обучение программированию
От: bastrakov Россия http://bastrakof.livejournal.com/
Дата: 16.02.10 03:48
Оценка:
Здравствуйте, Michael7, Вы писали:

M>Или я слишком многого хочу?


почитал, подумал... а лингвистов вы как собираетесь обучать?
ну или вот например есть медики еще. изучил анатомию, и все — остальное прочитаешь в специальной книге, если понадобится.
во
Re: Обучение программированию
От: Pavel Dvorkin Россия  
Дата: 16.02.10 06:29
Оценка: 1 (1)
Здравствуйте, Michael7, Вы писали:

M>Далее на лекции, допустим по высшей алгебре, лектор информирует, что у него для примеров имеются программы на языке "Ада" и указывает где о нем, что узнать. И для студентов — обычное дело, быстренько изучить новый язык.


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



P.S. Вообще-то я во многом с тобой согласен. Но не удержался
With best regards
Pavel Dvorkin
Re: Обучение программированию
От: Vi2 Удмуртия http://www.adem.ru
Дата: 16.02.10 07:59
Оценка:
Здравствуйте, Michael7, Вы писали:

M>Или я слишком многого хочу?


Да, так и должно быть — задание можно бы делать на любом приемлемом языке. Не только на том, на котором умеет или привык программировать преподаватель.
Vita
Выше головы не прыгнешь, ниже земли не упадешь, дальше границы не убежишь! © КВН НГУ
Re: Обучение программированию
От: Yarik_L  
Дата: 19.02.10 15:18
Оценка:
Здравствуйте, Michael7, Вы писали:

M>идут на семинар по матмоделированию. Там говорят, "оно конечно уже устарело, но нам проще целый ряд численных алгоритмов изучать с помощью Фортрана-90, почитайте то-то и то-то.


В данном случае "проще" означает, что препод даёт материал по книжкам как минимум 20-летней давности и ему лень переписать коды примеров оттуда. То есть студентам придётся большую часть семестра втыкать не в логику работы программы, а в бесчисленные goto и непонятные одно- и двухбуквенные переменные
Re[2]: Обучение программированию
От: Michael7 Россия  
Дата: 19.02.10 15:46
Оценка:
Здравствуйте, Yarik_L, Вы писали:

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


M>>идут на семинар по матмоделированию. Там говорят, "оно конечно уже устарело, но нам проще целый ряд численных алгоритмов изучать с помощью Фортрана-90, почитайте то-то и то-то.


Y_L>В данном случае "проще" означает, что препод даёт материал по книжкам как минимум 20-летней давности и ему лень переписать коды примеров оттуда.


Некоторые алгоритмы на фортране очень хорошо отлажены. И вообще, а какие собственно говоря, есть серьёзные возражения против записи математических алгоритмов на фортране?

Y_L> То есть студентам придётся большую часть семестра втыкать не в логику работы программы, а в бесчисленные goto и непонятные одно- и двухбуквенные переменные


Я не помню в каком древнем фортране были двухбуквенные переменные, но уже даже в Fortran-IV их кажется не было, в Fortran-77 точно допустимы 6-символьные, а Фортран-90 уже вполне поддерживает длинные переменные, их разный регистр, произвольное оформление кода, современные языковые конструкции и даже есть в зачаточном виде ООП. В последнем стандарте Фортрана, Fortran-2003 уже точно есть.
Re[2]: Обучение программированию
От: Аноним  
Дата: 19.02.10 15:52
Оценка:
Здравствуйте, Yarik_L, Вы писали:

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


M>>идут на семинар по матмоделированию. Там говорят, "оно конечно уже устарело, но нам проще целый ряд численных алгоритмов изучать с помощью Фортрана-90, почитайте то-то и то-то.


Y_L>В данном случае "проще" означает, что препод даёт материал по книжкам как минимум 20-летней давности и ему лень переписать коды примеров оттуда. То есть студентам придётся большую часть семестра втыкать не в логику работы программы, а в бесчисленные goto и непонятные одно- и двухбуквенные переменные


по поводу Fortran-а --- а Intel почему-то до сих пор Fortran-овский компилятор выпускает.
Наверное, там один идиоты сидят
Re: Обучение программированию
От: Tesh США  
Дата: 22.02.10 05:20
Оценка:
У нас в университете не ограничивали в выборе языка программирования для решения задачи. Какой тебе удобнее — тот и выбирай, кроме специализированных предметов конечно же.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.