LINUX.ORG.RU

[C][образование] Нужна критика программы курса про Си

 ,


3

3

Хотелось бы увидеть желающих предметно покритиковать программу курса про Си для профильной специальности.

Рабочая версия программы: http://dev.iu7.bmstu.ru/trac/workbook_c_iu7/wiki/plan

Особенно интересует мнение по: http://dev.iu7.bmstu.ru/trac/workbook_c_iu7/wiki/plan#Лабораторныеработы

★★★★★

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

Еще я что-то не нахожу части о потоках и процессах, что тоже используется повсеместно.

В остальном вроде ничего.

vurdalak ★★★★★
()
Ответ на: комментарий от vurdalak

Списки планировались и в лекциях, пойду проаерю.

Для остального у нас есть вроде бы курс Типы и структуры данных, правда он как-то больше по стекам и очередям, причем однопоточным, чем по дереьям (

sv75 ★★★★★
() автор топика
Ответ на: комментарий от sv75

правда он как-то больше по стекам и очередям, причем однопоточным

Эмм, а что там рассказывать? Простейшая реализация, небольшое описание. Одну лекцию на списки (включая стеки и очереди), одну на деревья. У нас, ЕМНИП, так и было. Ну и по лабе на каждую лекцию на сях.

vurdalak ★★★★★
()
Ответ на: комментарий от vurdalak

Потоки и процессы у нас в отдельном курсе пока что.

В перспективе есть надежда сунуть часть сюда по мере распространения с11, поскольку у паскаля на пол-семестра уменьшится время.

sv75 ★★★★★
() автор топика
Ответ на: комментарий от sv75

А паскаль зачем? Никогда не понимал, какой смысл давать то, что нигде не используется. От замены скобочек блоками begin/end понимание вряд ли улучшается.

vurdalak ★★★★★
()
Ответ на: комментарий от vurdalak

Паскаль - красивый, умно спроектированный язык.

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

anonymous
()
Ответ на: комментарий от anonymous

Паскаль - такой же язык, как и тот же си, только там все пишется дольше из-за длинных ключевых слов. В чем профит?

vurdalak ★★★★★
()
Ответ на: комментарий от anonymous

Паскаль - красивый, умно спроектированный язык.

Из-за этого на нем никто не пишет? Все дураки, используют какие-то кривые недоязычки вроде C с какими-то закорючками вместо begin и end.

anonymous
()
Ответ на: комментарий от anonymous

Из-за этого на нем никто не пишет?

Преувеличиваете, ламер.

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

anonymous
()
Ответ на: комментарий от vurdalak

Паскаль - такой же язык, как и тот же си

Не такой же. Более строгая система типов, нет всех этих неявных преобразований, нет array decay и вообще бесноватой арифметики указателей.

В чем профит?

В том, что язык проще и понятнее.

anonymous
()
Ответ на: комментарий от anonymous

Более строгая система типов

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

нет array decay и вообще бесноватой арифметики указателей

Это и недостаток одновременно.

vurdalak ★★★★★
()
Ответ на: комментарий от anonymous

Ну и да, эти преимущества есть и в живых языках. Почему именно паскаль? Давайте еще астрофорт учить, там ведь тоже наверняка много фич.

vurdalak ★★★★★
()
Ответ на: комментарий от vurdalak

Ну и да, эти преимущества есть и в живых языках.

Каких?!?

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

Почему именно паскаль? Давайте еще астрофорт учить, там ведь тоже наверняка много фич.

А надо, чтобы было МАЛО фич.

anonymous
()
Ответ на: комментарий от vurdalak

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

Естественно. Это хорошо и правильно.

Паскаль - уникальное сочетание строгости и простоты языка. Обычно язык если строгий, то еще и извратный (Ada, хацкелль и прочее говно).

anonymous
()
Ответ на: комментарий от anonymous

Паскаль спроектирован специально для обучения.

Не видел, чтобы в Berkeley, MIT, Harvard и прочих top CS университетах пользовались паскалем для обучения. Scheme, Python, C видел.

anonymous
()
Ответ на: комментарий от anonymous

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

Естественно. Это хорошо и правильно.

Ты еще пытаешься что-то кукарекать о программировании? Сожри-ка лучше говна и сдохни.

anonymous
()
Ответ на: комментарий от anonymous

нет бесноватой арифметики указателей

Есть она в паскале, ламерок. Впрочем не переживай. Может в 11-ом классе в школе тебе еще расскажут про арифметику указателей.

anonymous
()
Ответ на: комментарий от anonymous

Есть она в паскале, ламерок.

Ну ну. Кастани int к указателю.

Если у тебя мозга в голове нет, то так бы сразу и сказал.

anonymous
()
Ответ на: комментарий от anonymous

Язык или простой (и пригодный для обучения), или практичный.

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

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

vurdalak ★★★★★
()
Ответ на: комментарий от vurdalak

Чушь. Тот же лисп, хоть нигде и не применяется, просто и практичный.

Лисп не простой и не практичный. Стандарт Common Lisp больше тысячи страниц, с C++ посоревноваться может. Схема ни разу не простая (при полной непрактичности), один только call/cc чего стоит.

Джава проста и практична, если ты не фанатик нативного кода.

Java офигенно практична, но совершенно не проста. ООП при обучении не нужен, а в Java его под ковер замести невозможно.

А паскаль не просто так умер.

С чего-то это он «умер»? Как доминировал в образовании, так и доминирует по сей день. Кое где вытесняется новыми Виртовскими языками, тем же Обероном.

anonymous
()
Ответ на: комментарий от anonymous

ООП при обучении не нужен

На этом разговор можно завершить.

Как доминировал в образовании, так и доминирует по сей день.

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

vurdalak ★★★★★
()
Ответ на: комментарий от anonymous

С чего-то это он «умер»? Как доминировал в образовании, так и доминирует по сей день.

Где доминирует? В убогих рашкинских заборостроительных быдловузах? Лучше скажи в каких серьезных вузах UK и USA (в которых хоть computer science есть) используют твой паскаль.

anonymous
()
Ответ на: комментарий от vurdalak

Вынуждены ориентироваться на нулевых студентов, таких хватает. До начала приема ЕГЭ по информатике точно придется. Ну и Си как первый язык для нубов --- это чревато может быть.

sv75 ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Нормальная арифметика есть только в fpc.

sv75 ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Согласен, что паскаль ничем не лучше в обучении программированию. Одна из причин - куча языков С-подобных, не знаю ни одного Pascal\delphi-подобного (мож они есть). Скобочки по мне куда логичней begin end и воспринимаются лучше, хотя один хрен. На паскале пишут довольно много, готовых компонентов тоже много и вполне качественных.

Megamozg
()
Ответ на: комментарий от anonymous

Естественно. Это хорошо и правильно.

Вы не могли бы умереть, пожалуйста?

sv75 ★★★★★
() автор топика
Ответ на: комментарий от anonymous

В убогих рашкинских заборостроительных быдловузах? Лучше скажи в каких серьезных вузах UK и USA (в которых хоть computer science есть) используют твой паскаль.

В Оксфорде используют Оберон.

anonymous
()
Ответ на: комментарий от vurdalak

На этом разговор можно завершить.

ООПодрочер детектед. А я-то думал, что с человеком разговариваю. Оказалось, что со свиньей.

anonymous
()
Ответ на: комментарий от vurdalak

Джава проста и практична, если ты не фанатик нативного кода.

Кстати, сомневаюсь в простоте. Там есть свои айсберги.

Там вывод типов кстати есть, я отстал от жизини?

sv75 ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Паскаль спроектирован специально для обучения.

Ну и пусть его в школе по-прежнему используют, как раз подходит.

sv75 ★★★★★
() автор топика
Ответ на: комментарий от anonymous

В Оксфорде используют Оберон.

Можно ссылку, подтверждающее это утверждение?

На сайте Oxford'а я только нашел, что для обучения используют Haskell (курс functional programming) и Java (курсы imperative programming и object-oriented programming).

anonymous
()
Ответ на: комментарий от sv75

Ну и пусть его в школе по-прежнему используют, как раз подходит.

Для ВУЗов тоже в самый раз.

anonymous
()
Ответ на: комментарий от anonymous

Бакаларвская программа слишком коротка, чтобы потом переучиваться (возможно, это наша главная текущая проблема). Я про профильное образование, конечно.

Кроме того, есть шанс начать принимать ЕГЭ по информатике, при его сдаче рассказывать повторно азы на Паскале вообще не ясно зачем.

sv75 ★★★★★
() автор топика
Последнее исправление: sv75 (всего исправлений: 1)
Ответ на: комментарий от sv75

Бакаларвская программа слишком коротка, чтобы потом переучиваться (возможно, это наша главная текущая проблема). Я про профильное образование, конечно.

А ты тоже из тех, кто убежден, что ВУЗы должны давать «практические» знания? Ну тогда тебе не в ВУЗе преподавать надо, а в ПТУ.

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

Кроме того, есть шанс начать принимать ЕГЭ по информатике, при его сдаче рассказывать повторно азы на Паскале вообще не ясно зачем.

Рассказывать не азы, очевидно.

anonymous
()
Ответ на: комментарий от anonymous

Не видел, чтобы в Berkeley, MIT, Harvard и прочих top CS университетах пользовались паскалем для обучения. Scheme, Python, C видел.

Потому что в этих вузах, как легко догадаться, программированию призван учить не язык, а преподаватель. В отрыве от SICP Scheme был бы нужен фанатам, а Python и так нужен только в качестве читабельного скриптового языка.

metar ★★★
()
Ответ на: комментарий от anonymous

А ты тоже из тех, кто убежден, что ВУЗы должны давать «практические» знания?

а в чем проблема давать теоретические знания на С?

Почему обязательно нужно обучать с помощью абстрактного сферического языка в вакууме, который нигде не применяется? Вот у меня препод в курсе структур и алгоритмов обработки данных упорно применял в лекциях «псевдокод», который от С отличался только отсутствием точек с запятой на конце, но называть его С и писать ответы на экзаменах с применением С было «ататата»

Harald ★★★★★
()
Ответ на: комментарий от anonymous

А ты тоже из тех, кто убежден, что ВУЗы должны давать «практические» знания?

Да, должны, так написано в образовательном стандарте (есть раздел «уметь и владеть навыками»).

Ну тогда тебе не в ВУЗе преподавать надо, а в ПТУ.

Без анонимусов разбёрёмся.

sv75 ★★★★★
() автор топика
Ответ на: комментарий от Harald

но называть его С и писать ответы на экзаменах с применением С было «ататата»

Типичная для россиянии болезнь (

sv75 ★★★★★
() автор топика
Ответ на: комментарий от sv75

Да, должны, так написано в образовательном стандарте (есть раздел «уметь и владеть навыками»).

Мало ли, что в говностандартах написано. Классическое советское фундаментальное образование всегда строилось на совершенно иных принципах. А те, кто их подрывает - те враги и подонки.

anonymous
()
Ответ на: комментарий от Harald

а в чем проблема давать теоретические знания на С?

А зачем? Он для этого не очень хорошо приспособлен.

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

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

Вот у меня препод в курсе структур и алгоритмов обработки данных упорно применял в лекциях «псевдокод», который от С отличался только отсутствием точек с запятой на конце

Чего-то ты явно недоговариваешь.

anonymous
()
Ответ на: комментарий от anonymous

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

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

sv75 ★★★★★
() автор топика
Ответ на: комментарий от anonymous

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

Безусловно. Жизнь, к сожалению, относится ко второму варианту. «В теории нет разницы между теорией и практике. На пркатике — есть»

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

sv75 ★★★★★
() автор топика
Ответ на: комментарий от sv75

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

Рано. Пока не прочувствуют основ, к Си нельзя и близко подпускать.

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

anonymous
()
Ответ на: комментарий от anonymous

Он для этого не очень хорошо приспособлен.

Как раз очень неплохо. Никакой магии, никакого realloc втихую.

sv75 ★★★★★
() автор топика
Ответ на: комментарий от sv75

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

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

Это одна из причин, почему, например, в МФТИ не употребляют стандартную, практичную и такую нужную систему единиц СИ, а вместо этого пользуются абстрактной и непрактичной СГС(э/м), от которой сразу переходят к (h=c=1). После этого уже студент будет задаваться вопросом, откуда в Си такая гадость, как «диэлектрическая проницаемость вакуума». В то же время, в ВУЗах похуже, где преподают сразу на СИ, студенты воспринимают это как какое-то фундаментальное свойство природы и потом демонстрируют совершенно адские искажения сознания (например, воспринимая ту самую диэлектрическую проницаемость как что-то реальное).

anonymous
()
Ответ на: комментарий от anonymous

Студент ни тем ни другим не наделен в должной мере.

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

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

sv75 ★★★★★
() автор топика
Последнее исправление: sv75 (всего исправлений: 2)
Ответ на: комментарий от sv75

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

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

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

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

А студенты, которых сразу учили «делай так, это правильно, а goto бойся - это кака», те становятся тупыми обезьянками-копипастерами. Потому как думать не умеют вообще и учиться не способны.

anonymous
()
Ответ на: комментарий от anonymous

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

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

А студенты, которых сразу учили «делай так, это правильно, а goto бойся - это кака»

А зачем так учить?

sv75 ★★★★★
() автор топика
Ответ на: комментарий от anonymous

А студенты, которых сразу учили «делай так, это правильно, а goto бойся - это кака»

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

sv75 ★★★★★
() автор топика
Ответ на: комментарий от anonymous

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

Жаль, не могу код контрпримера показать, инсайд (

sv75 ★★★★★
() автор топика
Ответ на: комментарий от sv75

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

Потому как математика - экспериментальная наука. Все, что у нас в математике есть, родилось исключительно для объяснения физики (и, соответственно, ее экспериментальных фактов).

А зачем так учить?

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

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

anonymous
()
Ответ на: комментарий от anonymous

Потому как математика - экспериментальная наука. Все, что у нас в математике есть, родилось исключительно для объяснения физики

Ой, особенно матлогика, по обоим пунктам, да.

Я вообще предпочитаю программистов, не имевших «профильного» образования.

Да, я давно это понял. К счастью, вы не единственный работодатель в РФ. Более того, к счастью мир шире представлений отдельных физтехов о нём.

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

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

sv75 ★★★★★
() автор топика
Ответ на: комментарий от anonymous

А иначе не научить писать «хороший код» и «следовать хорошим практикам» тех, кто к этим хорошим практикам не пришел сам, на своих шишках.

Приход на шишках обязателен. Это и рассматривается как идеальные практические знания. У нас, во всяком случае. Только от придти надо в вузе, делая лабы.

А у вас почему то «практические знания» == «догматы». Не знаю, от чего так.

sv75 ★★★★★
() автор топика
Последнее исправление: sv75 (всего исправлений: 1)
Ответ на: комментарий от sv75

Ой, особенно матлогика, по обоим пунктам, да.

Именно матлогика, и именно для физики. Ее (как и вообще теорию доказательств) оттачивали, когда матанализ строили. А матанализ строили ради механики.

К счастью, вы не единственный работодатель в РФ.

Мое мнение разделяют очень, очень многие работодатели из Fortune-100.

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

А я регулярно ржу над кодом выпускников CS-специальностей.

anonymous
()
Ответ на: комментарий от sv75

Только от придти надо в вузе, делая лабы.

Утопия. Никто еще никогда на лабах ни одной шишки не выкурил набил.

anonymous
()
Ответ на: комментарий от anonymous

Именно матлогика, и именно для физики. Ее (как и вообще теорию доказательств) оттачивали, когда матанализ строили.

Основы матлогики заложены в Греции. Важные для CS достижения — спустя ~250 лет после матанализа. Вы о чём?

Утопия. Никто еще никогда на лабах ни одной шишки не выкурил набил.

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

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

Мое мнение разделяют очень, очень многие работодатели из Fortune-100.

Всё-то вы знаете.

sv75 ★★★★★
() автор топика
Последнее исправление: sv75 (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.