навскидку я в институте изучал из прикладных дисциплин относящихся к программированию:
-алгоритмические языки (Фортран, Си). сейчас бы наверное изучали C# или Java
-системное программирование, системы реального времени
-архитектура ЭВМ
-теория СУБД (всякие НФ, реляционные и сетевые модели данных, ЕR-проектирование)
-структуры данных и алгоритмы(курс был прямо по книге Кнута)
-технология программирования
чего у нас не было (и это ОЧЕНЬ большое упущение)
курса по методологии разработки программного обеспечения,
и управлению процессом разработки.
мне кажется такой курс сейчас обязательно должен быть для будущих программистов.
ведь рано или поздно разработчик может/захочет стать ведущим разработчиком, менеджером проекта,
руководителем группы тестирования. и этому нигде не учат.
что там должно быть:
-современные методологии разработки ПО (RUP, XP, и тд). общий обзор.
-фазы развития программного проекта
-цикл жизни ПО
-роли людей в разработке, как строить команды и командную работу.
-тестирование, виды тестирования, роли тестирования на каждой фазе проекта
-понятия об менеджменте (управлении проектами). планирование работ,
методы временных оценок фаз развития проекта.
Re[4]: Чему сейчас учить в области программирования?
C>>нужно учить проектировать БД, а конкретные вещи — это одна практическая обьясняющая как из явы соединиться с базой и выполнить сиквел. LVV>Ну, как проектировать — эт не теория... Эт как раз практика... Этому — учим...
и получаються у вас ремеслиники от IT — индусы славянской внешности
Re[5]: Чему сейчас учить в области программирования?
Здравствуйте, cencio, Вы писали:
C>Здравствуйте, LaptevVV, Вы писали:
C>>>нужно учить проектировать БД, а конкретные вещи — это одна практическая обьясняющая как из явы соединиться с базой и выполнить сиквел. LVV>>Ну, как проектировать — эт не теория... Эт как раз практика... Этому — учим...
C>и получаються у вас ремеслиники от IT — индусы славянской внешности
Ну почему... Моих пацанов в москве с удовольствием берут... И в Питере... Астраханские ребята — по всей россии работают... И никто еще не жаловался...
А в Астрахани так просят хотя б троечника направить...
Ибо наш троечник знает и умеет много больше, чем отличники других учебных заведений...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[2]: Чему сейчас учить в области программирования?
Здравствуйте, Awaken, Вы писали:
A>чего у нас не было (и это ОЧЕНЬ большое упущение) A>курса по методологии разработки программного обеспечения, A>и управлению процессом разработки. A>мне кажется такой курс сейчас обязательно должен быть для будущих программистов. A>ведь рано или поздно разработчик может/захочет стать ведущим разработчиком, менеджером проекта, A>руководителем группы тестирования. и этому нигде не учат.
У нас подобный курс был, назывался "Технология проектирования программ". Но толку от этого не много.
Когда разработчик сможет стать руководителем проекта, к тому времени он будет уже обладать
необходимыми знаниями. А так чтобы из студентов сразу в PM это не нормально.
A>что там должно быть: A>-современные методологии разработки ПО (RUP, XP, и тд). общий обзор. A>-фазы развития программного проекта A>-цикл жизни ПО A>-роли людей в разработке, как строить команды и командную работу. A>-тестирование, виды тестирования, роли тестирования на каждой фазе проекта
Ну дадут тебе общий обзор по этим темам и что? Так же можно книжку почитать.
А практику как проводить? Набрать школьников в подчиненные?
Тут к сожалению только реальная практика на производстве поможет.
A>-понятия об менеджменте (управлении проектами). планирование работ, A>методы временных оценок фаз развития проекта.
А вот кстати эти темы обычно раскрывают в смежных экномических дисциплинах.
Которые собственно так и зовутся "Управление проектами", "Инновационный менеджмент" и т.д.
Re[3]: Чему сейчас учить в области программирования?
N_C>Во-первых — сетевая архитектура это одно, а программирование под сети — это другое.
ИМХО, способ закрепить и более досконально разобраться в сетевой архитектуре. Не стоит, конечно, очень сложным программированием заниматься, в частности поэтому BSD сокеты хороши.
Re[2]: Чему сейчас учить в области программирования?
Здравствуйте, LaptevVV, Вы писали:
LVV>ALL — в конспективном плане изложимте, что сейчас ВОСТРЕБОВАНО реально...
Есть риск, что к получению диплома, это уже не будет востребовано реально. То есть, реальные практические для рынка навыки давать надо, но не стоит зацикливаться на этом. Как пример: лет 10 назад на рынке были (и частично остались) востребованы FoxPro/BDE/Clipper (совсем давно)/Delphi(1-2-3), MFC, Win32API и уже не упомню всего. Сейчас в моде .NET и все с ним связанное, но не факт, что через несколько его не забудут ради Singularity, допустим.
Мне думается, что самое лучшее, когда институт делает реальные проекты, к которым под руководством преподавателей для практики привлекаются студенты. А обучение, всё-таки, более нацелено именно на теорию.
Здравствуйте, LaptevVV, Вы писали:
LVV>Ну, опять я пристаю к уважаемому ALL все с тем же вопросом... LVV>Чему и как учиить в программировании?
Вопрос очень сложный.
1. Я бы начал с того, что студенты после школы обычно не умеют думать. Надо развивать аналитическое, абстрактное мышление, умение решать нестандартные задачи. В этом нам помогут математика, физика, философия и т.п. К сожалению, подходят к этим предметам часто очень формально.
2. Большинство технологий изученных а университете обычно умирают к концу процесса обучения. Следовательно нужно искать относительно стабильные вещи. Основы, так сказать. Тут правда возникают проблемы с литературой и с преподавательскими кадрами...
3. Итак, уже как-то умеем думать, якобы знаем основы. Теперь нужно учиться учиться. Иначе нашим выпускникам придется идти на курсы повышения квалификации сразу после окончания института.Очень полезны крупные, сквозные лабораторные работы и курсовики на целый семестр. Без документации, с плохим ТЗ. Для практики. Чтобы учились учиться на сложных (для уровня студента) практических примерах в РАЗНЫХ областях.
4. Диплом. Неплохо писать его среди специалистов а не в турфирме или в магазине.
Языки и технологии, которые будут проходить студенты вторичны. Первичны фундаментальные основы и обучаемость.
Выпускники, которых готовили по вышеозначенным правилам могут не знать особенностей .NET или C#, зато они могут самостоятельно и в кратчайшие сроки подготовить себя к решению выданной им задачи в рамках заданной технологии.
Здравствуйте, LaptevVV, Вы писали:
LVV>Ну, опять я пристаю к уважаемому ALL все с тем же вопросом... LVV>Чему и как учиить в программировании? LVV>Глобально мне видятся такие направления:
LVV>1. Языки и связанные с ними понятия... LVV>2. Базы данных LVV>3. Интернет-программирование... LVV>4. Взгляд сверху — проектирование, архитектура, парадигмы... LVV>5. Да, еще ОСи... Поскольку в 3 — сетевое программирование...
В этот список можно добавить мобильное программирование и т.п.
LVV>Если по поводу 1 — я все знаю, то по поводу 2 — в недоумении... Теории практически нет... Единственное, что нужно там — рассказать об ООП-БД и реляционных... Ну, еще о нормализации... Фактически нужно учить совершенно КОНКРЕТНЫМ вещам... SQL... и как через ODBC связаться с базой на сервере... И тоому подобным вещам...
Совершенно конкретные вещи через пару лет могут устареть.
LVV>Или завязаться полностью на Додиез? Тем более, что там же и Веб-сервисы и ХМЛ и ASP...
Веб-сервисы и XML не только в дотнете Их и на Java используют, и на PHP, и т.д.
Но еще раз: не надо ни на чем полностью завязываться. Человек должен быть в состоянии освоить ту технологию, которая ему конкретно будет необходима. А для этого нужен пункт 4) в том числе.
Нет, конечно, по крайней мере, один какой-то конкретный язык/технологию (например, С++, Java, .NET) нужно знать в совершенстве. Но не обязательно знать на память все классы/библиотеки
LVV>Вообще, каким образом можно постороить этот курс — Интернет программирование?
1) HTML, JavaScript, CSS, XML/XSLT (языки разметки, клиентские скрипты и т.п.)
2) Apache, PHP, MySQL (на стороне сервера, интерпритируемые языки, дать понимание веб-сервера, взаимодействия с БД и т.п.)
3) J2EE/.NET (все не охватить, выбирайте сами; основы языков Java/C#, представление о платформе, а дальше фреймворки типа JSF/Spring/Hibernate или ASP.NET)
Здравствуйте, LaptevVV, Вы писали:
LVV>Ну, опять я пристаю к уважаемому ALL все с тем же вопросом... LVV>Чему и как учиить в программировании? LVV>Глобально мне видятся такие направления:
LVV>1. Языки и связанные с ними понятия... LVV>2. Базы данных LVV>3. Интернет-программирование... LVV>4. Взгляд сверху — проектирование, архитектура, парадигмы... LVV>5. Да, еще ОСи... Поскольку в 3 — сетевое программирование...
LVV>Если по поводу 1 — я все знаю, то по поводу 2 — в недоумении... Теории практически нет... Единственное, что нужно там — рассказать об ООП-БД и реляционных... Ну, еще о нормализации... Фактически нужно учить совершенно КОНКРЕТНЫМ вещам... SQL... и как через ODBC связаться с базой на сервере... И тоому подобным вещам...
Вообще довольно странно звучит фраза "теории практически нет"... особенно с учетом того, что библия для разработчиков подобного профиля занимает 400 страниц, а SQL в ней — всего лишь небольшой (относительно) раздел (это я конечно же про Дейта ). Проектирование БД, разумеется, одной нормализацией не заканчивается. Короче, тут все дело в количестве доступных часов. А уж наполнения... реляционные структуры, не реляционные (на практике часто приходится сталкиваться с мета-информацией), нормализация и денормализация, синхронизация (параллельный доступ), всевозможные блокировки, курсоры, собственно запросы (параметризация, прекомпляция), транзакции и процедуры и много-много другого. В идеале, конечно, еще основы организации СУБД на физическом уровне (для понимания), но это уже "углубленный курс".
Здравствуйте, LaptevVV, Вы писали:
LVV>Ну, опять я пристаю к уважаемому ALL все с тем же вопросом...
Ну прям чисто провокатор!
LVV>Чему и как учиить в программировании? LVV>Глобально мне видятся такие направления:
LVV>1. Языки и связанные с ними понятия... LVV>2. Базы данных LVV>3. Интернет-программирование... LVV>4. Взгляд сверху — проектирование, архитектура, парадигмы... LVV>5. Да, еще ОСи... Поскольку в 3 — сетевое программирование...
Интернет-программирование — это сугубо коммерческое, сиречь перевёрнутое вверх ногами название. Факультатив, не больше. Если человек умеет писать программы и разбирается в сетях, то в веб-программировании разберётся с полпинка. Вы ещё язык manpages отдельным направлением програмирования назовите!
LVV>Если по поводу 1 — я все знаю, то по поводу 2 — в недоумении... Теории практически нет... Единственное, что нужно там — рассказать об ООП-БД и реляционных... Ну, еще о нормализации... Фактически нужно учить совершенно КОНКРЕТНЫМ вещам...
А реляционная алгебра? ООБД — это пока ещё не разбери-бери что, так что, и заморачиваться ими стоит после курса ИИ.
LVV>SQL... и как через ODBC связаться с базой на сервере... И тоому подобным вещам...
Да ты что?! А кроме ODBC других интерфейсов и нету??? dbLib, OSI — это что?
LVV>По поводу 3 — я вообще в шоке... Настолько здесь много всего... Причем, опять же теории никакой, а все сплошь практика...
Теория здесь — ТМО + эргономика. Блин, что все с ума посходили с этой разметкой текстов — переростком? Вот, что реклама с людьми делает!
LVV>Вот как раз о 3 я и хотел поговорить более всего... LVV>С чего начинать, чем продолжать и куда двигать? LVV>Если ориентированться на Дотнет... То как бы это составить целостную картину всего... LVV>Учитывая, что студентов нужно учить конкретике, но не забывать показывать место изучаемого в общей картине...
Общая картина: браузер = терминал, сервер = сервер, HTTP-запрос = обращение с терминала к серверу, HTML-страница = ответ сервера.
LVV>HTML, XML, VBScript, JScript, ASP... Веб-сервисы...
Терминологию специально выбрал несколько архаичную:
HTML — разметка текстов, обрабатывается терминалом, генерирующим отображение.
XML — гипертрофированная разметка текстов.
JScript — язык, на котором пишутся программы для терминала. Текст программ передаётся с сервера терминалу.
ASP — сервер выполняет программу, которая описывает генерацию страницы. Программа написана на VBScript.
VBScript — язык, на котором пишутся ASP-программы.
Кроме того, ты ещё про CGI забыл. Common Gateway Interface, однако. Практически, то же самое, что и ASP, но медленнее работает по ряду специфических причин. Каких?
Веб-сервисы, так это вообще — принципиально спецификация для описания HTTP/XML-интерфейса.
LVV>Java, JSP и все с эттим связанное?...
Java — ну, здравствуйте, этот C++-недомерок, всё-таки, как-никак, платформа общего назначения.
JSP — см. ASP, но программа написана на несколько модифицированном Java.
LVV>PHP — ? PERL?
PHP, кажись, тоже метит в языки общего назначения.
PERL — главное, для чего он появился — обрабатывать отчёты. Practcial Extracting Report Language, однако.
LVV>Или завязаться полностью на Додиез? Тем более, что там же и Веб-сервисы и ХМЛ и ASP...
А не важно, на что именно завязываться. Это всё птицы одного полёта.
LVV>Вообще, каким образом можно постороить этот курс — Интернет программирование?
Как факультатив с автозачётом. Тоже мне, теория нашлась. Факультатив будет пользоваться успехом у студентов ввиду его коммерческой востребованности, но в то же время, будет вполне цинично ими оцениваться, что только прибавит результативности в конечном итоге.
Теперь по делу:
— Структуры, блин, данных и базовые алгоритмы;
— Формальные грамматики, трансляция, оптимизация;
— Системное программирование, операционные системы;
— Параллельные вычисления;
— Долговременное хранение данных;
— Распределённые системы, протоколы обмена данными (сети, то бишь);
— Машинная графика;
— Искусственный интеллект, ООП, семантические сети, Lisp и т.п.;
"И вот теперь, дети, когда вы знаете, что почём, поиграем с вами в MFC, Swing, Web и прочее"
Архитектура — это тоже не совсем теоретическая дисциплина. Слишком уж много двусмысленностей в её терминологии и слишком уж она практична по сути. Парадигмы... Ну это даже не смешно. Есть просто способы записи программ на языках высокого уровня и не более того.
Про математику и "электронные" дисциплины — даже не вспоминаю отдельно. Без булевой алгебры всё равно никуда не денешься.
Прочее сугубо конкретное — в сад, то есть, в практику, на лабы.
Интернет-програмирование — отдельное направление... Ой, я не могу!
... << RSDN@Home 1.2.0 alpha rev. 643>>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[2]: Чему сейчас учить в области программирования?
Здравствуйте, RI, Вы писали:
RI>В этот список можно добавить мобильное программирование и т.п.
LVV>>Если по поводу 1 — я все знаю, то по поводу 2 — в недоумении... Теории практически нет... Единственное, что нужно там — рассказать об ООП-БД и реляционных... Ну, еще о нормализации... Фактически нужно учить совершенно КОНКРЕТНЫМ вещам... SQL... и как через ODBC связаться с базой на сервере... И тоому подобным вещам... RI>Совершенно конкретные вещи через пару лет могут устареть.
Ну, SQL-то не устареет... и Одибиси — тоже... Реляция и ООБД — вряд ли... LVV>>Или завязаться полностью на Додиез? Тем более, что там же и Веб-сервисы и ХМЛ и ASP... RI>Веб-сервисы и XML не только в дотнете Их и на Java используют, и на PHP, и т.д.
Ну, эт понятно... Но, наш универ купил все лицензионное... RI>Но еще раз: не надо ни на чем полностью завязываться. Человек должен быть в состоянии освоить ту технологию, которая ему конкретно будет необходима. А для этого нужен пункт 4) в том числе.
Эт тоже понятно... Тока не все могут... RI>Нет, конечно, по крайней мере, один какой-то конкретный язык/технологию (например, С++, Java, .NET) нужно знать в совершенстве. Но не обязательно знать на память все классы/библиотеки
Эт тоже понятно... LVV>>Вообще, каким образом можно постороить этот курс — Интернет программирование? RI>1) HTML, JavaScript, CSS, XML/XSLT (языки разметки, клиентские скрипты и т.п.) RI>2) Apache, PHP, MySQL (на стороне сервера, интерпритируемые языки, дать понимание веб-сервера, взаимодействия с БД и т.п.) RI>3) J2EE/.NET (все не охватить, выбирайте сами; основы языков Java/C#, представление о платформе, а дальше фреймворки типа JSF/Spring/Hibernate или ASP.NET)
Спасибо!
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[2]: Чему сейчас учить в области программирования?
Здравствуйте, Alik, Вы писали:
A>Здравствуйте, LaptevVV, Вы писали:
LVV>>Ну, опять я пристаю к уважаемому ALL все с тем же вопросом... LVV>>Чему и как учиить в программировании? LVV>>Глобально мне видятся такие направления:
LVV>>1. Языки и связанные с ними понятия... LVV>>2. Базы данных LVV>>3. Интернет-программирование... LVV>>4. Взгляд сверху — проектирование, архитектура, парадигмы... LVV>>5. Да, еще ОСи... Поскольку в 3 — сетевое программирование...
LVV>>Если по поводу 1 — я все знаю, то по поводу 2 — в недоумении... Теории практически нет... Единственное, что нужно там — рассказать об ООП-БД и реляционных... Ну, еще о нормализации... Фактически нужно учить совершенно КОНКРЕТНЫМ вещам... SQL... и как через ODBC связаться с базой на сервере... И тоому подобным вещам...
A>Вообще довольно странно звучит фраза "теории практически нет"... особенно с учетом того, что библия для разработчиков подобного профиля занимает 400 страниц, а SQL в ней — всего лишь небольшой (относительно) раздел (это я конечно же про Дейта ). Проектирование БД, разумеется, одной нормализацией не заканчивается. Короче, тут все дело в количестве доступных часов. А уж наполнения... реляционные структуры, не реляционные (на практике часто приходится сталкиваться с мета-информацией), нормализация и денормализация, синхронизация (параллельный доступ), всевозможные блокировки, курсоры, собственно запросы (параметризация, прекомпляция), транзакции и процедуры и много-много другого. В идеале, конечно, еще основы организации СУБД на физическом уровне (для понимания), но это уже "углубленный курс".
Дык я это за практику и считаю...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[2]: Чему сейчас учить в области программирования?
Здравствуйте, Геннадий Васильев, Вы писали:
LVV>>Ну, опять я пристаю к уважаемому ALL все с тем же вопросом... ГВ>Ну прям чисто провокатор!
Дык — Змей жиж по гороскопу... LVV>>Чему и как учиить в программировании?
ГВ>Интернет-программирование — это сугубо коммерческое, сиречь перевёрнутое вверх ногами название. Факультатив, не больше. Если человек умеет писать программы и разбирается в сетях, то в веб-программировании разберётся с полпинка. Вы ещё язык manpages отдельным направлением програмирования назовите! Ну, отношение понятно... ГВ>А реляционная алгебра? ООБД — это пока ещё не разбери-бери что, так что, и заморачиваться ими стоит после курса ИИ.
Ну, Илья Труб книжку по Каше издал уже... LVV>>SQL... и как через ODBC связаться с базой на сервере... И тоому подобным вещам... ГВ>Да ты что?! А кроме ODBC других интерфейсов и нету??? dbLib, OSI — это что?
Ага! Ратуете за конкретику... LVV>>По поводу 3 — я вообще в шоке... Настолько здесь много всего... Причем, опять же теории никакой, а все сплошь практика... ГВ>Теория здесь — ТМО + эргономика. Блин, что все с ума посходили с этой разметкой текстов — переростком? Вот, что реклама с людьми делает! ГВ>Общая картина: браузер = терминал, сервер = сервер, HTTP-запрос = обращение с терминала к серверу, HTML-страница = ответ сервера.
LVV>>HTML, XML, VBScript, JScript, ASP... Веб-сервисы... ГВ>Терминологию специально выбрал несколько архаичную: ГВ>HTML — разметка текстов, обрабатывается терминалом, генерирующим отображение. ГВ>XML — гипертрофированная разметка текстов. ГВ>JScript — язык, на котором пишутся программы для терминала. Текст программ передаётся с сервера терминалу. ГВ>ASP — сервер выполняет программу, которая описывает генерацию страницы. Программа написана на VBScript. ГВ>VBScript — язык, на котором пишутся ASP-программы.
Ну, эт я и сам знаю... ГВ>Кроме того, ты ещё про CGI забыл. Common Gateway Interface, однако. Практически, то же самое, что и ASP, но медленнее работает по ряду специфических причин. Каких?
На каждый скрипт — отдельный процесс... Потому и не назвал, что думал — совсем уже не пользуется... ГВ>Веб-сервисы, так это вообще — принципиально спецификация для описания HTTP/XML-интерфейса. LVV>>Вообще, каким образом можно постороить этот курс — Интернет программирование? ГВ>Как факультатив с автозачётом. Тоже мне, теория нашлась. Факультатив будет пользоваться успехом у студентов ввиду его коммерческой востребованности, но в то же время, будет вполне цинично ими оцениваться, что только прибавит результативности в конечном итоге.
Ну, подумаю, между прочим... ГВ>Теперь по делу:
ГВ>- Структуры, блин, данных и базовые алгоритмы; ГВ>- Формальные грамматики, трансляция, оптимизация; ГВ>- Системное программирование, операционные системы; ГВ>- Параллельные вычисления; ГВ>- Долговременное хранение данных; ГВ>- Распределённые системы, протоколы обмена данными (сети, то бишь); ГВ>- Машинная графика; ГВ>- Искусственный интеллект, ООП, семантические сети, Lisp и т.п.;
Все это и так преподается... Стандарт и план все это включает... Еще б преподов набрать квалифицированных... ГВ>"И вот теперь, дети, когда вы знаете, что почём, поиграем с вами в MFC, Swing, Web и прочее"
ГВ>Архитектура — это тоже не совсем теоретическая дисциплина. Слишком уж много двусмысленностей в её терминологии и слишком уж она практична по сути. Парадигмы... Ну это даже не смешно. Есть просто способы записи программ на языках высокого уровня и не более того.
Технология программирования и Проектирование АСОИУ — курсы есть... ГВ>Про математику и "электронные" дисциплины — даже не вспоминаю отдельно. Без булевой алгебры всё равно никуда не денешься.
Дискретная математика... ГВ>Интернет-програмирование — отдельное направление... Ой, я не могу!
Лан, понятно...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[3]: Чему сейчас учить в области программирования?
Здравствуйте, LaptevVV, Вы писали:
ГВ>>Интернет-программирование — это сугубо коммерческое, сиречь перевёрнутое вверх ногами название. Факультатив, не больше. Если человек умеет писать программы и разбирается в сетях, то в веб-программировании разберётся с полпинка. Вы ещё язык manpages отдельным направлением програмирования назовите! LVV> Ну, отношение понятно...
Отношение — как к перегретому утюгу: ни погладить что-то, ни в руки взять, ни погреться. Но внимание к себе привлекает!
ГВ>>А реляционная алгебра? ООБД — это пока ещё не разбери-бери что, так что, и заморачиваться ими стоит после курса ИИ. LVV>Ну, Илья Труб книжку по Каше издал уже...
Да мало ли книжек? Тем более, что это книга по конкретной Cache... Дело в том, что не так уж и понятно, что делать с самим понятием "объект": куда девать наследование, как выражать агрегацию и т.п. На "бытовом" уровне всё ясно, разумеется, ну а как пытаешься объяснить более точно... кхм. Потому и теория буксует.
LVV>>>SQL... и как через ODBC связаться с базой на сервере... И тоому подобным вещам... ГВ>>Да ты что?! А кроме ODBC других интерфейсов и нету??? dbLib, OSI — это что? LVV>Ага! Ратуете за конкретику...
Атож! Но тольки в контексте практического применения теории.
[...] ГВ>>Кроме того, ты ещё про CGI забыл. Common Gateway Interface, однако. Практически, то же самое, что и ASP, но медленнее работает по ряду специфических причин. Каких? LVV>На каждый скрипт — отдельный процесс... Потому и не назвал, что думал — совсем уже не пользуется...
Сейчас уже редко где встречается, но в CGI есть важный момент: выводимая веб-страница, это ни что иное, как стандартный вывод вызванного процесса. Дальше подставляем вместо "стандартного вывода" какой-нибудь GeneratedPageContent и — то же самое. То есть, дальнейший переход от CGI к xSP выглядит вполне мотивированным — просто убраны издержки, связанные с вызовом процесса и перенаправлением вывода. Кстати, есть ещё и "С++ Server Pages".
LVV>>>Вообще, каким образом можно постороить этот курс — Интернет программирование? ГВ>>Как факультатив с автозачётом. Тоже мне, теория нашлась. Факультатив будет пользоваться успехом у студентов ввиду его коммерческой востребованности, но в то же время, будет вполне цинично ими оцениваться, что только прибавит результативности в конечном итоге. LVV>Ну, подумаю, между прочим...
Поскольку у такого курса не будет "харизмы" теоретической дисциплины, народ посвободнее будет себя чувствовать.
ГВ>>Теперь по делу: ГВ>>- Структуры, блин, данных и базовые алгоритмы;
[...] ГВ>>- Искусственный интеллект, ООП, семантические сети, Lisp и т.п.; LVV>Все это и так преподается... Стандарт и план все это включает... Еще б преподов набрать квалифицированных...
Ну дык, аспирантов надобно готовить, видимо...
ГВ>>Архитектура — это тоже не совсем теоретическая дисциплина. Слишком уж много двусмысленностей в её терминологии и слишком уж она практична по сути. Парадигмы... Ну это даже не смешно. Есть просто способы записи программ на языках высокого уровня и не более того. LVV>Технология программирования и Проектирование АСОИУ — курсы есть...
Мне сдаётся, что как раз там таким дисциплинам и место — на вспомогательных курсах (если я правильно понял употребление слова "курсы"). Может быть, где-то и есть надёжный теоретический базис, не знаю. Пока что наша "теория архитектуры" больше смахивает на набор эмпирик и best practices.
... << RSDN@Home 1.2.0 alpha rev. 643>>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
LVV>Ну, опять я пристаю к уважаемому ALL все с тем же вопросом... LVV>Чему и как учиить в программировании? LVV>Глобально мне видятся такие направления: LVV>Или завязаться полностью на Додиез? Тем более, что там же и Веб-сервисы и ХМЛ и ASP... LVV>Вообще, каким образом можно постороить этот курс — Интернет программирование?
Уважаемый LaptevVV, по моему мнению, я бы не стал завязываться на конкретные языки. Посмотрите, как проводят интервью Гугл или Майкрософт — им нужны алгоритмические знания. Дайте студенту выбор: пусть он решает, что ему по душе. Я, например, не люблю дотНет. Мои интересы лежат около с++/Питона и т.п. Почему я должен изучать Додиез???
Интернет-программирование — зачем нужна конкретика??? Может, студент у вас прирожденный веб-дизайнет, ему нужен Хтмл/ActionScript или ДжаваСкрипт, а вы ему прочтете курс по ASP.
Я противник учить студентов конкретным вещам. Посмотрите, как учат в буржундии. Каждый студент выбирает — то, что ему по душе.
Вот и вы сделайте так: прочтите курс по основным понятиям интернета и дайте задание сделать, что-нибудь на эту тему. Одни захотят сайт сделать, другие игрушку на Flash, третьи — интернет-чат.
Или я не прав???
iLYA
Re[2]: Чему сейчас учить в области программирования?
Здравствуйте, ptolemy, Вы писали:
P>Здравствуйте, LaptevVV, Вы писали:
LVV>>Ну, опять я пристаю к уважаемому ALL все с тем же вопросом... LVV>>Чему и как учиить в программировании?
P>Вопрос очень сложный.
Что касается технической части программы обучения, то все зависит от специализации, по которой готовится выпускник. Все что здесь перечисляли сойдет с несущественными вариациями. Я могу от себя добавить по опыту работы с выпускниками несколько направлений, в которых у большинства пробелы:
1. Интернет-поиск. (проводить на 1 курсе) Как это ни странно, его возможности используются выпускниками вузов хорошо если на 10%. Не все догадываются при получении непонятного сообщения об ошибке, пробить его в инете, а тратят время на ковыряние в коде и самостоятельный поиск (как 10 лет назад). Синтаксис запросов к языковым машинам очень пригодился бы. Да и вообще, на 80% проблем решение можно найти в Инете и этому надо учить на практике, на показательных примерах, сразу же на первом курсе. Это не только в технических, но и в прикладных вопросах пригодится. Давать лабы на поиск нужной информации.
2. Управление качеством. (3 курс). Помимо теории — взять практические работы студентов за прошлые годы, показательно их разобрать, указать на баги, на неоптимальную производительность и т.п. Дать в рамках этого курса несколько задач повышенной сложности, которые кажутся простыми, но с подводными камнями — опять подробно разобрать, дать студентам понять, что не все так просто как кажется на первый взгляд. Дать задачи на постороение GUI, указать на некачественный и "кривой" GUI. После этого курса *обязательно* во всех последующих придерживаться принципов заложенных на этом курсе, чтобы материал закрепился, иначе навык не привьется и работа пойдет прахом. Тут уже общая командная работа преподавателей нужна — договориться, что на первых курсах сильно не придираться, а после курса по качеству — не принимать лабы, не удовлетворяющие доведенным до них требованиям по качеству.
3. Работа со сторонними компонентами и библиотеками. (4-й курс) За время обучения студенты привыкают работать только в рамках определенных IDE, языков и их возможностей. Надо обязательно вводить курс, на котором учить подключать сторонние компоненты (COM,web services, dll, open-source и т.п.) на конкретных примерах — UI библиотеки, платежные системы, Ebay API, GoogleMaps API и т.п. Дать практические работы по выбору сторонних компонент для решения конкретных проблем, нпр. лаба — выбрать библиотеку для реализации почтового клиента по протоколу SuperProtocol. О пользе подобного курса говорить излишне, научиться переиспользовать то, что уже создано другими разработчиками — самый быстрый путь в мир нашей профессии.
Здравствуйте, LaptevVV, Вы писали:
LVV>Ну, опять я пристаю к уважаемому ALL все с тем же вопросом... LVV>Чему и как учиить в программировании? LVV>Глобально мне видятся такие направления:
LVV>1. Языки и связанные с ними понятия... LVV>2. Базы данных LVV>3. Интернет-программирование... LVV>4. Взгляд сверху — проектирование, архитектура, парадигмы... LVV>5. Да, еще ОСи... Поскольку в 3 — сетевое программирование...
LVV>Если по поводу 1 — я все знаю, то по поводу 2 — в недоумении... Теории практически нет... Единственное, что нужно там — рассказать об ООП-БД и реляционных... Ну, еще о нормализации... Фактически нужно учить совершенно КОНКРЕТНЫМ вещам... SQL... и как через ODBC связаться с базой на сервере... И тоому подобным вещам...
LVV>По поводу 3 — я вообще в шоке... Настолько здесь много всего... Причем, опять же теории никакой, а все сплошь практика... LVV>Вот как раз о 3 я и хотел поговорить более всего... LVV>С чего начинать, чем продолжать и куда двигать? LVV>Если ориентированться на Дотнет... То как бы это составить целостную картину всего... LVV>Учитывая, что студентов нужно учить конкретике, но не забывать показывать место изучаемого в общей картине... LVV>HTML, XML, VBScript, JScript, ASP... Веб-сервисы... LVV>Java, JSP и все с эттим связанное?... LVV>PHP — ? PERL?
LVV>Или завязаться полностью на Додиез? Тем более, что там же и Веб-сервисы и ХМЛ и ASP...
LVV>Вообще, каким образом можно постороить этот курс — Интернет программирование?
А как же процессные веши и управление? Короче, Software Engineering. глянь http://sep.russee.com