Андрей Власовских

Блог Андрея Власовских

Курс по языкам программирования

10 комментариев

Закончилась зимняя сессия, время рассказать о прочитанном курсе и подвести небольшие итоги.

В осеннем семестре 2008 читал в Политехе курс лекций «Языки программирования» студентам 5-ого курса кафедры АиВТ. Идеей было дать общий подход к рассмотрению языков, познакомить с функциональным программированием, рассмотреть некоторые компромиссы при проектировании языков. Курс наполовину основан на SICP и языке Scheme, а вторая половина посвящена сравнительному обзору языков C, C++, Python и Java.

Поделюсь впечатлениями о курсе. Во-первых, наши студенты имеют весьма туманные навыки программирования, немного грустно :( Думаю, такое характерно для большинства вузов, хотя наверняка есть и исключения. Они написали к 5-ому курсу слишком мало программ (к тому же весьма простых), и не в состоянии нормально чувствовать и рассуждать о проблемах борьбы со сложностью в программировании. Во-вторых, в курсе получился большой перекос в сторону основ ФП и Scheme в противовес передаче сообщений, параллельности, малым языкам и т. д. Наконец, чтение курса помогает заострить внимание на моментах, которые иначе не были бы замечены и систематизированы.

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

Студентов поздравляю с Татьяниным днём :)

Реклама

Written by vlan

2009-01-25 в 23:40

Опубликовано в Uncategorized

Tagged with , , , , ,

комментариев 10

Subscribe to comments with RSS.

  1. Вопросы:
    1) Что такое слишком простая программа (ну и предложите свой вариант более приемлемой)
    2) Зачем Владимир Григорьевич мучает нас printfом в течении нескольких семестров :)

    Zi

    2009-05-28 at 23:39

  2. @Zi Простые — не решающие практических задач или наброски программ, не доведённые до ума. Конечно, нужно стремиться к простоте. Простое лучше, чем сложное (см. import this в Python). Но простота должна быть не в ущерб минимально необходимой функциональности и качеству решения. Чего бы хотелось от студентов — опыта работы с реальным кодом.

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

    vlasovskikh

    2009-05-28 at 23:55

  3. А в чем заключается цель существования кафедры АиВТ, и должны ли студенты этой кафедры работать с реальным кодом (если да, то реальный код тоже бывает разный и для разных задач)? На самом деле, надо обращать внимание на то, что студенты к пятому курсу не имеют опыта разработки реальных дискретных устройств (пусть самых простых, но самостоятельных и законченных).
    А то что лучшее образование — это самообразование — это да.
    P.S. Спасибо за import this — очень любопытно, буду знать (а надо ли мне это знать…) :)

    Zi

    2009-05-31 at 02:16

  4. Хотелось бы добавить. Думаю, что lisp — слишком непривычная вещица (особенно это касается синтаксиса). Может быть стоит больше внимания уделить Питону? А лисп предложить как некий доп материал или что-то в этом роде.

    Zi

    2009-05-31 at 02:40

  5. @Zi Если Вас интересует формальная сторона вопроса, смотрите разные документы вроде ГОС ВПО. По моему личному мнению, да, студенты должны программировать, т. к. именно программирование составит основное содержание их профессии.

    Изучать привычное скучно и часто бессмысленно.

    vlasovskikh

    2009-05-31 at 13:45

  6. Согласен с заметкой. В свое время для меня довольно большим разочарованием стал политеховский ФТК. За четыре года на ЭлМФ о языках программирования, инструментах программирования и программных системах я узнал больше, чем большая часть студентов, которых позже довелось повстречать на старших курсах университета.

    VlK

    2009-06-02 at 12:17

  7. Хочу отметиться, как один из прослушавших курс студентов, я Антон Коротков.
    Ну, во-первых: он был в целом интересен:) (далеко не каждая лекция, конечно), но сама идея ФП для меня была нова и любопытна.

    Во-вторых, хочу удивиться вашем удивлению о наших знаниях:) На ФТК не учат программировать. Вообще. Да, на первых курсах Давыдов пытался дать С++ (при чем, кажется, именно ++ с самого начала), но
    а) Он ужасный преподаватель, честное слово
    б) Курс был как-то так странно построен, что студенты не имевшие раньше представление о программировании, так и не получили его.
    Потом был курс Пышина по .Net, который мог бы быть полезным, если бы не занятия раз в 2 недели один семестр.
    Потом много схемотехники и VHDL — про них не хочу вспоминать.

    Собственно, у нас была одна радость — Ицыксон, и курсы по сетям. Вот там, неожиданно, вспомнилось программирование, было весело и радостно…
    Лично я, кстати, крайне благодарен Владимиру Михайловичу — я проходил у него летню практику и писал бакалавра, для этого занялся жавой и кучей связанных технологий, и в результате устроился на работу, откуда все это пишу:) Пожалуй, это самый полезный преподаватель факультета — для меня.

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

    Вот как-то так. Я не знаю кто виноват и что делать, но суть такова — универ отнял у меня кучу времени и сил, а КПД оказалось крайне мало.

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

    antonfts

    2009-07-01 at 18:49

  8. Ссылка на описание встречи.
    http://habrahabr.ru/blogs/ruby/69005/
    Лучше вписать себя в github.

    TheBits

    2009-09-14 at 17:58

  9. @TheBits Спасибо, попробую прийти.

    vlasovskikh

    2009-09-15 at 01:09


Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: