Курс в целом понравился, за исключением вводных лекций. Студентам ФИТ про основы С / С?++ рассказывали достаточно, а вот про STL не рассказывали почти ничего.
Я думаю, что курс только выиграл бы, если убрать вводные лекции.
Впринципе согласен. Курс хороший и заставил меня задуматься о том, что нужно улучшить свои знания по предмету и показал пути улучшения о которых я раньше мало задумывался ( связанные с дизайном программ, ОО Проектированием и проч. ), благодаря ему я купил много интересных книг, правда из-за сессии прочесть все не успел.
Как было замечено на лекциях, курс из обучающего программированию на C++ превращался местами в обучающий объектно-ориентированному проектированию. Действительно, вопросы ООП неразрывно связаны с написанием чего-то хоть сколько-нибудь нетривиального на языке C++. И в связи с этим единственное недовольство: не было достаточно сложных примеров программ, из которых было бы видно «КАК НАДО». Это относится практически к любым правилам, применяемым при проектировании, данным на лекциях. То есть не хватало «больших иллюстраций», подобранных специально и со знанием дела. Их даже не обязательно давать непосредственно на лекциях, можно просто оставить «за кадром» для самостоятельного изучения слушателями, садящимися за выполнение своих задач.
В остальном курс понравился.
А ещё не очень удобно доделывать задачи во время сессии :-)
Появилось желание двигаться дальше в изучении С++.
Уже использую, в частности boost.
Больше информации, в то числе и из реальной практики, по STL.
1. Достаточно часто лекции «звучали» монотонно...как будто «пара философии в субботу утром»...
2. Мало лекций – хотим больше.
Слишком много материала в слишком короткий для этого промежуток времени.
А в целом, понравилось!
--
Taras
Спецкурс в целом понравился, услышал много полезного, в том числе о некоторых практических тонкостях с++ и информацию о книгах, которые действительно бы стоило прочитать. Из пожеланий к спецкурсу – наверное, стоит убрать одну-две начальных лекции, несущих информацию первых страниц любого учебника, а вместо них добавить больше сложных примеров правильного OOP и OOD, так как у большинства были проблемы именно с правильным проектированием ;)
Курс достаточно хороший, но, на мой взгляд, больше внимания стоит уделять практике.
Понравилось то, как было расказано об STL (основные сведения о большом количестве вещей), хотя я был вынужден пропустить несколько лекций по этой теме. По поводу ООД – по моему, стоило подобрать некоторое количество примеров, возможно не очень больших, в которых бы показывались типичные нарушения принципов ООД, и приводились бы верные решения, ну и примеры использования паттернов, которые человек мог бы просматривать при написании задач.
* Как изменилось (если изменилось) ваше отношение к предмету?
Я понял, что язык С++ требует к себе специального отношения.
Раньше я полагал, что главное и почти единственное – это базовые принципы объектно-ориентированного проектирования, которые можно и нужно использовать во всяком современном языке. А С++ – лишь один из языков с поддержкой ООП, эдакая Java без сборщика мусора. Я, разумеется, знал, что в С++ есть интересные иснструменты: перегрузка операторов, шаблоны и проч. Однако, у меня было впечатление (отчасти инспирированное книжками Саттера из серии Exceptional C++), что если ты не считаешь себя окончательным гуру, то лезть туда не стоит – проблем возникнет больше, чем появится преимуществ. Теперь же я убедился, что и простые смертные могут вполне пользоваться шаблонами и перегрузкой операторов, и при более-менее аккуратном подходе возмездие за гордыню не будет слишком жестоким.
Правда, в таком разнообразии «продвинутых» средств есть один давно замеченный недостаток: сейчас мне хочется не столько программировать, cколько играть с языком. :)
Ещё я понял, что надо бы лучше разобраться с возможностями шаблонов – они, похоже, почти безграничны.
* Используете ли вы полученные знания в своих проектах, помимо решения контрольных задач?
Да. Не возьмусь назвать конкретное «знание», которое я применил, но я стал гораздо лучше понимать, что именно я пишу, достоинства и недостатки своих решений.
* Что вам понравилось?
Почти всё. Но особенно:
Процесс сдачи контрольных заданий :) Это было круто.
Лекция по ООД были хороши.
И ещё в конце был очень яркий пример разработки класса Stack.
* Что вам не понравилось? / Что, на ваш взгляд, можно было бы улучшить?
Можно было бы несколько сократить вводные лекции, в которых шла речь о вещах достаточно известных, и знания этого материала прверялись на входном тестировании, и уделить больше внимания STL. Например, крайне мало было сказано об алгоритмах и итераторах. Например – как написать свой итератор, чтобы он был совместим со стандартными алгоритмами? Или как написать свой алгоритм, чтобы он был совместим с контейнерами? В общем, главное пожелание – больше STL.
Тут есть ещё один аспект. Как правило, cам язык С++ изучается в обязательных курсах, но оба известных мне «cтандартных» курса С++ (на ФИТ-е и на ФФ/АФТИ) почти полностью упускают STL. Это вовсе не недостаток, у них просто другая цель – научить не С, а собственно программированию, и в этом случае знание STL может оказаться даже вредным, ведь с учебной точки зрения гораздо полезнее разработать свою реализацию, cкажем, типа данных «очередь» нежели применить стандартный шаблон.(На семинарах по этим предметам иногда даже явно запрещается пользоваться шаблонами из STL – и определенная логика в этом есть) Однако факт остаётся фактом – STL в его более-менее продвинутом использовании (не просто – «добавить в вектор») упущен. И сейчас я считаю, что это на текущий момент мой серьёзный пробел в знании С.
В целом, всё было очень хорошо.
Maksim Ananjev?
NOTE: В предпоследнем абзаце – вместно C читать «Си-плюс-плюс». Издержки форматирования, плюсы куда-то скушались :)