Показаны сообщения с ярлыком IDK0040. Показать все сообщения
Показаны сообщения с ярлыком IDK0040. Показать все сообщения
среда, 12 января 2011 г.
пятница, 29 января 2010 г.
ENETA: Windows Azure
В очередной раз довелось поприсутствовать на семенаре организоаванным Eesti .Net Association (ENETA) - в этот раз посвящённого такой технологии как Windows Azure. Хотелось получить максимум информации с минимальными усилиями - как общеизвестно то что мы слышим в течении полутора часов у выступающего занимает 2-3 дня на сбор материала и подготовку ... а то и больше.
Доклад оставил сложное чувство - с одной стороны спасибо Gunnar-у за работу, с другой стороны - к сожалению опять Gunnar делал доклад: Всё время хотелось найти меню управления и поставить скорость на х1.5 или даже х2 проматывая определённые участки. Очень уж медленно, много разговора ниочём и тумана (который в Cloud computing теме возможнo и подходит :). До разработки приложения одним словом так и не добрались.
Доклад оставил сложное чувство - с одной стороны спасибо Gunnar-у за работу, с другой стороны - к сожалению опять Gunnar делал доклад: Всё время хотелось найти меню управления и поставить скорость на х1.5 или даже х2 проматывая определённые участки. Очень уж медленно, много разговора ниочём и тумана (который в Cloud computing теме возможнo и подходит :). До разработки приложения одним словом так и не добрались.
пятница, 15 января 2010 г.
IDK0040 - 2010.01.15
Итого. Присутствовало 25 человек, сдало 12. Сдали все у кого были хоть какие то шансы.
Знаете, что самое тяжёлое в работе преподователя?
При личном приёме экзамена ставить 0 студенту, которые является приличным человеком, но при этом, при всём моём желании, не может получить больше. Прямо таки никаких нервов не хватает.
ПС: При этом самое страшное, что эти люди просто не ходили на практические занятия, а значит дали мне никаких шансов себя научить хоть чему-нибудь.
Пересдача будет на предварительной неделе (25-31.01). К сожалению пока не могу сказать в какое именно время.
На предварительной неделе халявы не будет. Без PHP я думаю даже говорить не будем.
Дополнительные идеи о реализации проекта:
- Учёт персональных финансов
- Бухгалтерия квартирного товарищества (выставление счетов)
- Wish list для друзей (добавление пожеланий к подаркам, их бронирование друзьями)
Знаете, что самое тяжёлое в работе преподователя?
При личном приёме экзамена ставить 0 студенту, которые является приличным человеком, но при этом, при всём моём желании, не может получить больше. Прямо таки никаких нервов не хватает.
ПС: При этом самое страшное, что эти люди просто не ходили на практические занятия, а значит дали мне никаких шансов себя научить хоть чему-нибудь.
Пересдача будет на предварительной неделе (25-31.01). К сожалению пока не могу сказать в какое именно время.
На предварительной неделе халявы не будет. Без PHP я думаю даже говорить не будем.
Дополнительные идеи о реализации проекта:
- Учёт персональных финансов
- Бухгалтерия квартирного товарищества (выставление счетов)
- Wish list для друзей (добавление пожеланий к подаркам, их бронирование друзьями)
К студентам
Цитируя новосные сайты: На начало 2010 года общее число безработных в Эстонии подобралось к отметке в 105 тысяч человек. Специалисты Кассы по безработице предсказывают, что в этом году армия безработных пополнится. А первые признаки стабилизации рынка труда можно ожидать не ранее чем через полтора года. К настоящему моменту армия безработных в стране составляет 15% от работоспособного населения Эстонии. Теперь статус безработного могут получить образованные и квалифицированные специалисты, которые не в состоянии трудоустроиться лишь потому, что не хватает свободных рабочих мест.
А вы уверены, что учитесь в достаточную силу, чтобы не пополнить эту армию безработных?
А вы уверены, что учитесь в достаточную силу, чтобы не пополнить эту армию безработных?
четверг, 14 января 2010 г.
Немного статистики
ITV0010:
- В первый день пришло 37 человек
- Во второй день придёт 100 (в 11 утра 47 и в 13 часов дня 53)
IDK0040
- В первый день сдало 5 человек
- Во второй день 3
--------------------------------- Итого пока 24 учитывая сдавших за семестр
- в последний день [завтра] придёт 36. (за 3 часа - вот ведь сумашедший дом будет)
Окончание недели обещает быть жарким.
Вчера ENETA представляла доклад о .Net Framework 4.0 (Докладчик рассказывал долго и нудно, так что было время посмотреть по сторонам).

- из присутствующих: 58 мужщин и 3 девушки.
(Заставляет задуматься так как по моим прикидкам в университете на программирование и бизнес технологии распределение примерно 65-35 % молодыe люди/девушки. Видимо девушки идут сразу в ИТ менеджеры).
PS:
- понравилось техническое оснащение колледжа - имеются мониторы для задних рядов (на фото в левом верхнем угло просматривается) дублирующие основную картинку и колонки встроенные в потолок
- оказывается в .Net 4.0
- В первый день пришло 37 человек
- Во второй день придёт 100 (в 11 утра 47 и в 13 часов дня 53)
IDK0040
- В первый день сдало 5 человек
- Во второй день 3
--------------------------------- Итого пока 24 учитывая сдавших за семестр
- в последний день [завтра] придёт 36. (за 3 часа - вот ведь сумашедший дом будет)
Окончание недели обещает быть жарким.
Вчера ENETA представляла доклад о .Net Framework 4.0 (Докладчик рассказывал долго и нудно, так что было время посмотреть по сторонам).
- из присутствующих: 58 мужщин и 3 девушки.
(Заставляет задуматься так как по моим прикидкам в университете на программирование и бизнес технологии распределение примерно 65-35 % молодыe люди/девушки. Видимо девушки идут сразу в ИТ менеджеры).
PS:
- понравилось техническое оснащение колледжа - имеются мониторы для задних рядов (на фото в левом верхнем угло просматривается) дублирующие основную картинку и колонки встроенные в потолок
- оказывается в .Net 4.0
Если имеется такая структура классов
1. A inherits from B
2. C as List(of A), D as List(of B)
То возможно писать
D = C
Сколько же с этим было головной боли в предыдущей версии .. надо попробовать правда ли это :)
1. A inherits from B
2. C as List(of A), D as List(of B)
То возможно писать
D = C
воскресенье, 10 января 2010 г.
Социальная активность
В бизнесе зачастую случается так, что быстродействие системы определяется не исходя из реальных характеристик системы, а исходя из ожиданий пользователей.
Если ваша программа сумеет решить супер задачу за 10 минут (остальные программы решают не менее чем за час или два) а пользователи ждут ответа от программы за 2 минуты .. то они назовут программу медленной и точка.
Спасение как всегда в обучении и занижении заранее ожиданий пользователей :) по аналогии: если работодатель попросил оптимизировать алгоритм и вы придумали как его улучшить в два раза, расскажите ему как это тяжело и пообещайте ... может быть ... улучшить в 1.5. Когда вы покажите результат, он будет счастлив. В противном случае он решит, что это было легко сделать - спросит почему это не было сделано сразу и почему вы не улучшили всё в три или четыре раза.
Вывод 1: Если работодатель не видит преодоление трудностей, он начинает думать что это всё легко и надо бы вам поменьше платить за такой ненапряжный труд.
Вывод 2: Лучше всего мы преодолеваем трудности которые сами себе создаём.
К чему это я .. а да .. вот интересно для уменьшения споров в выставлении оценки специально придуман возможности набрать ехтра 10%... но не смотря на это в последнем опросе студентов хуже всего с их точки зрения обстоит дело со спорными вопросами: средняя оценка 3 из 5 :) ... ожидание и реальность видимо не сходятся :)
А вот ещё интересно. Социально активных студентов 7 (ответивших) из 80 (имевших права голоса). Меньше 10%.
Как часто бывает активное меньшинство управляет пассивным большинством так как мнение пассивное части не известно. То ли они ещё более не довольны, то ли довольны... остаётся не выясненым :)
Если ваша программа сумеет решить супер задачу за 10 минут (остальные программы решают не менее чем за час или два) а пользователи ждут ответа от программы за 2 минуты .. то они назовут программу медленной и точка.
Спасение как всегда в обучении и занижении заранее ожиданий пользователей :) по аналогии: если работодатель попросил оптимизировать алгоритм и вы придумали как его улучшить в два раза, расскажите ему как это тяжело и пообещайте ... может быть ... улучшить в 1.5. Когда вы покажите результат, он будет счастлив. В противном случае он решит, что это было легко сделать - спросит почему это не было сделано сразу и почему вы не улучшили всё в три или четыре раза.
Вывод 1: Если работодатель не видит преодоление трудностей, он начинает думать что это всё легко и надо бы вам поменьше платить за такой ненапряжный труд.
Вывод 2: Лучше всего мы преодолеваем трудности которые сами себе создаём.
К чему это я .. а да .. вот интересно для уменьшения споров в выставлении оценки специально придуман возможности набрать ехтра 10%... но не смотря на это в последнем опросе студентов хуже всего с их точки зрения обстоит дело со спорными вопросами: средняя оценка 3 из 5 :) ... ожидание и реальность видимо не сходятся :)
А вот ещё интересно. Социально активных студентов 7 (ответивших) из 80 (имевших права голоса). Меньше 10%.
Как часто бывает активное меньшинство управляет пассивным большинством так как мнение пассивное части не известно. То ли они ещё более не довольны, то ли довольны... остаётся не выясненым :)
среда, 6 января 2010 г.
Võrgurakendused I (2009) - "Никогда не откладывай на завтра то, что можно сделать послезавтра или через неделю"
Этот год в предмете "Võrgurakendused I" это что то с чем то. Почему то в этом год практически никто не пожелал придти сдавать проект в течении семестра когда была возможность показать что сделано, получить замечания и позже придти с дополнением только по определённым темам. Большинство (75%), почему то, решили рискнуть и придти с проектом в течении семестра - уже не имея гарантии что он соответствует требованиям.
Вторым занимательным моментом является то, что, как я и ожидал, у всех имеется желание сдать предмет в последнюю очередь - в последний из возможных дней. Как то слабо вериться что ктото будет понастоящему делать проект в течении сессии, когда других забот полно, вместо времени которое имелось в течении семестра да и перед сессией. Кстати такой же эффект наблюдается и у предмета первого курса - Введение в инфотехнологию - но там он статичен - независимо от года преподования всегда на последней день экзамена список длинее чем на первый :).
Одним словом цирк да и только. Единственно, я пока не пойму кто именно выстапает в виде клоуна :)
Статистика:
В наличии 60 студентов. Из них
1. на последний день 15.01 зарегистрировалось 19
2. На предпоследний 12.01 - 3
3. На первый 08.01 - 2.
Вторым занимательным моментом является то, что, как я и ожидал, у всех имеется желание сдать предмет в последнюю очередь - в последний из возможных дней. Как то слабо вериться что ктото будет понастоящему делать проект в течении сессии, когда других забот полно, вместо времени которое имелось в течении семестра да и перед сессией. Кстати такой же эффект наблюдается и у предмета первого курса - Введение в инфотехнологию - но там он статичен - независимо от года преподования всегда на последней день экзамена список длинее чем на первый :).
Одним словом цирк да и только. Единственно, я пока не пойму кто именно выстапает в виде клоуна :)
Статистика:
В наличии 60 студентов. Из них
1. на последний день 15.01 зарегистрировалось 19
2. На предпоследний 12.01 - 3
3. На первый 08.01 - 2.
Ярлыки:
Общество (Social),
Опыт,
Университет,
IDK0040,
ITV0010
вторник, 29 декабря 2009 г.
Популярность языков программирования
Не знаете какой язык стоит изучать, а какой нет?
Решите для начала в какой области вы хотите найти себе применение (embedded dev: C, C++; commercial: Java, C#, VB, PHP etc; Logical: LISP etc) a затем следуйте ниже прилагаемой карте популярности языков составленной TIOBE Software.
Чем больше распространён язык, тем больше вероятность найти работу
Исключение только для особо умных и особо смелых: чем меньше расспространён язык тем больше за него платят в случае надобности, но есть большой риск (особенно в такой маленькой стране как ЕЕ) не найти тех кому он нужен :) )
Решите для начала в какой области вы хотите найти себе применение (embedded dev: C, C++; commercial: Java, C#, VB, PHP etc; Logical: LISP etc) a затем следуйте ниже прилагаемой карте популярности языков составленной TIOBE Software.
Чем больше распространён язык, тем больше вероятность найти работу
Исключение только для особо умных и особо смелых: чем меньше расспространён язык тем больше за него платят в случае надобности, но есть большой риск (особенно в такой маленькой стране как ЕЕ) не найти тех кому он нужен :) )
Постскриптум:В идеале надо знать по крайней мере 2-3 языка из первой десятки
естественно, скорее всего, только один вы будете использовать постоянно, но всётаки.
Ярлыки:
Бизнес,
Опыт,
Программное обеспечение,
IDK0040,
ITV0010
вторник, 22 декабря 2009 г.
Võrgurakendused I - часть III: Дополнительное пояснение к требованиям
Краткое содержание предыдущих требований
Требуется знать
1. html тэги
2. нельзя использовать код с упражнений
Дополнительные пояснения
1. Требуется, чтобы вы знали где и как какой код используется. Например, если определён стиль то где он используется в html.
2. Генерация css разными визардами и не знание смысла сгенерированного трактуется как незнание css
3. Требуется показать функциональность написанную на php. Обратите внимание на определение в задаче "не связанные с другими пунктами", что означает что код записи, чтения информации, сессии итд исключаются из рассмотрения, всё остальное, что находиться до и после, идёт в зачёт.
Смысл данного пункта: требуется разработать динамичнуя функционалность страницы. Большинство студентов это просто игнорируют, что приводит к потере одного, двух баллов.
Примеры:
а. реализация простейшего форума с возможностью добавление коментариев, удаления, модификации, сортировки и поиска информации
б. Визард реализующий какую нибудь простую экспертную систему
с. "Морской бой" - игра имеющая достаточно простые правила.
д. Статистический анализ введённого текста: частота использование слов, букв в тексте, может быть даже сравнение двух текстов.
4. ХML, XSL, XSD. Большинство игнорируют XSD, что приводит к потере возможности получить бал за данный пункт. Другая серьёзная ошибка - показывать мой/w3schools код.
Следует не только знать, что сделано, но и как модифицировать чтобы, например
а. Установить те или иные ограничения в xsd на данные в xml
б. отсортировать данные в Xsl, установить фильтры через xsl или xpath
5. Javascript: построить код который будет
а. запускаться не только на onclick
b. использовать кроме getElemenentById также nextSibling и так далее а так же фунцкции DOM объектов типа Table, Form
c. Работать корректно как в IE так и в Firefox
Требуется знать
1. html тэги
2. нельзя использовать код с упражнений
Дополнительные пояснения
1. Требуется, чтобы вы знали где и как какой код используется. Например, если определён стиль то где он используется в html.
2. Генерация css разными визардами и не знание смысла сгенерированного трактуется как незнание css
3. Требуется показать функциональность написанную на php. Обратите внимание на определение в задаче "не связанные с другими пунктами", что означает что код записи, чтения информации, сессии итд исключаются из рассмотрения, всё остальное, что находиться до и после, идёт в зачёт.
Смысл данного пункта: требуется разработать динамичнуя функционалность страницы. Большинство студентов это просто игнорируют, что приводит к потере одного, двух баллов.
Примеры:
а. реализация простейшего форума с возможностью добавление коментариев, удаления, модификации, сортировки и поиска информации
б. Визард реализующий какую нибудь простую экспертную систему
с. "Морской бой" - игра имеющая достаточно простые правила.
д. Статистический анализ введённого текста: частота использование слов, букв в тексте, может быть даже сравнение двух текстов.
4. ХML, XSL, XSD. Большинство игнорируют XSD, что приводит к потере возможности получить бал за данный пункт. Другая серьёзная ошибка - показывать мой/w3schools код.
Следует не только знать, что сделано, но и как модифицировать чтобы, например
а. Установить те или иные ограничения в xsd на данные в xml
б. отсортировать данные в Xsl, установить фильтры через xsl или xpath
5. Javascript: построить код который будет
а. запускаться не только на onclick
b. использовать кроме getElemenentById также nextSibling и так далее а так же фунцкции DOM объектов типа Table, Form
c. Работать корректно как в IE так и в Firefox
пятница, 18 декабря 2009 г.
Развитие алгоритмических способностей
Можно ли у человека развивать способности к формализации проблемы, алгоритмизации - иными словами научить человека программировать когда проблемой является не владение определённым синтаксисом языка программирования, а именно умением составлять программу.
Гипотеза 1: умение программировать и способности к математике взаимосвязаны.
Перефразируя - скажи мне какую оценку ты получил за Мат.Ан. I и II и я скажу какую оценку ты получишь в любом предмете связанном с програмированием.
На мой взгляд логично: если ты умеешь увидеть взаимосвязь в математических формулах и преобразованиях, если понимаешь их а не заучиваешь - у тебя алгоритмический способ мышления подходящий для программиста.
Аргумент: Многие программисты на заре компьютеров вышли из математиков. (А не телега ли это перед лошадью: ведь именно они построили архитектуру компьютера и придумали языки программированию. Может быть, если бы у истоков стояли художники мы имели бы нечто совсем иное?)
Контраргумент (или исключение подверждающее правило??): Я видел людей которые получали 1 или 2 по матану и умели очень хорошо программировать.
Гипотеза 2: умение программировать заложено в генах и определяется родителями.
Контргипотеза 2: умение програмировать развивается благодаря среде в которой человек рос и воспитывался (вернее - это воздействие и является определяющим)
У нас тут было много споров на эту тему. Естественным выводом из гипотезы 2 - умению программировать нельзя научиться - можно научиться только владеть тем или иным языком программирования. Сторонники контргипотезы утверждают, что заинтересовваность на ранних этапах играет определяющую роль - например ребёнок интересуется в школе играми, проводит вместе с компьютером много времени, пытается использовать его в своих целях постепенно обучаясь программированию. В зависимости от среды в какую попадает ребёнок развиваются его умения и способности - следовательно именно среда определяет умение делать чего либо хорошо.
Компромисная гипотеза: любой человек обладает определёнными талантами, но они у него развиты изначально в слабой степени. Развитие того или иного таланта или развития смежных навыков определюет, что человек умеет делать хорошо, а что нет.
Возьмём к примеру шахматы - можно ли человека научить играть в шахматы - я думаю 100% можно. Зависит ли умение играть в шахматы от памяти (смежные области) - наверняка, но я бы сказал что шахматы развивают память (в основном визуальную) а не наоборот.Можно ли человека научить хорошо играть в шахматы. В основном да. Усердный труд приведут вас в кандидаты в мастера (как вашего покорного слугу). Можно ли научиться очень хорошо играть, т.е. стать гроссмейстером? Вероятно да, но надо либо иметь талант, либо посвятить себя данной профессии (а это 100% уже не хобби, а именно профессия).
Мне кстати нравиться такое определение: талант определяет КПД труда человека в той или иной деятельности. Даже если вы не очень талантливы но настойчивы, вы можете добиться такого же результата. талантливый человек просто достигнет этого же быстрее.
Мне кажется, что с программированием должна действовать таже логика. Данное умение можно развивать. В конце концов как минимум половина нашей жизни состоит из, или требует, рациональных поступков. И естественно такое развитие возможно только если человек заинтересован в этом (программировании, алгоритмическом мышлении, сравнениях и анализе).
Постскриптум: Осталось найти методики позволяющие развивать эти способности и попытатся применить их на практике. Кто подскажет? :)
PS: Вот, что предлагает ТТУ на эту тему: Начальный курс программирования.
Гипотеза 1: умение программировать и способности к математике взаимосвязаны.
Перефразируя - скажи мне какую оценку ты получил за Мат.Ан. I и II и я скажу какую оценку ты получишь в любом предмете связанном с програмированием.
На мой взгляд логично: если ты умеешь увидеть взаимосвязь в математических формулах и преобразованиях, если понимаешь их а не заучиваешь - у тебя алгоритмический способ мышления подходящий для программиста.
Аргумент: Многие программисты на заре компьютеров вышли из математиков. (А не телега ли это перед лошадью: ведь именно они построили архитектуру компьютера и придумали языки программированию. Может быть, если бы у истоков стояли художники мы имели бы нечто совсем иное?)
Контраргумент (или исключение подверждающее правило??): Я видел людей которые получали 1 или 2 по матану и умели очень хорошо программировать.
Гипотеза 2: умение программировать заложено в генах и определяется родителями.
Контргипотеза 2: умение програмировать развивается благодаря среде в которой человек рос и воспитывался (вернее - это воздействие и является определяющим)
У нас тут было много споров на эту тему. Естественным выводом из гипотезы 2 - умению программировать нельзя научиться - можно научиться только владеть тем или иным языком программирования. Сторонники контргипотезы утверждают, что заинтересовваность на ранних этапах играет определяющую роль - например ребёнок интересуется в школе играми, проводит вместе с компьютером много времени, пытается использовать его в своих целях постепенно обучаясь программированию. В зависимости от среды в какую попадает ребёнок развиваются его умения и способности - следовательно именно среда определяет умение делать чего либо хорошо.
Компромисная гипотеза: любой человек обладает определёнными талантами, но они у него развиты изначально в слабой степени. Развитие того или иного таланта или развития смежных навыков определюет, что человек умеет делать хорошо, а что нет.
Возьмём к примеру шахматы - можно ли человека научить играть в шахматы - я думаю 100% можно. Зависит ли умение играть в шахматы от памяти (смежные области) - наверняка, но я бы сказал что шахматы развивают память (в основном визуальную) а не наоборот.Можно ли человека научить хорошо играть в шахматы. В основном да. Усердный труд приведут вас в кандидаты в мастера (как вашего покорного слугу). Можно ли научиться очень хорошо играть, т.е. стать гроссмейстером? Вероятно да, но надо либо иметь талант, либо посвятить себя данной профессии (а это 100% уже не хобби, а именно профессия).
Мне кстати нравиться такое определение: талант определяет КПД труда человека в той или иной деятельности. Даже если вы не очень талантливы но настойчивы, вы можете добиться такого же результата. талантливый человек просто достигнет этого же быстрее.
Мне кажется, что с программированием должна действовать таже логика. Данное умение можно развивать. В конце концов как минимум половина нашей жизни состоит из, или требует, рациональных поступков. И естественно такое развитие возможно только если человек заинтересован в этом (программировании, алгоритмическом мышлении, сравнениях и анализе).
Постскриптум: Осталось найти методики позволяющие развивать эти способности и попытатся применить их на практике. Кто подскажет? :)
PS: Вот, что предлагает ТТУ на эту тему: Начальный курс программирования.
четверг, 17 декабря 2009 г.
Университет: Я верю ...
Рассматривая свою роль в университет как преподователя я исхожу из посылок в которые я верю:
- Я верю, что студенты пришедшие в университет это уже не школьники, а самостоятельные люди (поэтому мне нравиться, что в университете нет звонка) и поэтому имеют определённое право на свободу воли и свободу выбора.
- Я верю, что студенты сами умеют расставить жизненные приоритеты - сиюминутное удовольствие или будущие и как они планируют его - через получение диплома (минимальные усилия) или через получение диплома и знаний.
Комментарий: Свобода выбора подразумевает и ответственность за свой выбор. Если вы врезались в дерево, то это не значит что он вдруг перебежало вам дорогу. То же самое в университете - если вы выбрали не учиться то несоответствие знаний требованиям экзамена - это вина сделанного выбора, а не преподователя оценивающего знания.
- Я верю, что 50% студентов являются талантливыми именно в нашей области и получать им высшие оценки мешает только собственная безолаберность.
Комментарий: Более того я верю, что 80% являются просто талатливыми людьми, но практика показывает, что эти 30% скорее всего ошиблись с выбором специальности.
- Я верю, что студенты имеют право на организацию своего времени и определение будут они ходить на занятия или нет (будут изучать самостоятельно).
Мне не нравиться заставлять людей учиться и стоять у них над душой, хотя многие преподователи именно так и добиваются высокого уровня как посещений так и оценок. Я верю, что наилучший результат будет достигнут через самозаинтересованность, а не нажимом.
Комментарий: Я признаю, что несамостоятельные студенты потеряют при таком подходе, зато умные и быстро развивающиеся многое приобретут.
Комментарий 2: Я готов работать "плотно" только с теми кого я знаю и знания и умениях которого я себе чётко представляю - мотивируя их ты получаешь удовольствия от того, что тратишь своё время осознанно и как правило на достойного внимания человека.
К сожалению тратить на всех много времени не представляется возможным..
пятница, 11 декабря 2009 г.
Võrgurakendused I - часть II
в продолжение предыдущего поста.
Судя по всему моя аналогия про шахматы и алгоритмику была не совсем удачна: появился пример человека который умеет играть в щахматы (даже ставить мат :) ), но иногда сталкивает с затруднениями при составлении программ. Видимо моё длительное шахматное прошлое ввело меня в заблуждение :)
Интересно что с каждым годом мы отходим от стандартного варианта приёма проектов всё больше и больше. Если 4 года назад 95% проектов было сдано до сессии, то видимо в этому уже около 70% будут сданы на сессии (ну или совсем человек не появиться - пропадание людей с упражнений замечено и ранее - возможно некая сила утаскивает их в рай, откуда им к университету возвращаться уже неинтересно ... а может это какая болезнь свирепствует в Эстонии - вон человек утерял лаптоп с гос секретами... и где бы вы думали ... в ночном клубе Inferno ... при этом он себя там обнаружил пол третьего ночи ... "почти случайно зашёл" - видимо всё-таки болезнь - как туда можно "почти случайно зайти?" ).
На сегодняшнем приёме проектов (по результатам) сформулирован новый критерий начала приёма проектов - знание html тэгов. Тяжело общаться с человеком, если он не уверен что значит тэг a, p, th .... не говоря уже о tbody.
К сожаления по прежнему у многих нет каких то частей требующихся в проекте - из списка
1. HTML
2. CSS
3. PHP + элементы
4. JavaScript
5. XSL + XSD
6. AJAX
Это первый признак того, что и все остальные части сделаны поверхностно - чисто эмпирическое следствие построенное на примерах, а не на какой то супер логике :)
50% показывают код с занятий с минимальными модификациями - например калькулятор с синусом и косинусом. Ощущение как будто имеется эффект эхо - что сказал на занятиях то и получил в ответ - ничего нового :) - тренировать надо умение креативно мыслить!
Одним словом, вы, мой дорогие студенты, активно боретесь, что бы я себя чуствовал каким то прямо заправским тираном и "подлюкой" :)
Уж стараешся стараешся придумывать практики, а человек потом у меня спрашивает при сдаче проекта "а как в XSL передать параметер" - а примеры на странице предмета зачем :)? Всегда согласен ответить на вопросы до сдачи, или навести на страницу где можно найти ответ.
Кстати взгляд со стороны - странно смотриться неумение дать чёткий ответ. Например на вопорос "что делает функция strlen?" (которую человек использует в коде) - чего я только не наслушался / и какие то аналогии, и объяснение логики программы и что программа на той строке делает и "проверяет длину переменной"... вместо - "возвращает длину строки ... (хорошо бы конечно добавить :)... или переменной заданной входным параметром" .
Засим прощаюсь, с наилучшими пожеланиями, ваш (подчеркните нужное) обычный, обстоятельный, кровожадный преподователь.
ПС: а в следующем году вам проще будет сразу "повеситься" - будет основным преподователем Таммет .. он добавит как минимум ещё CGI, Perl или Python.... там уже будет не так легко отвертеться, "я так думаю (© Рубик Хачикян) "
Судя по всему моя аналогия про шахматы и алгоритмику была не совсем удачна: появился пример человека который умеет играть в щахматы (даже ставить мат :) ), но иногда сталкивает с затруднениями при составлении программ. Видимо моё длительное шахматное прошлое ввело меня в заблуждение :)
Интересно что с каждым годом мы отходим от стандартного варианта приёма проектов всё больше и больше. Если 4 года назад 95% проектов было сдано до сессии, то видимо в этому уже около 70% будут сданы на сессии (ну или совсем человек не появиться - пропадание людей с упражнений замечено и ранее - возможно некая сила утаскивает их в рай, откуда им к университету возвращаться уже неинтересно ... а может это какая болезнь свирепствует в Эстонии - вон человек утерял лаптоп с гос секретами... и где бы вы думали ... в ночном клубе Inferno ... при этом он себя там обнаружил пол третьего ночи ... "почти случайно зашёл" - видимо всё-таки болезнь - как туда можно "почти случайно зайти?" ).
На сегодняшнем приёме проектов (по результатам) сформулирован новый критерий начала приёма проектов - знание html тэгов. Тяжело общаться с человеком, если он не уверен что значит тэг a, p, th .... не говоря уже о tbody.
К сожаления по прежнему у многих нет каких то частей требующихся в проекте - из списка
1. HTML
2. CSS
3. PHP + элементы
4. JavaScript
5. XSL + XSD
6. AJAX
Это первый признак того, что и все остальные части сделаны поверхностно - чисто эмпирическое следствие построенное на примерах, а не на какой то супер логике :)
50% показывают код с занятий с минимальными модификациями - например калькулятор с синусом и косинусом. Ощущение как будто имеется эффект эхо - что сказал на занятиях то и получил в ответ - ничего нового :) - тренировать надо умение креативно мыслить!
Одним словом, вы, мой дорогие студенты, активно боретесь, что бы я себя чуствовал каким то прямо заправским тираном и "подлюкой" :)
Уж стараешся стараешся придумывать практики, а человек потом у меня спрашивает при сдаче проекта "а как в XSL передать параметер" - а примеры на странице предмета зачем :)? Всегда согласен ответить на вопросы до сдачи, или навести на страницу где можно найти ответ.
Кстати взгляд со стороны - странно смотриться неумение дать чёткий ответ. Например на вопорос "что делает функция strlen?" (которую человек использует в коде) - чего я только не наслушался / и какие то аналогии, и объяснение логики программы и что программа на той строке делает и "проверяет длину переменной"... вместо - "возвращает длину строки ... (хорошо бы конечно добавить :)... или переменной заданной входным параметром" .
Засим прощаюсь, с наилучшими пожеланиями, ваш (подчеркните нужное) обычный, обстоятельный, кровожадный преподователь.
ПС: а в следующем году вам проще будет сразу "повеситься" - будет основным преподователем Таммет .. он добавит как минимум ещё CGI, Perl или Python.... там уже будет не так легко отвертеться, "я так думаю (© Рубик Хачикян) "
воскресенье, 6 декабря 2009 г.
Первые результаты предмета Võrgurakendused I / 2009 год
Хотелось бы пояснить для всех мотиватицию выставления оценок, и возможно ответить на вопрос многих студентов - почему меня не до-оценили.
Начнём пожалуй с того что должен преподователь студентам в отношении данного предмета. Предмет носит явно прикладной характер, поэтому в рамках ограничений установленных университетом (например другие предметы) задачей является научить строить вебсайты на среднем уровне - используя HTML, CSS, PHP, JavaScript (AJAX), XML/XSL. Для этого знания концентрируются, делятся на практические занятия пройдя которые студент должен понимать как данные технологии используются. Дополнительно теоретические знания - например как зарегистрировать на себя имя сайта в том или ином домeйне.
Разумеется студенты делятся на две группы - те которые эти технологии знают и соответственно могут сразу делать и сдавать проект и те которые будут ходить на занятия и изучать данный предмет...... но это чисто теоретически.
Естественно есть две выше описанные категории, но есть и
1. Те кто ходят на занятия но попрежнему не понимают что происходит. Типичная их проблема неумение алгоритмизировать. На мой взгляд многим из них стоило бы
пересмотреть род деятельности, но это не всегда мне судить. Поэтому могу дать всего лишь совет работать активно над этим недостатком / поищите например кого-нибудь кто из дружбу или ещё за какое вознаграждение поможет вам преодолеть этот недостаток.
Вашей задачей здесь является умение разбить всё на шаги. Как в шахматах. Ход за ходом мы двигаемся к цели при этом достигая глобальной цели набором движений здесь и сейчас. Ну или попытайтесь потренировать свою сообразительность используя RoboZZLE
2. Те кто зарабатывает построением веб сайтов. Типичной проблемой здесь является то, что человек уверен, что он бог в данной технологии, и ему неинтересно ничего нового для расширения свох знаний. Типично они знают либо только PHP либо только JavaScript.
3. Те которым ничего не интересно, на занятия они не ходят и просто пытаются получить диплом с максимально минимальными усилиями. Эта категория студентов либо знает только HTML либо не знает и его. Возможно данные студенты талантливы в чём то ином - психологии, бизнесе, талантливы своими родителями или ещё какими то качествами. Я не знаю ответа на вопрос - что могло мы меня мотивировать поставить им положительнуя оценку.
Учитывая их отсутствие на занятиях, т.е. даже желания учится, учитывание их желания и усидчивости тоже никак не помогает.
4. Те кто что-то знают и могли бы знать больше но им лень, Сделали на тройку потратив 4 часа, оставив определённые пункты не сделанными - т.е. не потратив ещё 2-х часов. Они меня в основном просто удивляют если только они не из следующих под-категорий.
4.а Те которые имеют странные моральные устои позволяющие им здавать мой же код с упражнений.
4.б Те которые начинают отстаивать свою точку зрения если даже их проект не соответствует установленным правилам (которые им лень читать). Не совсем понятно почему для них спор проще доделывания проекта в течении несколких часов.
Кстати, мои поздравления текущему курсу - в этом году удивительно много умных девушек. Обычно девушки не так часто имеют склонность к алгоритмам и математике
Начнём пожалуй с того что должен преподователь студентам в отношении данного предмета. Предмет носит явно прикладной характер, поэтому в рамках ограничений установленных университетом (например другие предметы) задачей является научить строить вебсайты на среднем уровне - используя HTML, CSS, PHP, JavaScript (AJAX), XML/XSL. Для этого знания концентрируются, делятся на практические занятия пройдя которые студент должен понимать как данные технологии используются. Дополнительно теоретические знания - например как зарегистрировать на себя имя сайта в том или ином домeйне.
Разумеется студенты делятся на две группы - те которые эти технологии знают и соответственно могут сразу делать и сдавать проект и те которые будут ходить на занятия и изучать данный предмет...... но это чисто теоретически.
Естественно есть две выше описанные категории, но есть и
1. Те кто ходят на занятия но попрежнему не понимают что происходит. Типичная их проблема неумение алгоритмизировать. На мой взгляд многим из них стоило бы
пересмотреть род деятельности, но это не всегда мне судить. Поэтому могу дать всего лишь совет работать активно над этим недостатком / поищите например кого-нибудь кто из дружбу или ещё за какое вознаграждение поможет вам преодолеть этот недостаток.
Вашей задачей здесь является умение разбить всё на шаги. Как в шахматах. Ход за ходом мы двигаемся к цели при этом достигая глобальной цели набором движений здесь и сейчас. Ну или попытайтесь потренировать свою сообразительность используя RoboZZLE
2. Те кто зарабатывает построением веб сайтов. Типичной проблемой здесь является то, что человек уверен, что он бог в данной технологии, и ему неинтересно ничего нового для расширения свох знаний. Типично они знают либо только PHP либо только JavaScript.
3. Те которым ничего не интересно, на занятия они не ходят и просто пытаются получить диплом с максимально минимальными усилиями. Эта категория студентов либо знает только HTML либо не знает и его. Возможно данные студенты талантливы в чём то ином - психологии, бизнесе, талантливы своими родителями или ещё какими то качествами. Я не знаю ответа на вопрос - что могло мы меня мотивировать поставить им положительнуя оценку.
Учитывая их отсутствие на занятиях, т.е. даже желания учится, учитывание их желания и усидчивости тоже никак не помогает.
4. Те кто что-то знают и могли бы знать больше но им лень, Сделали на тройку потратив 4 часа, оставив определённые пункты не сделанными - т.е. не потратив ещё 2-х часов. Они меня в основном просто удивляют если только они не из следующих под-категорий.
4.а Те которые имеют странные моральные устои позволяющие им здавать мой же код с упражнений.
4.б Те которые начинают отстаивать свою точку зрения если даже их проект не соответствует установленным правилам (которые им лень читать). Не совсем понятно почему для них спор проще доделывания проекта в течении несколких часов.
Кстати, мои поздравления текущему курсу - в этом году удивительно много умных девушек. Обычно девушки не так часто имеют склонность к алгоритмам и математике
четверг, 6 ноября 2008 г.
2008: Промежуточные результаты предмета "Сетевые приложения I".
Первая часть семестра традиционно посвящена как собственно обучению, так и выполнению первой части задания из которого складывается общая оценка - написанию обзорной работы по любой теме так или иначе связанной с предметом.
ПС: вторая часть, которая даёт 80% оценки, это собственно проект с использованием изученных технологий и языков программирования.
Как и всегда работу сдали не более 60% студентов. Учитывая, что мы имеем дело уже со вторым курсом, меня это поражает в очередной раз - зачем декларировать предмет и его игнорировать?
Основной задачей в написании работы является научить студентов самостоятельно мыслить и если не генерировать новые идеи, то хотя бы прорабатывать исходный материал (чужие статьи). Таким образом работа должна выполняться следуя следующим шагам:
1. Выбрать тему
2. Проанализировать несколько источников информации по данной теме
3. Написать отчёт о том, что вы поняли (персональное изложение изученного материала)
Многие задачу поняли, некоторые справились с ней хорошо - есть несколько действительно интересных работ, часть решила справиться методом копирования. Причём многие просто скопировали русский текст, тогда как некоторые хотя бы перевели первоисточник с одного языка на другой.
В результате проверки появилась таблица стандартных ответов. Один из них:
1. Не соответствует требованию по цитированию
Означает, что вы решили, что вы самый хитрый / хитрая и скопиравали текст из интернета, может быть заменив несколько слов в том или ином месте предложени, и теперь выдаёте работу за свою. Требования к работе однозначно говорят о том, что работа должна быть плодом вашего, а не чужого творчества. Объём цитирования не должен превышать 1% и разрешён только для цитирования фраз которые неизбежно должны быть приведены в оригинале.
Правила университета говорят, что за такие ухищрения студент должен быть исключён из университета, хотя столь серьёзные меры пока и не применялись.
Кроме того что надо написать работу, от студентов требовалось следовать определённому шаблону. Зачем это сделано? Во первых требовалось стандартизировать каким то образом работы, чтобы мовно было установить общий для всех критерий размера работы (минимальная и максимальная длина).
Во вторых, попытаться научить студентов следовать определённым правилам написания работ принятым в научной среде нашей области (информационные технологии).
ПС: Многие обращали внимание на то, что в университете есть отдельный предмет по написанию работ и шаблон не совсем соответсвует моему. На это можно сказать только:
Тот предмет достаточно общий и не соответствует практике используемой в нашей конкретной области. Плюс к этому - судя по тому какое безобразие студенты представляли до этого, он либо учил их плохо следовать практике написания данных работ, либо студенты сталкиваются с определённым трудностями пытаясь усвоить материал того предмета.
Таким образом следование шаблону позволяет
1. Стандартизировать работы
2. Попытаться научить писать работы в формате акцептируемом на конференциях
Как и по первому пункту о самостоятельности работы, около 20% не осознали эту задачу, а потому дополнительным стандартным ответом был:
2. Не соответствует оформлению
Означает что работа не соответсвует требованиям по оформлению которые опубликованы для данного предмета. В общем случае это означает, что
2.а либо вы не присутсвовали когда я говорил, что следует открыть шаблон и писать свою работу в шаблон
2.б вам не хватает соображения следовать этому простому требованию, чтобы привести вашу работу к требуемому оформлению
3. Не соответствует требованию по объёму:
Объём определятся текстом и картинки не идут в зачёт. Тем более когда картинки, переводы строк, начало новой страницы ставиться лишь для того, чтобы увеличить объём работы. Всё это настолько очевидно, что возникает ощущение, что кто-то кого-то держит за дурака.
Кроме того выполнение требований шаблона является своебразной декларацией студента, что работа выполнена самостоятельно ибо после каждой не своей фразы я просил ставить [x], где x - номер источника из списка в конце работы.
воскресенье, 2 ноября 2008 г.
Как закрыть под-окно (popup window) открытое createPopup
Традиционный метод скрыть под-окно соданное createPopup это кликнуть на пространство основного документа в любом месте вне под-окна. Примерно тоже самое получится если из под-окна вы запустите переход на новый документ (адрес) в основном окне. К сожалению ни один из перечисленных вариантов, не соответствует поставленной в начале задаче. Другой вариант - close() метод вызванный из под-окна, но он сгенерирует диалог с вопросом "Действительно ли вы хотите закрыть данный документ". Тоже не совсем подходющий метод для закрытия меню.
Комментарий: тривиальный поиск через поисковые машины к сожалению не даёт ответа на поставленный вопрос - 95% сайтов выданных как результат поиска описывают методы работы с под окнами открытыми используя window.open
В принципе, ниже приведённый код должен позволить выполнить поставленную задачу.
В данном примере меню появляется при нажатии мышкой (клик) на ячейку таблицы в первом ряды/первый столбец (адресс 0 / 0 ). Меню содержит список и кнопку. Меню создаётся вызовом функции test: которая вызывается в следующем коде: onclick="test(closeAction)". При вызове в функцию передаётся параметром имя функции которая будет закрывать под-окно.
Функция test делает следующее:
1. Генерирует под-окно используя createPopup
2. Устанавливает функцию закрытия под-окна как метод вызываемый при нажатии кнопки в под-окне.
3. Сохраняет ссылку на под-окно в глобальной переменной.
Функция закрытия под-окна использует данную глобальную переменную и вызывает hide().
<html>
<script language="javascript">
var mpopup
function test(clickEv)
{
var wnd= window.createPopup();
wnd.document.body.style.border="solid black 1px";
wnd.document.body.innerHTML="<select><option>a<option>b</select>
<br/><input id="'a1'" type="\">";
wnd.document.getElementById("a1").attachEvent("onclick",clickEv);
wnd.show(150,150,200,50,document.body);
mpopup=wnd;
}
function closeAction()
{
mpopup.hide()
}
</script>
<body>
<table>
<tr><th onclick="test(closeAction)">1kasdkjshd</th>
<th>1kasdkjshd</th><th>1kasdkjshd</th><th>1kasdkjshd</th>
<th>1kasdkjshd</th><th>1kasdkjshd</th><th>1kasdkjshd</th>
</tr><tr>
<td>1kasdkjshd</td><td>1kasdkjshd</td><td>1kasdkjshd</td>
<td>1kasdkjshd</td><td>1kasdkjshd</td><td>1kasdkjshd</td>
</tr><tr>
<td>1kasdkjshd</td><td>1kasdkjshd</td><td>1kasdkjshd</td>
<td>1kasdkjshd</td><td>1kasdkjshd</td><td>1kasdkjshd</td>
</tr></table>
</body> </html>
wnd.document.getElementById("a1").attachEvent("onclick",clickEv);
wnd.show(150,150,200,50,document.body);
mpopup=wnd;
}
function closeAction()
{
mpopup.hide()
}
</script>
<body>
<table>
<tr><th onclick="test(closeAction)">1kasdkjshd</th>
<th>1kasdkjshd</th><th>1kasdkjshd</th><th>1kasdkjshd</th>
<th>1kasdkjshd</th><th>1kasdkjshd</th><th>1kasdkjshd</th>
</tr><tr>
<td>1kasdkjshd</td><td>1kasdkjshd</td><td>1kasdkjshd</td>
<td>1kasdkjshd</td><td>1kasdkjshd</td><td>1kasdkjshd</td>
</tr><tr>
<td>1kasdkjshd</td><td>1kasdkjshd</td><td>1kasdkjshd</td>
<td>1kasdkjshd</td><td>1kasdkjshd</td><td>1kasdkjshd</td>
</tr></table>
</body> </html>
PS: Следующая конструкция позволит вам получить доступ к объектам внутри основного документа (окна) из под-окна: parent.document.
getElementById('xxx'), где xxx - id объекта к которому вы хотите получить доступ.
пятница, 15 августа 2008 г.
Как заменить ряд (tr) в таблице используя javascript без использования innerHTML в IE
К счастью недавно я наткнулся на пост который объясняет природу данного ограничения, и, что наибоее важно, предлагает как его обойти методами javascript!!
Пользуясь случаем :) выразим признательность автору данного поста - такие бриллианты не часто встречаются среди постов.
Ниже приводиться небольшой пример демонстрирующий данный принцип .. для того чтобы увидеть как он работает достаточно зайти на любую страницу тестового пространства от w3schools.com, вставить код приведённый ниже и запустить его)
<head>
<script type="text/javascript">
function change()
{
var temp=document.getElementById('3')
temp.innerHTML="<table><tr id='8'><td>qqq2</td><td>3qqq</td></tr></table>"
var rrr=document.getElementById('8')
var tb = document.getElementById('2');
tb.parentNode.replaceChild(rrr, tb);
}
function add()
{
var temp=document.getElementById('3')
temp.innerHTML="<table><tr id='8'><td>qqq2</td><td>3qqq</td></tr></table>"
var rrr=document.getElementById('8')
var tb = document.getElementById('2');
tb.parentNode.insertBefore(rrr, tb);
}
</script>
</head>
<body>
Choose one or another operation (cannot use both in this demo) <br /><input type="button" onclick="add()" value="Add">
<input type="button" onclick="change()" value="Change">
<table id="22" border=1>
<tr id="1"><td>2</td><td>3</td></tr>
<tr id="2"><td>2</td><td>3</td></tr>
</table>
<span id="3" style='visibility:hidden'></span>
</body>
</html>
Обратите внимание, что здесь нет необходимости знать какому элементу принадлежит ряд который будет заменён или искать какой порядковый номер имеет данный ряд - достаточно иметь ссылку на сам элемент (который будет замещён) и по нему берётся элемент которому он принадлежит tb.parentNode и он же используется в операции замены (replaceChild) вторым параметром (элемент который надо заменить).
Подписаться на:
Сообщения (Atom)

