Учебный процесс в IT

индекс
214,21

Основы веб-технологий. Вводная лекция

Я преподаю веб-технологии в Волгоградском государственном техническом университете.
Предыдущие темы (1, 2, 3) показали, что главная проблема — отсутствие курса лекций, излагающего кратко и понятно все, что нужно.
Попытки найти готовую книгу не увенчались успехом — все они слишком специальные или чересчур простые, не для старшекурсников, которым нужно быстро погрузиться в веб-технологии.

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

Дело идет крайне медленно. Хочу попросить критики и советов по первой лекции и плану.

Итак.
Цель: научить студентов 5-го курса веб-технологиям.

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

Что за плечами у студентов: программирование, технологии программирования, базы данных, операционные системы, сетевые технологии.

План лекций «Основы веб-технологий»
1 Введение в веб-технологии. Веб-технологии. Понятие, особенности, применения. Сайты и страницы. Веб-сервер. Принципы построения взаимодействия клиента и сервера. Понятие о клиентских и серверных приложениях.

2 Веб-дизайн и юзабилити. Цели создания дизайна, принципы, история дизайна. Веб-дизайн в России.

3 HTML и CSS. Стандарты. Верстка.

4 Язык PHP. Возможности, особенности, ограничения. Эволюция и перспективы. Применение PHP для создания веб-сайтов.

5 Язык Javascript. Возможности, особенности, ограничения. Эволюция и перспективы. Применение Javascript для создания клиентской части веб-сайтов.

6 Роль СУБД в веб-технологиях (на примере mysql). Особенности, ограничения, администрирование. Сфера применения.

7 Возможности языка PHP по работе с текстами. PHP-шаблонизатор. Понятие шаблона страницы, рендеринга html из шаблонов и данных. Ассоциативные массивы в PHP.

8 ООП в PHP. Популярные фреймворки.

9 Интеграция html, css, php, mysql при создании веб-сайта. Создание информационного сайта с гостевой книгой «с нуля».

10 Понятие о CMS. Авторизация, диалоговые окна, кеширование, установка сайтов на сервер. Понятие хостинга, виртуального и выделенного сервера.

11 Факультативно:
11.1 AJAX
11.2 Flash и Actionscript
11.3 Web2.0
11.4 обзор современных CMS и фреймворков
11.5 Что, кроме LAMP?
11.6 Протоколы: FTP, HTTPS, SMTP, POP, IMAP
11.7 Современное состояние веб-технологий.
11.8 UPD: Основы безопасности веб-систем. Виды угроз, SQL-инъекции, XSS.

Лекция 1 и план в PDF

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

Спасибо за внимание к проблеме обучения специалистов по современному IT.
+72
21 сентября 2008, 19:36
60

комментарии (119)

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
0
stepan_ovchinnikov #
в стандарте предмет называется «основы веб-интерфейса», а рабочая программа содержит примерно то, что я написал. я переименовал предмет «для внутреннего употребления».

а мысль интересная
+2
sunnybear #
есть такое понятие, как «сетевые технологии» :) вот они-то и описывают взаимодействие. А веб — только на уровне пакетов данных и чуть выше
НЛО прилетело и опубликовало эту надпись здесь
–2
mayhem #
веб не знает понятие «пакет данных»
НЛО прилетело и опубликовало эту надпись здесь
–1
mayhem #
веб на прикладном уровне. пакеты это транспортный уровень
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
0
mayhem #
только не у тебя а у sunnybear :)
0
nzeemin #
en.wikipedia.org/wiki/Web#Computing
В данном случае, очевидно, релевантным является только «World Wide Web».
en.wikipedia.org/wiki/World_Wide_Web
0
sergehog #
во! тоже самое хотел высказать.
ИМХО Веб — это в основном только HTTP.
Сетевые технологии это уже (еще) другая опера
0
HardCoder #
значит — как 2 бита передать. на хабре — 1 коммент — 5минут… а если я — всеми — 10-ю пальцами печатаю? это минус — буду и дальше в новости втыкать.
–1
HardCoder #
студентам 5-го курса вы — ничего не привьете. даже элементарную грамотность. Но если хотите начать. Извольте — браузеры — что такое и почему ишак говно!(тема избитая, но пипл хавает, на самом деле не так — один устойчивый — лис — юзабилити и расширения. можно даже слайды показать. мож пива меньше хавать начнут). Что такое — эйсид3 — в разговоре с пацанами. Кто такой тест прошел.
Те, кто заинтересуется — будут слушать лекции, как отче наш. Вы — Отличный Учитель! И я завидую Вашим ученикам! css? совместимость… распределение нагрузки — этим не только циска занимается… Алгоритмы.
Если нужен совет — спрашивайте. Это не холивар. Просто я на это натыкался :) Привезли комп, а что делать с ним никто не знает :) и одна книжка в книжном магазине — как бишь, ее дьявола… типа с компьютером на ты — братьев запашных… там целое семество по американской, уж очень адаптированой методе преподает.

НЛО прилетело и опубликовало эту надпись здесь
0
HardCoder #
Человек. Судя по всему, натхненный, как говорят на Украине, по-русски — вдохновенный, очевидно. Весь смысл в том, чтобы его ученики поняли смысл, в детали въедут сами. Научить — можно и медведя курить. Но — это будет навык. А не знание. Физиология чистая.
По теме лекций
Веб-технологии. Согласен. Желательно дать пощупать пару-тройку сайтов. Чем отличаются? Удобство работы? Средство общения?
Не зацикливаться на пхп и линуксе. Виндовс, МакОсь — вполне достойные системы.
дотнет и джава. в принципе — близнецы-братья, но формируют объектно ориентированый подход и мышление.
эйжекс — просто обзор основных фреймворков — jquery, mootools и т. п. каждый фрейм заточен под свою задачу. но есть общее — ооп. поймут принципы — поймут все.
базы данных — обязательная программа. хотя бы базовый сиквел и сравнить с настольными бд. разницы обычно не понимают.
XML — вы про него забыли. Даже в теме шаблонизатор — очень к месту. ИМХО. Конечно.
Если интересно — могу посоветовать буржуйский сайт, где в принципе любую книгу, с запозданием на неделю(максимум) можно скачать.
0
HardCoder #
вобщем этим нужно жить… а бабло — это — бонус, не скрою — приятный… думаю, вы знаете значение понятия — стимул.
НЛО прилетело и опубликовало эту надпись здесь
0
Smerig #
Неплохо было бы познакомить с веб-сервисами, рассказать про язык описания веб-сервисов (wsdl), написать простенький прокси для веб-сервиса
+17
Qkish #
Может идея никудышная, и препод из меня никакой, но озвучу:)
Чтобы студент понял, что такое дизайн, юзабилити и т.п., можно дать задание — нарисовать свой сайт на любую тему (или заданную тему, или хоум пейдж), т.е. просто накидать макет в любом редакторе или вообще нарисовать на листочке и отсканить. Это должно быть до объяснений, лекционной части про дизайн. А потом будет лекция про дизайн, юзабилити и что там еще. И вот следующее задание — разобрать свой пример на предмет ошибок, взглянуть на него другими глазами уже. Тогда должно лучше запомниться. Во всяком случае, мне было бы интересно =)
+1
vadimus #
Я тоже думаю, что юзабилити — это основа. Самая сложная часть при создании сайта — сделать правильное ТЗ.

Всем студентам в будущем придется столкнуться с веб, но далеко не все будут делать сайты сами. Большинству придется либо заказывать сайт либо заниматься наполнением.

В общем я бы сделал так. Основные предметы:
— история веба в мире и в России (с параллельным объяснением основных технологий),
— юзабилити и составление ТЗ (разработка структуры сайта и меню, таксономии, структура страницы),
— обзор наиболее влиятельных веб-ресурсов, история влиятельных веб-ресурсов,
— веб2.0: способы создания сообществ, борьба с троллингом, методы привлечения нужной аудитории, способы монетизации.

Конечно, я все с ног на голову поставил, но думаю, что гуманитарной составляющей веба уделяется слишком мало внимания. А вот техническую сторону пусть изучают факультативно те, кто планирует заниматься созданием сайтов самостоятельно.
+3
kernel #
почему во всех инстиутах, изучение web начинается с 4-5 курсов, разве можно этот рынок изучить за один или даже два курса? Почему большинство преподавателей относятся к web индустрии, как к чему-то незначащему. Особенно не нравится то, что многие думают, раз этот студент знает компилиируемый язык, то уж в этом «несложном» вебе точно разберется. Тут только вопрос верстки можно изучать несколько семестров…
0
stepan_ovchinnikov #
специальность не называется «веб-дизайн». они будут инженеры-системотехники, и этот курс один из 15 специальных дисциплин.

а вообще — чем позже начинать изучать специфические вещи, тем легче потом
0
Luge #
Странно, у меня в дипломе тоже написано «инженер-системотехник», но нас учили как, цитируя одного из преподавателей, «из любой кучи говна сделать удобный для работы иструмент». И упор шёл не только на решение прикладных задач, а и на способность мыслить шире. Правда, как уже много раз говорилось, универ даёт только толчёк, а образование — собственный пот и упорство.
+1
Luge #
Странно, у меня в дипломе тоже написано «инженер-системотехник», но нас учили как, цитируя одного из преподавателей, «из любой кучи говна сделать удобный для работы иструмент». И упор шёл не только на решение прикладных задач, а и на способность мыслить шире. Правда, как уже много раз говорилось, универ даёт только толчёк, а образование — собственный пот и упорство.
+1
Luge #
прошу прощения за дубль.
+2
smartello #
А зачем в институтах изучать вёрстку и языки?!
Я считаю что научиться вёрстке можно только на практике, это профессиональный навык, для получения таких у нас раньше были профессиональные технические училища. Так же можно выучить отдельно взятый язык. Не нужно для этого тратить 5-6 лет своей жизни.

К 5-му курсу серьёзного ВУЗа на специальности связанной с программированием, студенты должны уже знать web изнутри, полностью весь механизм его функционирования.

В моём ВУЗе это подразумевается учебными планами, хотя многие конечно кое-как на следующий уровень перевалились и забыли всё что учили)
+3
ambientos #
Вы противоречите сами себе в первом и втором абзацах поста. В первом вы утверждаете, что изучать в институтах верстку и языки не стоит, во втором же утверждаете, что студенты к 5 курсу должны знать веб изнутри… Это как? Не изучая специфики знать веб изнутри?
А вообще в ВУЗах именно изучение таких технологий как html (css не всегда рассматривается), изучение серверных языков — остается почему-то на самом последнем месте по значимости. Я уже не говорю про юзабилити и дизайн — это вообще не затрагивается. А все дело в том, что программы изучения всего этого очень сильно устарели, а профи, которые ее могут скорректировать — в образовании нет.
Многие хотят изучить более профессионально веб-разработку, но натыкаются на то, что их некому направить на правильный путь. Все ограничивается форумами, на которых новички задают одни и теже вопросы, а отвечают на них еще такие же любители. Вспоминаю тот ажиотаж, который был в 2003—2005 гг, когда современное сообщество веб-разработчиков развивалось прямо на моих глазах на сайте webmascon.com. До сих пор считаю этот ресурс наиболее адекватным из всех существующих в рунете в плане того, как подходить к веб-разработке в целом. Сейчас многие активные форумчане этого ресурса работают в самых крупных российских компаниях рунета, некоторые уехали заграницу. И осиротели форумы. Почему именно этот ресурс стал таким популярным? Ответ в том, что большая часть контента бралась из первых рук — с Запада.
Жаль. Все считают, кстати неоправданно, что, например, верстка сегодня это достаточно окрепшая ветка веб-разработки. Неправда. Работы новичков тому подтверждение.
0
smartello #
Нет, вы неправильно меня поняли, про web изнутри я имел ввиду протоколы передачи данных, архитектуры сетей и тп. Вёрстку и языки — это практические знания, их получают вне института/университета.

Что вы будете изучать в вёрстке в институте/университете? Четыре лекции и тысяча лабораторных работ? Вы видимо слабо представляете себе учебные планы ведущих ВУЗов.

А вообще мне вот ещё что непонятно, у нас с потока ежегодно несколько человек уходят работать в Microsoft, парочка в Intel, ещё десяток заниматся системным программированием в других компаниях. Я прям представляю себе, как человек, пишущий драйвера под линукс, будет сидеть и верстать страничку в качестве лабораторной работы.
0
ambientos #
Чтож, все правильно. Зачем системный программист будет изучать верстку, если его профиль этому не отвечает. Причем среди именно этого контингента чаще всего попадаются плохие веб-программисты. Так как написать веб-приложение, не тоже самое, что написать системное. По опыту знаю, что самым узким местом становится разработка веб-интерфейсов и безопасность. Плохие веб-интерфейсы системники будут делать до тех пор, пока не смогут отличать веб-приложение от системного. Безопасность же на низком уровне из-за того, что слабо представляются отличия работы системного приложения и веб.
По-моему лучшее решение — выделить веб в отдельную специализацию и ковать профессиональных веб-разработчиков. Странно, что веб до сих пор любительская ниша, в которой сформироваться могут лишь самостоятельные личности. Хотя это закономерно ввиду очень простых необходимых базовых знаний.
0
smartello #
«Хотя это закономерно ввиду очень простых необходимых базовых знаний.» — ваше. А теперь объясните мне для чего необходимо формировать отдельную специализацию. Любой профессиональный программист за весьма ограниченный срок сможет переключиться на веб-разработку. Да не сразу, обозначенные вами проблемы существуют, но решаются за месяц работы.
Люди, сразу ушедшие в веб, при необходимости написания приложения для десктопов будут буксовать намного дольше, не понимая основ.
Кроме того, без серьёзной математической подготовки программист = индус, который может лишь закодить алгоритм.
0
ambientos #
Люди, сразу ушедшие в веб, при необходимости написания приложения для десктопов будут буксовать намного дольше, не понимая основ.
А мне кажется взаимные перебежки будут болезненны)
Я не говорю, что теже веб-разработчики, изучая только веб-технологии будут лишены серьезной математической подготовки. С чего бы? Вышку в ВУЗах еще не отменяли ни для одной специальности. Вообще я неоправданно сузил сферу веб-разработки до верстки, что, конечно, не правильно… А чем вам PHP или Perl, или другие языки не такие же серьезные, как например Visual С++? PHP, ранее считавшийся любительским языком, теперь хорошо развился. На нем создаются действительно серьезные приложения, не уступающие по сложности десктопным. Разве что сам PHP серьезно в ВУЗах не изучается; отдается предпочтение тому же Perl или С#.
И все же я склоняюсь к тому, что скоро появится в образовании отдельная ветка веб-специализации. Декстопные приложения — это хорошо, но за сетевыми приложениями будущее.
0
smartello #
Но модули для PHP пишутся на Си, разве не так? Да и что там особо изучать в PHP? Разве на нём возможно показать всю мощь ООП например?
+1
Tdr #
1. Любой вопрос можно изучать несколько семестров, но стоит ли?
Если начать изучение web с первого курса и изучать до конца, то на выходе получится не приспособленное ни для чего, кроме веба, создание. И то, не факт… Может лучше дать общее представление, а студент сам разберется в том, что ему интересно?

2. ЗАЧЕМ программитсту верстка? Верстку — верстальщикам! Программисту достаточно иметь общие понятия о верстке.

3. Рынок изучать? Курс расчитан на маркетолога или программиста?

ИТОГО: Долой мастеров во всем. Даешь профессионалов.
+1
ambientos #
Да. Верстку — верстальщикам. Вот только нет такой специальности, как HTML-верстальщик. Даже супер верстальщик печатных изданий будет верстать html-страницы тегами <font>, потому что по-другому его не учили. :-(
+12
Luge #
URL страницы
видимо, URI имелся в виду

Есь смысл не делить сразу на такие части, а дать для начало обзорную лекцию о том где и как работают клиентские яп, а где серверные. И когда прекращает работу один, и начинает второй.
8. ООП в PHP. Популярные фреймворки.
11.4 обзор современных CMS и фреймворков
В 8-ом лучше про паттерны, тем более, что студенты должны были о них уже слышать раньше.

В 90% случаев основная работа php — обрабатывать строки, а будь это шаблоны или пользовательский ввод — это уже детали. Не вижу логики в разбиении на пункты 4 и 7.

И ещё, Вы же не делаете узконаправленного специалиста, Вам надо дать ему обзорные лекции, так для чего весь этот мусор, типа «история создания», «примеры в России», «Что может 5-й php в сравнении со 2-м». Если студентам будет интересно — сами найдут.

И ради бога, сократите объем, всё нормально за год не покроете и выпустите в свет ещё нескольких web-инвалидов.

Спасибо за внимание, приятного минусования :)
+1
stepan_ovchinnikov #
спасибо. здравые мысли. подумаю.
0
onthefly #
Исторические моменты всё же нужны. На моей памяти в вузе ни одна дисциплина хотя бы на первой лекции не обходилась без упоминания об истории рассматриваемого предмета (не учебной дисциплины). Надеюсь, вы не планировали включать в ретроспективу личную карьеру или историю студии Самизнаетекого?
0
lightcyber #
А это план лекций на год? Имхо не реально обучить студента 5 курса всему этому за 1 год.
0
stepan_ovchinnikov #
на год
по всему даются основы и ссылки
0
Sannis #
Т.е. это не разбивка на лекции, а просто план? :)
0
stepan_ovchinnikov #
некоторые пункты плана будут покрыты 2-3 лекциями
0
Sannis #
Понятно, спасибо.
0
ivanych #
Я некоторое время назад работал на факультете экономики и управления (http://fem-sut.spb.ru) Питерского университета телекоммуникаций им. Бонч-Бруевича (sut.ru).

Так вот. У них там давно и глубоко копают на тему веб-технологий. Правда, в связи с общей направленностью факультета у них уклон больше в бизнес, чем в технологии. Однако, у них есть и лекции и лабораторные, ну и вообще, сами посмотрите, может быть найдете для себя какие-то идеи:

fem-sut.spb.ru/cgi-bin/tabl.cgi? lang=rus&level=on&menu=programm_ebisnes

0
stepan_ovchinnikov #
спасибо. посмотрел. немного общих слов и понятий, много html и объектной модели документа, немножко js

не вполне понятно, кого из этих студентов готовят. системного взляда на инет как средство коммуникации тут как раз и не дается. скорее самые простые из технологий
0
Fade #
Материал и курс в целом очень устарел: все в куче и все поверхностно. Такого рода лекции дают лишь общее понимание вопроса.
+3
Iskin #
Кстати, а может изучение не PHP, а какого-нить инструментария (RubyOnRails, Django) будет проще? Там сразу MVC и порог вхождения не так высок (учитывая что студент не знает ни PHP, ни Ruby, ни Python)?
0
wazza #
У нас в универе этот курс называется «Новые Информационные Технологии». Из всего вышеперечисленного вами, нам преподают только 1, 3, 4 и 6-й пункты. Так что ваш план (включая факультатив) очень даже неплох и даст хорошие базовые знания студенту.
0
lazant #
По определениям:

Веб-технологии работают не только с интернет, есть еще локальные сети, информация из которых никогда в инет не попадет.

Контент — вся информация в системе созданной с применением веб-технологий, а не только рамещенные на страницах.

–3
fantom_ua #
Можно вопрос к автору? Почему вы решили разбавить PHP вкраплением явы. поставили бы сначала яву а потом уже всё что связанно с PHP, было бы ИМХО более плавно. А, вообще работа очень полезная. Качественной авторской литературы(именно на русском языке) в этой области очень мало
0
stepan_ovchinnikov #
хотел для плавности изложения: сначала основы пхп, js и БД, потом php поглубже. я же примеры должен приводить.

с другой стороны, поскольку эти эти лекции еще не написаны, то и их порядок — вещь условная. не исключено, что js придется вообще опустить
+3
2kan #
Если за спиной у студентов программирование, технологии программирования, базы данных, операционные системы, сетевые технологии, то может не стоит учить их тупо PHP, дизайну и юзабилити… может стоит им рассказывать про особенности высоконагруженных систем и пр.
0
smartello #
Придерживаюсь той же точки зрения. имхо, при таком учебном плане все толковые студенты прекратят посещение этого курса лекций уже ко второму занятию.
+2
trix #
толковых сейчас редко больше, чем 2-3 на группу, так опасности не вижу :))
–1
smartello #
«Вы просто не умеете их готовить» ©
0
yaneblog #
Я тоже преподаю в ВУЗе. В среднем по палате, действительно, два — три человека — толковые, еще 3-4 не обладают особыми способностями, зато у них большое желание научиться и незаурядное трудолюбие. Всех остальных можно выгонять.

Наличие такого огромного числа «случайных людей» в ВУЗах (не только в ИТ-направленных) объясняется тем, что ребята косят от армии. Как только эта дебилизирующая обязаловка будет упразнена, случайных и несчастных людей (5, блин, лет мучаться!) станет меньше, а заинтересованным станет легче учиться.

0
smartello #
Просто ВУЗов слишком много, потому и косят от армии. У нас 7 человек на место, в МГУ, физтехе тот же порядок. МИФИ, МИРЭА, МТУСИ 3-5 человек на место. О каком откосе идёт речь? ВУЗ задаёт вступительными экзаменами некие критерии.
Если человек эти экзамены прошёл — значит он толковый, а дальше уже, в большинстве случаев, спрашивать нужно с самих преподавателей.

Если вы на своих занятиях задаёте студенту планку ниже чем его уровень — про интерес можно забыть. Даже если в какой-то момент эта планка поднимется — студент этого даже не заметит, потому что внимание уже рассеяно и интерес потерян.

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

Ей богу, многие преподаватели всё время жалуются какие глупые студенты, а студенты терпеть не могут их предмет, в то время как другие дают учащимся интересные проекты и позже приглашают на работу в свои успешные компании.
+1
yaneblog #
Да, ВУЗов много, многие можно закрыть, от них больше вреда, чем пользы.
Я имел ввиду откос = отсрочка. Все-таки за 5 лет многое может поменяться. Это лучшем, чем сразу идти в армию. :)
Я считаю все тупым, что является обязаловкой. Человек должен понимать, зачем он совершает то, или иное действие. Смысла служить в армии я не вижу, как думаю, и многие мои ровесники. Я три года отучился на военной кафедре. Военная кафедра привила мне отвращение к армии (бестолковая муштра без капли мысли) и разочаровала в оборонной способности нашей страны (Я три года изучал ОСУ). Кто в теме, то поймет, о чем я говорю, кто не в теме — «ОСА», это праща в век огнестрельного оружия.

Бесспорно, в лучшие ВУЗы страны (МГУ, МФТИ и т.д.) огромный конкурс. И не все его могут пройти. У меня, например, дядя работает в МГУ на МехМАте. в 10ом классе он мне сказал, что за два года он меня сможет натаскать на вступительные экзамены, я бы их сдал (без блата, у нас так не принято в семье), но учиться бы там я не смог, потому что мой уровень «понимания» математики значительно ниже требуемого.
Я пошел в другой ВУЗ, на конкретную кафедру, тебования которой соответсвовали моим возможностям. Отучился на ней 6 лет, сейчас в аспирантуре.
Да, были совершенно бездарные преподаватели, были — блестящие (совместители из того же МГУ). В школе я по физике всегда получал 3. Благодаря Игорю Борисовичу, преподавателю с физфака МГУ, я полюбил физику (в школе меня тошнило от одного вида кабинета физики) и все два года сдавал экзамен на 5 (хотя учился на инженера-программиста).
Благодаря другому преподавателю, я возненавидел Ассемблер, тем не менее я сидел, учил, разбирался, тоже сдавал год на 5.

Это не школа, это ВУЗ, а преподаватель — не клоун. Являясь преподавателем, я не собираюсь вставать на голову и другать ножками, лишь бы мои студенты ходили на мой предмет и слушали меня. Предмет может нравиться, может нет, но студент обязан учиться. Если он этого не делает, это надо сразу нахрен вышвыривать. Он занимает место, которое можно отдать парню или девченке, которые нацелены на учебу.

Я не жалуюсь на студентов, студенты не виноваты, виновата система, загоняющая толпы безучастных людей в «храмы науки».
Уж не знаю, в каком ВУЗе вы работаете, что у вас — большинство студентов стремятся выжать из преподавателя все, лишь бы больше узнать.
Очень бы хотел попасть на пару ваших лекций (если вы преподаватель). Для меня — это нонсенс.

Будучи студентом я часто страдал от того, что в меня вгружают кучу теории без практики. Два года я учил матан, два года я сидел по ночам неделями перед экзаменом, чтобы вбить в себя ненавистные интегралы, пределы и дифуры. И вот уже 5 лет, как я не встретил в прикладных задачах ни одного интеграла или дифура.
БД мы изучали MS Access. Пришлось с еднномышленниками изучать php, mysql, чтобы получить нормальнве знания, а не эту хрень.

У меня складывается впечатление, что для вас ВУЗ — это большая школа. Но это не так. В школе — дети, в ВУЗе — взрослые самостоятельные люди.
0
smartello #
Да всё проще, я студент пятого курса :)
Несомненно, в связи с этим наши взгляды рознятся, однако вот сегодня например такой день, когда на двух из трёх пар будет аншлаг, потому что всем интересно. Притом что на одной из пар будет пусто, неужели это является свидетельством того, что нас всех загнала в это учебное заведение система? Или это говорит о том, что всего 10-15 человек с потока (всего нас 60), которые туда придут и будут слушать, а не сидеть с ноутбуком и плеером — толковые, а остальные занимают чьё-то место?

Нет, для меня ВУЗ это не школа и я не путаю эти понятия. По поводу академических программ вопрос более интересный: дифуры программистам и интегралы программистам не нужны, но как же без них выйти на хороший уровень в теории вероятностей и математической статистике?

Парень или девчонка которые придут на место того, кого вы вышвырнете может очень здорово учить ваш предмет, но совершенно игнорировать остальные. Взрослым людям тоже бывает неинтересно вобщем-то, а если студент не ходит именно на ваши пары — вам не на голову нужно вставать, чтобы студенты ходили, а задуматься почему вы и ваш предмет им не интересен.
0
yaneblog #
Конечно, если не ходят только к одному преподавателю, скорее всего преподаватель либо неадекватный, либо порет какую-то чушь.
Я говорю про другое — студенты вообще не ходят ни на какие лекции, не делают никаких занятий, ни чем вообще не интересуются. Исключение — 4-7 человек от из группы, т.е. порядка 15-20%.
Я про таких «студентов» говорю. Им просто ничего не надо.
Нравится, не нравится предмет, это вопрос второй. Если его качественно преподают, преподаватель вменяемый, то ходить обязательно нужно. Я историю и философию практически не прогуливал, потому что ее очень интересно читали.

Самое обидное, что халявщики и лентяи в группе подрывают учебную атмосферу, мешают учиться тем, кто этого хочет.
+1
smartello #
Ну так может проблема с организацией учебного процесса вцелом в ВУЗе, ну или действительно понабрали людей с улицы. Может излишне полиберальничали деканаты при отчислениях с первых семестров. У меня в группе до пятого курса дошла лишь половина, знаю что на ВМиК ещё меньше этот процент. Очень, знаете ли, сильная мотивация, когда понимаешь, что твоё обучения может очень быстро прекратиться. И ещё у нас НЕВОЗМОЖНО (заявляю со всей ответственностью) купить сессию и даже отдельно взятый зачёт/экзамен, это как я понял из общения с товарищами из других ВУЗов не такое уж и частое явление. Коррумпирована только ВК, да и то, с каждым новым семестром попадаются всё более принципиальные преподаватели.

Вобщем, в нежелании у студентов учиться виноваты две стороны как правило.
0
4ars #
полностью поддерживаю
хочу только добавить 5курсник с приведенным багажом знаний
по моему вообще не нуждается в подобных лекциях
тем более говорится о том, что большинство из них реально толковые

за 1 курс (9 месяцев максимум по 6-7 занятий в месяц ?) всему что приведено выше можно максимум познакомить людей причем только тех кто с подобным не сталкивался и кому реально интересно

а остальные действительно прекратят посещении уже через пару лекций
0
stepan_ovchinnikov #
к сожалению, нуждаются. в прошлом году я этот предмет вел. в среднем половина студентов не понимают к моменту начала даже азов.
0
rusik #
а видео будет?)
0
trix #
а программирование студенты на чем вообще изучали? если на яве, то и серверную часть веба лучше давать явовскую, если на.нет, то соответственно.нетную
0
stepan_ovchinnikov #
с++.
часть — .net. часть на qt
+2
just_vladimir #
Лекционно рассказывать о конкретным ЯП/технологиям будет неправильно, следует рассказывать некие общие концепции, а привязываться к ЯП стоит только в практической части, причем желательно так, чтобы была свобода выбора у студента.
Например в моем ВУЗе до недавних пор учили основам ООП на С++, десктоп интерфейсы делали на MFC. Сейчас же осуществляется переход к системе, что на лекции рассказывается общий материал, а студент выполняя лабораторную по ООП выбирает одну из набора методичек(Java/С#/C++/Python/Ruby), для работы с GUI можно выбирать (Qt, MFC, WinForms, Swing).
Курса для WEB пока нет, но он есть в планах и создаваться он будет по такому же принципу. Так что ваши материалы будут весьма интересны.
0
vollove #
А мне кажется было бы неплохо не только технологическую часть преподать, но и некую социальную. Кому сайты нужны, зачем они нужны, кто заходит на эти сайты. Чтобы у студента было представление — «а нафига это нужно?». Честно — мне этого в институте не хватало…
0
priestley #
Имхо, если этот курс планируется читать студентам 5 ого курса — программистам, то он через чур упрощен и имеет слишком сильную ориентацию на простые сайты.

Все языки о которых идет речь в курсе должны быть не целью, а средством для реализации задач. Например в рамках обсуждения принципа работы клиент-серверной системы в вебе можно написать простенький web сервер умеющий по сути только отдавать html и выдавать 404.

Дальше: если говорить про проектирование веб-сервисов, то стоит затронуть классические паттерны вроде MVC, примеры реализации этого патерна в разных фреймворках или своя реализация в качестве дз

Обязательно стоит поговорить про RPC-like и RESTful архитектуры. Можно про распределенные вычисления для веба итд…

В общем, «основы веб-технологий», как мне кажется, не должны превращаться в сайтостроительство, т.к. это может привести к тому, что 90% выпускников этого курса будут php-быдлокодерами.

+1
Zitrix #
Вы же про CVS забыли! :)
90% выпускников в любом случае будут быдлокодерами, которых еще год будут учить банальной самостоятельности (некоторых — всю жизнь), надо сосредоточиться на самом простом, на основах, обучаться правильно выполнять свои задачи все будут уже в рабочей обстановке. А программисты, которые могут написать академически правильный, но не приспособленный к использованию web-сервис (напр., с отдачей жуткого XML'я) никому не нужны.
0
vinni #
VCS относятся скорее к организации процесса разработки, а не конкретно к веб-технологяим.
0
Zitrix #
я это и хотел сказать, привить людям «как правильно» и научить культурно общаться с проектами еще в институте — утопия.
0
Stac #
Интересная тема! И полезное начинание.

Дайте, пожалуйста, официальный RSS-линк, чтобы следить за развитием идеи и ее реализацией.
+1
Zitrix #
HTML, CSS, JS, PHP и SQL — за год можно освоить только на невысоком уровне, тут практика нужна. Имхо, лучше после одной-двух «интенсивных» и не особо достаточных вводных лекций, сразу приступить к созданию статического сайта, причем, на готовом (но не отверстанном) дизайне. Потом сделать еще один сайт, но уже с применением небольшого объема PHP и JS. Тогда уже будет понятно что к чему, и останется еще «много» времени, чтобы сосредоточиться на отдельных модулях (гостевая, новости, чат) с применением БД, AJAX, чуток углубиться в CSS. Если получится за год научить людей делать сайты стоимостью в 500 баксов — будет очень круто. И больше вероятность, что кто-то чему-то научится, т.к. отстающие уже посредине курса смогут разузнать у сокурсников «как сделать простой сайт». Основы (именно основы) юзабитили, дизайна, флеша, C#, PHP-фреймворков, XML/XSLT и изучение (на среднем уровне) JS, CSS, SQL, SGML (да, SGML обязательно нужен) — вынести на факультатив, что даст некоторую выборочную специализацию.
0
vinni #
Согласен, что нужна практика. И прежде всего, нужен опыт самого преподавателя.

Хм, а где сейчас используется SGML? Или давать его только как упражнения для мозгов и для расширения кругозора? А почему вы в таком случае XML пропустили — хоть бы они и его освоили.
0
Zitrix #
XML я не пропустил, «XML/XSLT» есть. Кнеш, в самом XML тоже есть чему поучиться, но понять что такое хороший XML можно только ежедневно с ним работая.
SGML, да, для расширения кругозора, чтобы люди понимали, откуда у любыеЗаглавныеБуквы+«ML» ноги растут.
0
vinni #
Ну, принципы-то дать можно, чем же он так хорош или плох рассказать, про парсеры существующие рассказать, про области, в которых он используется. Вот и поймет народ, что такое хороший XML. А потом еще свое придумает, лет через n.

Для того и образование, чтобы знания и опыт передавать молодежи, а не чтобы они проходили тот же путь, что и мы.
0
Zitrix #
> Для того и образование, чтобы знания и опыт передавать молодежи, а не чтобы они проходили тот же путь, что и мы.
Золотые слова

насчет XML я просто имел ввиду отсутствие избыточности, практическое отличие тэгов от атрибутов и следование своей идее построения какого-то своего XML-файла. а то бывает, что отдают типы товаров: «зубная щетка», «картофель», «последний товар в списке» :) или все размечают тэгами: «так, ведь, может потребоваться id товара составным сделать».
+1
kuka #
У нас на 3-ем курсе появилась специальность «Информационные технологии». Как сказала преподавательница за пол года мы должны выучить основы .Net, php и javascript. Она оптимист)
Спасибо Вам. Очень хотелось бы увидеть продолжение.
–6
Pilat #
Я PHP изучил на уровне обычного программиста за 4 часа…
+3
Zitrix #
Вы — гений. Изучите, пожалуйста, HTML/CSS/JS/XML/XSLT и приходите к нам работать — с утреца ждем.
0
Pilat #
C чего Вы решили, что у меня нет работы?
0
Zitrix #
Да я предложил просто, ничего личного :)
+1
vinni #
Любая мало-мальски приличная система программирования как совокупность языка и технологий включает в себя средства в том числе для построения веб-систем и организации взаимодействия с другими языками/технологиями.
В таком контексте за один, как я понял, семестр трудно чему-то научить. В этой ситуации делать упор на PHP мне кажется несколько опрометчивым. Хотя более разумного предложения у меня нет.

В целом мне ваша программа нравится.
Думаю, что в конце стоит добавить нечто вроде «Будущее веб-технологий», как ближайшее, так и отдаленное. В конечном итоге именно в этом будущем будут работать студенты и именно они будут его создавать. Разумеется, не обойдется и без нашего участия ;).

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

Сам я читаю подобный годовой курс — «Интернет-технологии». Я охватываю все моменты, которые вы указали (верстка, СУБД, шаблоны — в других курсах), но только на 4-м курсе. И только на примере языка Java, потому как больше я ничего и не знаю, а также из-за ограниченности времени.
0
vinni #
Да, вот еще, забыл про XML — обязательно стоит добавить такую тему, ведь веб без XML трудно представить.
–4
andrewnalin #
Порекомендуй людей кто хорошо сайты делает в Волгограде. Знакомому из Волгограда нужен простенький сайт
0
stepan_ovchinnikov #
хехе. имя моей конторы — в профиле. остальное по телефону.
пс, сорри за рекламу, но меня спросили — я отвечаю
0
andrewnalin #
не нашёл
stepan-ovchinnikov.habrahabr.ru/
0
stepan_ovchinnikov #
странно. раньше был. intervolga.ru, волгоградский телефон 95-9999
0
rabbitone #
Не пытайтесь восполнить пробелы в учебных программах других, давая студентам все и сразу. Они этого не оценят и не поймут — в голове будет каша, а у вас не получится — невозможно рассказать о веб-программировании за 10 лекций (например, курс Веб2.0. я читал студентам 18 часов).

Преподаватель-кун.
0
Pilat #
Дурацкая идея — давать web-технологии на 5-м курсе. Это надо делать на третьем, поясню почему: 1) раньше нельзя — есть опасность, что студенты подсядут на web-программирование и запустят учёбу, а первые два курса самые опасные; 2) к третьему курсу студентам надо что-то кушать — а web-технологии это хлеб; 3) на пятом курсе кто хотел — уже с ними разобрался, кто не хотел — тому не надо. Из соображений побочных доходов — может, даже и раньше третьего курса можно, надо специфику вуза смотреть.
+3
prodd #
будучи студентом 3 курса медунивера, я бы ни за что не стал бы ради «что-то покушать» лечить людей, так как не достаточно знаний и опыта, и мое «быдлокодерство» в медицине могло бы дорого обойтись, тогда почему вполне возможно работать веб-программером на 3 курсе? потому что последствия «как бы» не столь плачевные?
–1
vinni #
Немного разные вещи — лечить людей и лабать сайты. Могу сравнивать, потому что сам программист, работаю с 3-го курса, а жена — врач.
0
prodd #
может стоит более ответсвенно относиться к любой работе, даже не имея за спиной кнута «ужасных последствий»??? студент 3 курса может днями сидеть в лабах и практиковаться, а не пытаться спихнуть эти лабы за деньги:)
0
vinni #
Начиная с 3-го курса я работал в организациях, достаточно уважаемых, где меня ценили как разработчика. Это были не «лабы за деньги», а ПО, разрабатываемое на заказ.
+1
Luge #
Потому что ценость человеческой жизни в меде вбивается в головы с самого начала обучения, да и вообще с рождения, а стоимость дырявого скрипта и масштаб последствий от этой дыры большинство понимают только через некоторое время после начала серьёзной трудовой деятельности.

Хотя, тут тоже всё не однозначно, знаю второкурсников, которым могут позавидовать и выпускники. Но таких, к сожалению, единицы.
–1
vinni #
Неопытный разработчик может писать хороший код под руководством опытного старшего товарища.
Писать очень медленно, но верно.
Поэтому в программировании можно работать и студентам. Более того, программирование по сравнению с медициной — очень молодо. И нужные знания, как правило, можно получить только из практики на реальных проектах, а не на лекциях. К сожалению.
+1
Luge #
Ну вот, немного подменили понятия :( Естественно, в любой сфере, где многое зависит от опыта, к новичку приставляют «старшего товарища», куратора. Вы же не будете утверждать, что во время практик работу Вашей жены не проверял, дублировал, исправлял практикующий врач?

Но ведь не все студенты идут работать в крупные конторы, уже имеющие отработанные методики работы с молодняком. Часто первые проекты — склёпанные на коленке сайты за 50$. Да, такие сайты обычно представляют интерес только для самих разработчиков и заказчиков, но ошибки, совершённые при их создании, так и останутся неисправленными и перейдут дальше. А потом, когда придёт понимание, придётся переучиваться, а это процесс ой какой не сладкий.

Я не против студентов, зарабатывающих свою копейку. Я против романтической дури в их головах.
–1
vinni #
И у врача есть куратор, и у программистов. Только у программистов начало немного раньше, раньше официального получения корочки. Из-за большого объема материала, которым необходимо овладеть врачам.

Подмены понятий не заметил. И, честно говоря, не совсем понял, при чем тут романтическая дурь.
+1
Luge #
Пишем о разных вещах просто. Вы — о человеке, попавшем в хорошие руки, и, в конце концов, ставшего достойным специалистом. Я — о студенте, прослушевшем курс лекций о вебе и возомнившим себя гуру.

Самое смешное, что полностью согласен с Вашими словами, а Вы всё пытаетесь что-то доказать :)
0
vinni #
Простите, мне пора было спать вчера вечером :)
0
Pilat #
Это никакого отношения к веб-программированию не имеет. Лечить людей ответственнее и сложнее.
0
prodd #
отвественне да, сложнее врядли
0
feodor #
Какой длительности каждая лекция?

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

Вы сделаете электронные версии доступными для студентов? Будут ли они шире, чем прочитанное на лекции?
0
stepan_ovchinnikov #
это план. первая лекция длиной в 1,5 часа. некоторые пункты плана будут покрыты несколькими лекциями.

плотность — может быть. буду смотреть по ходу. или материал упростим, или лэлектронные екции более подробными будут.

поскольку некоторые студенты читают Хабр, то я их уже делаю доступными )
+1
shootnix #
Хороший курс, однако упор на PHP при рассмотрении серверного программирования, мне кажется немного напрасным. Тем более, раз уж это основы. Не лучше ли показать различные интерфейсы и методы не на конкретном языке программирования, а абстрактно, опираясь на разные языки. Скажем, CGI-приложения можно писать на разных языках. А есть еще разные модули, типа mod_php, mod_perl, там тоже своя специфика, своя структура мышления и тд и тп…
+1
Pilat #
«Что за плечами у студентов: программирование, технологии программирования, базы данных, операционные системы, сетевые технологии. „

Вопрос: а на каких задачах студенты 4 года тренировались? Что они на базах данных мастерили, надуманные примеры? Вот чем мне западное образование нравится — так это практической направленностью. Сколько проектов, сейчас известных всем, начались силами студентов. И сейчас, если покопаться, масса серьёзных вещей делается студентами под руководством профессора. Последний проект, который я нашёл — создание визуального построителя шаблонов для GeoServer. А у нас всё ещё обзорные лекции…
0
redfoxes #
И учебные примеры.
+2
mgyk #
Стоит добавить раздел про безопастность и защиту в вебприложениях. Рассказать хотя бы кратко про XSS/SQL injection. Так как это именно те грабли на которые 100% наступят.
0
stepan_ovchinnikov #
верно. обязательно добавлю. спасибо.
0
proxaoc #
«они будут инженеры-системотехники»
а зачем инженерам-системотехникам такое углубленное изучение web-технологий?
0
stepan_ovchinnikov #
затем же, зачем им углубленное изучение программирования на ЯВУ, сетевых протоколов, модели OSI, искусственного интеллекта и проектирования АСОиУ.

это же университет.
0
nzeemin #
Посмотрите www.intuit.ru/catalog/se/webprog/
0
Fade #
Одна из ключевых проблем современного IT-образования в большинстве отечественных вузов, на мой взгляд, в отсутствии комплексного подхода в образовании.

Лубой сложный процесс производства (каковым также являеться и веб-разработка) требует разбиения проекта на подзадачи и уровни. В нашем, конкретном примере за подзадачи отвечают дизайнеры, верстальщики, программисты (JavaScript, PHP) менеджеры и д.р. Ошибка состоит в том, что учат сразу всех и одному и тому-же, а потом требуют от них разделения труда. Да, вы пытаетесь научить людей работать в комманде, но в вашем случае все члены комманды одинаково «развиты» и «не-доразвиты» во во всех вопросах производства. В результате все приходит к ситуации, когда дом пытаються построить 10 рабочих, которые имеют поверхностные представление во всех областях строительства, но глубокого ни водном конкретном.

Учить людей изначально нужно по направлениям. Конечно, изначально, люди доджны иметь общий базис понимания вопроса в целом, чтобы понимать предметную область в целом. Однако, для полноценной работы курсы (лекии и лабы) у дизайнеров, верстальщико и д.р. должны быть свои.
–1
John_Cherep #
охерительно сказанно!

так и есть.

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

в толкать в голову безбашенных студентов инфу, которая 98% не пригодится всё равно, что игра в футбол в одни ворота. =(
0
iZENfire #
>Попытки найти готовую книгу не увенчались успехом — все они слишком специальные или чересчур простые, не для старшекурсников, которым нужно быстро погрузиться в веб-технологии.

Вообще, надо разделять программирование и Web-дизайн. Это совершенно различные рода деятельности. Погружение в эту сферу длительное, и во всяком случае «не на один семестр», что называется.

Что есть для программиста.
Вот эта:
Гери Д., Хорстманн К. «JavaServer Faces», ISBN 978-5-8459-1396-8
в принципе подойдёт в качестве быстрого старта в деле программирования динамичных Web-страниц. Но не скажу, что она для тех, кто не знает ЯП Java. Рассматриваются технологии Apache. Примеры не привязаны к конкретной среде программирования — нужен только Ant для сборки.

Эти:
Монахов В. «Язык программирования Java и среда NetBeans», ISBN 978-5-9775-0216-0
и
Дей Нейси, Мандел Лоренс, Райман Артур «Eclipse. Платформа Web-инструментов. Разработка Web-приложений на языке Java», ISBN 978-5-91136-051-1
разбирают архитектуру современных сред программирования, первая может служить небольшим учебником по языку. Обе учат вести проекты на примерах.

Книжки, безусловно, специализированные, но курс обучения вокруг бесплатных сред NetBeans или Eclipse с помощью них построить можно. Не в блокноте же писать Web-проекты.
0
iZENfire #
Да, и ещё.

На лекционный вопрос: «11.5 Что, кроме LAMP?»
по меньшей мере найдётся обширный список JSR'ов: jcp.org/en/jsr/all
реализованных в различных фреймворках.
И окажется, что ответом будет: «Всё остальное, что сделано на Java». ;)

P.S.
apache.org/

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.