Глубоко в Джунглях
Jul. 28th, 2009
05:18 am - Неожиданно для всех...
...поступаю на матмех. На вечернее и за деньги.
Точнее, уже поступил. Как видно, конкурс был небольшой :) С политехом и преподавательской деятельностью, видимо, на этом прощаюсь.
Upd: Эта забавная статистика.
Почём что стоит в СПбГУ
Сколько народу ломанулось на дневное (побочный эффект ЕГЭ: можно подавать документы в 10 вузов одновременно, народ так и поступает)
.. на вечернее
.. на заочное
Все абитуриенты этого года в древовидном представлении
May. 19th, 2009
03:33 pm
Продолжая тему предыдущего поста :) Вообще, исходно он был совсем не про образование, а немного шире, именно про пользу от теории... Но потом куда-то свернули. Ну да ладно, свернули так свернули.
Вывод будет в конце.
... именно из-за этого, как мне кажется, в программировании столько "дилетантов" :) Чтобы стать физиком нужно много учиться, чтобы стать строителем нужно много учиться, чтобы стать химиком нужно много учиться... Чтобы стать программистом? Уважаемые
По идее меня пять лет натаскивали и обучали программировать. За пять лет можно горы свернуть. По идее я должен быть мегакрут. Видимо что-то не так со мной... Однако, из моей группы кроме меня в программисты пошло человека два. Большинство -- в тестеры. Староста -- в стройальпы. Хотя ведь они все прошли этот бесчеловечный пятилетний тренинг.
Ну да, допустим Политех suxx, особенно наша кафедра, и это действительно недалеко от истины. Но как же эти физики, химики (есть соответствующий знакомый) и лингвисты (вот позор на нашу "техническую" специальность!) программируют?!
А очень просто. Дело в том, что вас обманывают. Дело в том, что "прикладное" программирование это не просто, а очень просто. Сферический прикладной программист не должен знать и уметь:
- Железо, ассемблер, регистры, двоичная система счисления -- все такие вещи абсолютно не нужны. Мы используем языки высокого уровня, а часто и вообще скрипты.
- Алгоритмы, математику вообще. В любом языке есть функция sort, есть hashmap, есть ассоциативный массив какой-нибудь. Что там ещё надо-то?
- SQL и реляционную алгебру. Современные ORM прекрасно справляются.
- Как устроены сети ниже уровня "поток байт". Концепция сокета прекрасно маскирует всё нижележащее начиная с 80-х. А по последним данным сетей вообще нет, удалённые вызовы ходят прозрачно.
- Концепция файла эффективно скрывает все детали реализации файловых систем, все эти сектора и кеши.
- Выделение памяти происходит тоже само.
- Без многопоточности можно прекрасно обойтись в 99% случаев. Более того, это таки действительно хороший стиль -- без неё обходиться.
- Детали реализации ОС тоже не нужны.
- Пролог, хаскель, схема и прочая такая же ботва
Что там осталось?
- Синтаксис языка программирования
- Любимая библиотека
Всё! Это, вообще-то, с трудом тянет на двухгодичное обучение в ПТУ.
Да, действительно, есть особые отряды программистов специального назначения... Некоторые из них, например, знают SQL. Таких днём с огнём ищет
Конечно, при прочих равных, приятно, когда у тебя умные коллеги, с которыми можно пообсуждать что-нибудь в перерыве. Как выясняется, в среднем физики и математики и лингвисты более чем удовлетворяют этому требованию. Конечно, редко-редко бывают ситуации, когда мифологические представления (о железе, об ОС), складывающиеся у сферического прикладного программиста оказываются неадекватны, причём настолько, что это влияет на код, причём так, что код не работает. В этом случае он попадает в затруднение, ему нужна кратковременная помощь эксперта. Но, если человек обучаем, обычно это не проблема. Физики и математики и лингвисты в среднем обучаемы.
Да, вывод. Дело в том, что знание того, что не должен знать сферический прикладной программист не даёт ключевого преимущества. Оно даёт только расширение возможной области деятельности в те области, где эти специфические знания нужны. Там действительно могут быть бОльшие зарплаты -- но скорее потому, что подходящих людей меньше, а не потому что они чем-то "более лучшие" программисты.
Т.е. на данный момент программистов толком нечему учить. Программу заполняют всякими как-то косвенно относящимися к делу вещами... И это лучше чем ничего, конечно. Но в целом печально.
Если бы я учил программистов, я бы постарался дать им опыт работы над сильно разными проектами из сильно разных областей. Тогда они могли бы по крайней мере действительно выбирать любую область работы. И даже работать в сложных случаях, когда требуется одновременно аж два знания из разных областей. И это да, некоторое практическое преимущество, возможность сменить работу на совсем другую, знакомство с разными паттернами, применяемыми в разных областях. Может даже количество перейдёт в какое-то качество, хотя это и не очевидно.
Да, и я думаю, программирование через некоторое время выйдет из этого странного промежуточного состояния. Например, останется 1% "программистов" от сегодняшнего, а остальное будет настолько упрощено, что с задачами прикладного программиста будут справляться пользователи без подготовки вообще.
May. 18th, 2009
12:48 am - Теория
Почувствовал пользу от теории :) Весьма, гм, специфическую.
Был у нас такой предмет "Перспективные микропроцессоры", вёл его Юрий Евгеньевич Шейнин. Рассказывал про конвейеры, кеш, предсказание переходов, векторные инструкции, VLIW прочее подобное. Мужик он умный, знает много, рассказывал интересно. Да и материал благодатный: это как раз тот случай, когда нужно понимать логику архитекторов, т.е. думать головой.
Но курс, очевидно, бессмысленный и беспощадный: всё это слишком далеко от практики, практически ничего из описываемого невозможно пощупать, даже если специально стараться. Будь ты аппаратчик или программист, если ты не занимаешься разработкой процессоров, предсказалка переходов тебе параллельна, применить знания о ней не получится никак. А если ты разрабатываешь процессоры, то уж как-нибудь объяснят, наверное (с кешем столкнуться проще, но и это тоже очень нетривиальная задача).
То есть ничего особенного, дающего конкурентные преимущества имеющего практическую пользу, в рамках этого курса нам не рассказывали. Это было скорее для общей образованности, для введения в контекст.
А теперь посмотрим, как эта общая образованность мне пригодилась.
Я сейчас читаю доки по POWERx/PowerPC. И там довольно много пишут про кеши, конвейер, переходы и т.п. И благодаря тому, что я в курсе, что это такое, я понимаю, что по сути ничего особенного они не пишут :) Так вот, поинт в том, что развив здоровый пофигизм в отношении непонятных деталей, интуицию и уверенность в себе, этого результата можно было бы достичь и без теории вообще :) Более того, в 99% случаев можно и без интуиции.
При этом я-то как раз подобные штуки очень люблю. Мне только волю дай -- буду сидеть и разбираться, как оно работает, сам ничего не делая :) Но я отношу это на счёт своих психологических комплексов и стараюсь себя как-то контролировать.
Upd: Как обычно, в комментах пришёл к сути того, что хотел сказать.
Я не против таких курсов, прикольно быть образованным. Я просто отмечаю сугубую не обязательность подобного образования. И низкую практическую эффективность в плане подготовки инженера.
Как заметил многоопытный
lumag, существуют ситуации, когда подобные знания оказываются полезны. И тут я не могу с ним спорить. Но, на мой взгляд, проблема в том, что в таких ситуациях знаний оказывается нужно гораздо больше, и более конкретных: не про вообще, а про вот этот вот процессор. Конечно, владение общим контекстом облегчает задачу получения конкретных знаний. Но по идее, можно и этот контекст изучить тогда, когда понадобится, благо в данном случае всё вполне тривиально, всего пара идей на всю индустрию.
Да, и конечно, общее образование полезно, и мозги развивает, и вообще. Но, может быть, это не самый эффективный способ расходования [учебного] времени?
Я правда не знаю. Общие слова про расширение кругозора и сознания я и сам могу сказать. И мне тоже кажется, что это важно. И я сам этим для себя занимаюсь. Но мало ли чем я занимаюсь. У есть некоторые сомнения в собственной адекватности, так что это не аргумент. Ещё у меня нет никаких экспериментальных данных, и я даже не знаю, какие измерения могли бы решить проблему, т.е. нет даже никаких конкретных утверждений. Есть пока только вот такие вот смехуечки над практической полезностью теории :)
Upd2: В данном случае в кои-то веки вопрос не "что мне пригодилось из того, чему нас учили", а что-то типа "мог бы я освоить это без отрыва от производства, если бы мне понадобилось". Если ответ "да", то допвопрос: "насколько и куда это расширяет поле моей возможной деятельности". Если ответ "да в общем-то и никуда особенно", то "для чего мне это изучать сейчас". Вот с этих позиций.
Nov. 2nd, 2008
05:36 am - Остаточные классы
Продолжаем выковыривать изюм из лекций. Самое красивое, интересное, бесполезное :) В этот раз речь про очень простой, очень красивый и неожиданный способ представления чисел, подававший большие надежды где-то в 60-х, но благополучно померший впоследствии: не смогли преодолеть критический недостаток. Но сама идея!
А идея такая:
- берём несколько взаимно простых чисел, для конкретности пусть их будет 3: p, q, g
- для любого числа x можно вычислить тройку остатков от деления: [x mod p], [x mod q], [x mod g]
- так как числа взаимно простые, остатки независимы, т.е. любому остатку от деления на p может соответствовать любой остаток от деления на q. Значит таких троек ровно pqg штук
- так как иксов от 0 до pqg (включая 0, исключая pqg) столько же, то более-менее понятно, что разным x в этом диапазоне соответствуют разные тройки. Т.е. можно установить взаимно-однозначное соответствие, а значит можно использовать тройку остатков для представления числа x.
Например, возьмём числа 5, 7, 9
5 * 7 * 9 = 315
42 --> 42 mod 5 / 42 mod 7 / 42 mod 9 = 2 / 0 / 6
126 --> 128 mod 5 / 128 mod 7 / 128 mod 9 = 3 / 2 / 2
На виндовом калькуляторе в "инженерном" режиме есть кнопка Mod, это оно.
Теперь вспоминаем свойства остатков:
(a + b) mod c = ([a mod c] + [b mod c]) mod c
(a * b) mod c = ([a mod c] * [b mod c]) mod c
то есть, сложение, вычитание, умножение можно производить по частям.
2 / 0 / 6 + 3 / 2 / 2 = 0 / 2 / 8
128 + 42 = 170 --> 170 mod 5 / 170 mod 7 / 170 mod 9 = 0 / 2 / 8 -- всё правильно
Для того, чтобы понять, почему это круто, нужно немного понимать как работают железки и немного знать, как устроены сумматоры и умножители. Именно для этого был написан предыдущий пост :)
Про умножители там ничего нет, но с ними всё так же, только гораздо хуже, в подробности вдаваться не будем.
Какие из него можно сделать выводы:
- Железо по своей природе работает параллельно, независимые части выполняются одновременно. Применительно к нашему случаю: все три остатка можно складывать/умножать одновременно.
- Чем меньше разрядов, тем быстрее сложение и умножение. Так как каждый остаток примерно в три раза короче "нормального" числа, сложение/умножение займёт примерно в три раза меньше времени.
Это прорыв!!
Но... К сожалению, операция деления за разумное время не реализуется, никак. И перевести число из вида a/b/c в какой-нибудь "обычный" -- очень сложно. А без этого использовать такие числа вряд ли кто-нибудь когда-нибудь будет. Вот так вот.
Upd: В обсуждении всплыло. Так же непонятно, как делать сравнение больше-меньше и проверку на переполнение при сложении/умножении.
05:07 am - Немного про сумматоры
Основная особенность железок -- их количество и состав не меняется в процессе работы. Сколько проектировщик нарисовал, столько и есть, всё время. Это довольно-таки очевидно, но следствия интересны.
Раз железка есть, значит к ней и от неё идут какие-то проводочки, на которых есть какое-то напряжение. Напряжения не может не быть, оно может быть нулевым, но это ничего не меняет.
А это значит, что все они всё время как-то работают. Чтобы железка перестала работать, у неё должен быть специальный вход, который её "выключает". Почему в кавычках -- потому что это достаточно условное отключение. Грубо говоря, это блокирование выходов, т.е. перевод в такое состояние, когда она другим не мешает. Если же их не отключать, то они все работают одновременно, как рабочие на конвейере; только таких "конвейеров" несколько и соединения не линейное-последовательные, а посложнее.
Обычный n-разрядный сумматор складывает два n-разрядных числа и имеет 2n входов и (n+1) выход. Он состоит из n одноразрядных сумматоров. Одноразрядный сумматор имеет три входа и два выхода. На входе у него i-е разряды чисел и перенос из младшего разряда. На выходе -- i-й разряд результата и перенос в старший разряд, который цепляется к (i+1)-му одноразрядному сумматору.
Выглядит это как-то так (нарисовано, скорее всего, не по стандарту, ну да ладно):
Слева -- младшие разряды, справа -- старшие. Входы у сумматоров слева, выходы справа.
Что в этой картинке печально: маленькие сумматоры работаю быстро, но не мгновенно. Значит перенос в следующий разряд они вычисляют с задержкой. Значит результат работы следующего сумматора становится адекватным только тогда, когда до него дойдёт перенос... В общем, чтобы посчитать последний разряд, нужно дождаться пока до него дойдёт перенос от самого первого. В результате время работы n-разрядного сумматора что-то около n * время_работы_одноразрядного_сумматора. Хотя, казалось бы, у нас их n штук и все могли бы одновременно... Но вот не получается.
Сумматор -- основное рабочее устройство в процессоре, ускорять его -- почётно и важно. Есть всякие схемы "предсказания переноса", они позволяют старшим разрядам получать актуальный перенос немного раньше, чем он до них дошёл бы естественным путём. Но это сложные и не интересные решения. А есть простое и красивое: с помощью грубой силы.
( Вот так вот )
Проигрыш в количестве железа -- 1,5 раз; выигрыш во времени -- 2 раза.
Мультиплексор относительно простая и быстрая штука, им при подсчётах пренебрегли. Это можно делать только до какой-то степени; например, при помощи мультиплексоров довести время работы до времени работы одноразрядного сумматора точно не получится.
Oct. 31st, 2008
08:13 pm - Числа
Здравствуйте, дети! Скажите, кто знает, что такое натуральные числа? Все! Ой как хорошо. А, скажите, кто может объяснить? Ты, Васенька? Ну давай. Гм, гм, "положительные целые числа", нет, не пойдёт. Тебе придётся объяснить, что такое "целые числа", а это сложнее. Ещё у кого есть версии? Количество яблок? Мне кажется, вы не понимаете, зачем нужно объяснять.
Натуральные числа это некоторые математические объекты, чтобы делать о них какие-то утверждения, вводить на них операции (сложение, умножение), нам нужно какое-то формальное определение. Иначе операция сложения останется такой же неформальной, на уровне "было две кучки яблок, сложили их в одну". И доказывать теоремы, в которых используется сложение, станет невозможно, это печально.
Да-да, вы совершенно верно вспомнили, что точки и прямые это неопределимые понятия. Но у нас есть аксиомы, задающие свойства, на которые можно опираться в доказательствах. Например, "через любые две точки на плоскости можно провести прямую и притом только одну". И т.п. Вот чего-нибудь такого хотелось бы.
Натуральные числа
О том, что такое натуральные числа нам всем рассказал Джузеппе Пеано (говорят, ударение на "а", ПеАно), книжка вышла в 1889 году. С тех пор его объяснение широко известно как аксиомы Пеано или "арифметика Пеано". В исходном варианте это выглядело так:( Про Пеаоно и его числа )
Дважды два -- четыре. Всё верно!
Изображения
Что же такое тогда: "0", "1", "2", ... "41", "42", "43", ...?( ? )
Операции над изображениями
Что такое сложение в столбик? Это алгоритм, получающий на вход две строки символов и выдающий на выход одну строку. Алгоритм работает в терминах изображений, символов, он ничего не знает об "истинных натуральных числах".Но в чём его суть: если есть числа n1 и n2, и изображающие их строки s1 и s2, то (s1 + s2) является изображением (n1 + n2). Это называется изоморфизм (если мне не изменяет память). Аналогично для других операторов.
Если это условие выполняется, то алгоритм сложения "правильный". Для разных видов изображений такие алгоритмы будут иметь разную сложность, с этой точки зрения изображения могут быть более или менее удобными для тех или иных применений.
Например, умножать римские числа ужасно. А русские числительные сложно даже складывать: надо сначала конвертировать в десятичные, потом складывать и конвертировать обратно.
Могут быть какие-то параметры для предпочтений: по используемым символам, по быстродействию... Что важно: это всё –- строки и алгоритмы над строками. Они все равнозначны и являются числами примерно в одинаковой степени.
Немного глубже всё немного хитрее. Функция S произвольна, она может принимать и возвращать в том числе и строки символов. Любые. Может -- десятичные числа. И это будет корректная функция и корректные числа. Вопрос в том, чтобы не останавливаться на одном варианте, и не приписывать числам свойства строк. Например, признак деления на 3 -- типичное свойство представления. Он не работает ни с шестнадцатеричными, ни с двоичными числами, не определён для русских числительных. А вот коммутативность сложения -- свойство общее.
Примерно так могла бы начинаться моя сегодняшняя лекция, если бы половину я не забыл, половину бы не сократил, не заменил бы 0 на 1... Ну и начало, которое курсивом, конечно, откуда-то из детского сада :) Никаких "детей" и "ой как хорошо" :) И даже фамилию "Пеано" вспомнили и как правильно произносится сказали. Дальше, правда, не вспомнили, ну должен же и я что-то рассказать. А вообще мне очень понравилось. Интересно, как студентам.
Sep. 15th, 2008
11:46 pm - Теория вычислений, программа, beta-1
Чему я буду учить детей весной, если дело выгорит (громко не ржать!):
( Вступительное слово )
Программа
| Лекций | Самостоятельно | |
| Конечные автоматы | ||
| 1. Детерминированные конечные автоматы. | ||
| 2. Недетерминированные конечные автоматы. | 2 | |
| 3. Преобразование НКА в ДКА | ||
| 4. Алгоритм минимизации ДКА. | 2 | 4 |
| Регулярные выражения | ||
| 5. Определение, основные свойства. | ||
| 6. Преобразование регулярного выражения в НКА | 2 | |
| 7. Стандартные расширения языка регулярных выражений. Утилиты grep, flex, регулярные выражения в Python. | 2 | |
| 8. Реализация лексического анализатора | ||
| 9. Лемма о накачке. | 2 | 4 |
| Контекстно-свободные грамматики | ||
| 10. Определение, основные свойства. | ||
| 11. Атрибутные грамматики | 2 | |
| 12. Алгоритм разбора рекурсивным спуском. | 2 | |
| 13. LL- и LR-грамматики, алгоритмы разбора. | 4 | |
| 14. Инструменты antlr и bison | 4 | |
| 15. Лемма о накачке для КС-грамматик | 4 | |
| Машины Тьюринга | ||
| 16. Определение, основные свойства, теоретическое значение. | ||
| 17. Варианты машин Тьюринга, преобразования между ними | 2 | |
| 18. Разрешимые, перечислимые, неперечислимые множества. Проблема останова. | 2 | |
| 19. Классы сложности P, NP, PSPACE. | 2 | 4 |
| Курсовой проект | 4 | 16 |
( Немного подробнее, тем же весёлым языком )
На данный момент половину программы я представляю себе довольно ясно, а половину - довольно смутно... К счастью, впереди ещё вся осень и почти вся зима. "Самостоятельно" - это домашние задания, пока планирую по штуке на раздел. Ну и курсовик, конечно. 4 часа лекций на курсовик - устроим публичную защиту.
Более подробного плана пока в природе не существует.
Мысли-предложения?
Apr. 27th, 2008
01:16 am - Antonio Carzaniga

Это профессор факультета информатики университета Луганы (Швейцария). Он жжот. Я очень сомневаюсьне уверен, что он большой учёный.. Но как он рассказывает! Глаз не оторвать. Я разных лекторов видел: плохих, хороших, очень хороших... Но такого свободного, раскованного, открытого - первый раз. И при этом всё очень и очень толково. Правда, пока что вещи он рассказывает довольно простые, но очень качественно (про сетевой транспортный уровень: как на базе ненадёжной, ориентированной на пакеты сети, построить надёжное соединение типа TCP; я это, в общем, представлял; с другой стороны "простота" понятие условное, тоже самое можно рассказать и довольно сложно :)).
Но его манера себя держать настолько непохожа на всех остальных, что я даже серьёзно задумался :)
Да, конечно, в данном случае он работает в менее агрессивной среде. Среди слушателей практически не было случайных людей, все пришли учиться, никого не волнует отсрочка от армии или корочка - корочку всё равно не дадут. Да, конечно, у него тут только три лекции, а не семестровый курс, и обучение не "плановое", он может выбрать свои любимые темы. Но всё равно...
Интересно было бы "понаблюдать его в естественной среде" :) Интересно было бы посмотреть, как он принимает зачёты у бездельников :)
( Мысль рассказчика пошла в сторону... )
Да, всё это было сегодня в CSClub-е. И будет ещё завтра, а так же первого и второго мая. А третьего - экзамен. Так что на Бельтайн я, походу, не еду :( Очень жаль, но такое я пропускать не хочу. Лекции на английском, но вполне понятно. Второй зарубежный профессор Fernando Pedone как-то совсем не впечатлил, но будет ещё третий и наша девушка, которая, впрочем, тоже профессор в той же Лугане.
Как будет видео с лекциями Антонио - кину ссылку, посмотрите обязательно. Просто чисто на мужика. Не обязательно всё, минут пять-десять достаточно.
Upd: Никто случайно не знает перевод È la somma che fa il totale ? Это у него на страничке типа эпиграфа или девиза... Промт выдаёт Именно сумму он делает итогом, но, либо он чего-то не понимает, либо это цитата, не очевидная без контекста.
---------
* идеализация, как и абстрагирование - некоторое упрощение, не учитывающее некоторых конкретных особенностей.
Jan. 2nd, 2008
02:49 pm - Осциллографы
Все про новый год, а я -- про осциллографы :) Отдаю долги старого.
Если кто-то ещё помнит, я раз в неделю хожу в политех и веду там лабы... Про них, родимых, и хочется написать.
( Так что же это такое? )
Ну и ещё три лабы примерно в том же духе. Когда осваивал в сентябре-октябре -- очень интересно было, почти ничего ничего этого я не знал. Хотя когда-то, года три назад, тоже это всё сдавал.
Nov. 13th, 2007
06:58 am - Образование - II
Как и собирался, слегка переработал текст. Никаких существенных изменений - постарался более явно расставить акценты, добавил раздел FAQ - конструктив из обсуждений. Раскрасил в RGB :)
( Кому не лень - гляньте :) )
Отдельное большое спасибо за содержательные комментарии
ran_dom,
f_i_s_h_b_o_n_e, Лёше Лычкину и Tilir - их критика помогла мне более точно сформулировать мысли, изложенные в основном тексте, сами критические замечания и мои ответы на них стали основой для раздела FAQ.
Nov. 2nd, 2007
12:24 am - ...
Прочёл первую в жизни лекцию (хлопок пробки, чепчики и мячики - тоже в воздух). Про двоичные числа. На 3 часа. Интересно, как это выглядело со стороны :) Изнутри - нормально, только несколько сумбурно - недостаточно подготовился (это я в процессе осознал, что недостаточно, до начала мне казалось, что нормально), не подробно спланировал, можно было рассказать более системно. Очень быстро как-то получилось. Нам аналогичный по объёму материал толкали гораздо дольше... Ну, я, конечно, лишнее выбрасываю и рассказываю менее строго - специальность у них не та немного всё-таки... Но всё равно - очень быстро. Интересно, поняли они что-нибудь, или нет? :) В следующий четверг - вторая и заключительная. Там и проверим.
Провёл два дня без интернета - у Web Plus-а были проблемы. За это время кучу всего успел. Задумался над результатами - в сети меня будет меньше. Точнее, я постараюсь :) Тот ещё наркотик, конечно.
Купил чёрный флаг с черепом и костями, повесил на стенку. Декор :)
Oct. 5th, 2007
05:13 am - Образование
Небольшой текстик накатал.. Планирую с ним [только переделанным - стиль не тот немного :)] пойти на кафедру :) Ув.тов. френды! Просьба - покидайте ссылки и помидоры, и расскажите, как с этим было/есть у вас в ВУЗе.
intro
Став преподом, я понял то, чего раньше не понимал. Они принципиально не видят - не могут видеть целостной картины обучения. Грубо говоря, у каждого преподавателя своя комнатка, к нему раз в неделю заходят студенты, он их обучает, старается сделать это как можно лучше и интереснее, через полгода студенты уходят, а к нему приходит следующий курс. Что происходит со студентами снаружи комнатки преподаватель не знает, и не очень хочет знать. Да и не может практически - всё-таки пять лет это пять лет, это большой срок, это куча курсов и знаний, вываливаемых на студентов.
По идее, за это должны отвечать какие-нибудь специальные люди. Методисты, наверное, или кто там ещё... Но они явно бьют баклуши. Или сидят где-нибудь в министерстве, а у нас же - местная списифика!
В итоге, целостную картину происходящего видят (и ощущают на себе) только студенты. К счастью, я как раз недавно был студентом, ещё не забыл, каково это ... и планирую всё к чёрту поменять :)
( ..continue... )
Копию запустил сюда: http://rsdn.ru/Forum/message/2681671.fl
Upd: текст признан неудачным, т.к. отражает содержащиеся в нём мысли недостаточно явно. Вторая версия готовится.
Upd2: Вот вторая версия: http://fat-crocodile.livejournal.com/54
Sep. 23rd, 2007
10:23 pm - Уникум
Попался уникальный студент. Умудрился в одной лабе (правда, в разных программках) сделать три потрясающие ошибки. Ну и ещё пяток обычных :) но это не так интересно. Все потрясающие ошибки связаны с представлением чисел:
- В первом случае он написал что-то типа 00111111b и надеялся, что это будет двоичное число. Но надо знать, на чём мы пишем! a86 по умолчанию считает все числа, начинающиеся с 0 шестнадцатеричными. А b - нормальная шестнадцатеричная цифра... Правильная запись выглядит так: 00111111xb
- Во втором случае он написал Ch и предполагал, что это 12 в шестнадцатеричном формате. А на самом деле это старший байт регистра CX :) Правильный вариант 0Ch
- В третьем случае просто 70 вместо 70h.
Отличные ошибки, одной буковки не хватает, а как смысл меняется! Не, понятно что у всех бывает, но чтобы так кучно.... Если бы он хотя бы отлаживать нормально умел, а не сидел уставившись в монитор :(
Upd: А вообще я жутко доволен. Это здорово - когда можно кого-то чему-то учить и никто не говорит "не учите меня жить, лучше поставьте зачёт" :) Только думают... И вообще, таким умным себя чувствуешь :)) А если серьёзнее, то чувство, что делаешь что-то реально полезное для реальных людей (помогаешь получить зачёт :) ) - оно классное. Правда, после некоторого анализа я понял, что до сих пор слишком много делал сам, нужно было больше объяснять, а делать должны они. Буду работать над собой.
Jul. 18th, 2007
04:21 am - Огрызки методички по ЦОС
Весной 2006, вместо честного зачёта-экзамена по ЦОС (цифровая обработка сигналов; digital signal processing), преподаватель (А.В.Лупин) предложил мне поучаствовать в написании методички (там всё запутано было, я возвращался из академки и этот курс вообще не слушал, но сдать был должен). Я и согласился :) Правда, довольно быстро выяснилось, что он от методички ждёт соовсем другого. Ему нужен был пересказ его же лекций, которые меня не очень устраивали... А я, как обычно, полез разбираться с основами.
В итоге, мы сошлись на тупой работе по перерисовыванию рисунков из конспекта с моей стороны (в Visio, с тех пор я его не очень люблю) и четвёрке с его, на чём и разошлись, не слишком довольные друг другом. А то, что я начал писать - осталось.
Что там есть полезного - внятное описание преобразования Фурье и быстрого преобразования Фурье. Внятное в том смысле, что широко известная формула не приводится, а выводится и обосновывается. Почему-то в доступных источниках мне ничего подобного не попадалось. Только в книжках по мат-анализу, но это же ещё догадаться надо распространить доказательство на дискретный случай... В общем, я как раз догадался :) Параллельно значительно вырос в собственных глазах - оказалось, что даже через столько лет умственного застоя способен воспринимать формулы с интегралами :))
Помимо этого, вроде бы, мне удалось достаточно строго и понятно ввести основные понятия ЦОС, что также не может не радовать.
Итак:
dsp.zip -- 122 Кб архив, внутри вордовский документ и несколько картинок.
ch01.pdf -- 344 Кб pdf-ник, за конвертацию спасибо oziro
Вряд ли я когда-нибудь закончу или продолжу, но, возможно, оно и так будет кому-то полезно.
Jun. 29th, 2007
04:53 am - Кракадил - пидагог
Всё, я теперь ассистент на полставки в родном институте. Нагрузка - 4/6 часов в неделю. 4 часа программирования железа на ассемблере, 2 часа-через-раз - распределённой жабы :)) А платить мне будут аж 1200 рублей в месяц.
Поскольку там меня не будут держать абсолютно никакие денежные интересы, есть шанс, что я рискну и устрою им баальшие перемены :) Хотя бы, по ассемблерам. Ну и жабу выучу заодно.
Студенты - берегитесь!
Mar. 23rd, 2007
09:51 pm - В продолжение темы лабораторных по оргазму...
Тема начата тут.
Откопал фотографии :) У меня очень мало фотографий моей группы - кроме выложенных есть ещё штуки 2, плюс ещё одна бумажная была. Удивительно, что большая часть - именно на тех самых лаборатрных.
( Фотки, плохого качества, зато легкие )
Да, вот такая у нас была группа :) Одни имена чего стоят!
Mar. 16th, 2007
03:22 pm - Эти забавные жи.. лезяки
Вчера сидел дома, разбирал барахло, оставшееся на компьютере от института, нашёл потрясающую вещь. В папочке labs (лабораторные) лежит папочка с названием Orgazm :) Как вы думаете, что это?
( Ответ, даже с картинкой :) )
Первый семестр четвёртого курса... С таким удовольствием вспомнил, эх! Очень полезные были работы, расширяющие сознание.
Feb. 27th, 2007
04:05 pm - Диплома - Ш: окончательный рассчёт
...
Теперь я инженерчег
И каждый бакалавр
При встрече, сразу,
Лапу подаёт
:)
Оценка - 4, подробности о том, что писал и что получилось - http://www.rsdn.ru/Forum/Message.aspx?m
Feb. 5th, 2007
10:19 pm - Диплома - II
Когда мой компилятор скомпилировал, а интерепреататор проинтерпретировал следующую программку:
(define map2 (lambda (f l) (if (eqv? '() l) '() (cons (f (car l)) (map2 f (cdr l)) ) ) )) (define map (lambda (f . l) (map2 f l))) (define func (lambda (x) (* x x))) (map func 1 2 3 4 5 6 7)
Я понял, что не зря живу на свете :) Точнее, я понял гораздо больше и эмоциональнее и пол дня ходил счастливый-счастливый и вообще, решил, что я программист, что я горжусь этим, мать вашу! И что-то такое умное написать хотел.. но забыл :) Но точно помню - это редкий кайф!
Специальный приз тому, кто объяснит, что и как делает программа :)
Upd: Поощрительный - тому кто назовёт язык программирования :))
Upd2: Тем кто знает - просьба не беспокоиться, и не мешать ребёнку выпендриваться :)))
( Объяснение... )
Поощрительные призы отзываются - все всё знают, блин :) Могу только посоветовать углублять, потому что тема интересная. Отдельный респект товарищу
Nov. 8th, 2006
10:00 pm - Диплома
Посидели часок с научным руководителем, вроде наконец придумали тему диплома :)
Простыми словами она описана тут: http://www.rsdn.ru/Forum/Message.aspx?m
А ещё эти клоуны придумали нам "экзамен по преддипломной практике"! Блин. Я её сдал полгода назад и счастливо забыл. Я даже не знал об этом экзамене. И вдруг такой сюрприз. Он был сегодня :) Я, видимо, сдаю его через неделю.
Navigate: (Previous 20 Entries)
