Re[6]: Чему сейчас учить в области программирования?
От: Мемега Литва  
Дата: 27.04.06 13:50
Оценка: 7 (2) +1
Здравствуйте, LaptevVV, Вы писали:

LVV>Ого! Круто! Сильно полезно для повышения квалификации программеров...

LVV>Только вряд ли найдутся реальные задачи по написанию осей, а вот по использованию АПИ — половина рсдна этим занимается...
LVV>
LVV>Поэтому я и решил когда-то — лучше апи давать, чем написание оси...


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

Хотя все зависит от статуса курса — если ВУЗ, лучше дать основы построения, если проф.курсы — наверняка API.
memega
Re: Чему сейчас учить в области программирования?
От: ptolemy  
Дата: 03.05.06 13:07
Оценка: 3 (2) +1
Здравствуйте, LaptevVV, Вы писали:

LVV>Ну, опять я пристаю к уважаемому ALL все с тем же вопросом...

LVV>Чему и как учиить в программировании?

Вопрос очень сложный.

1. Я бы начал с того, что студенты после школы обычно не умеют думать. Надо развивать аналитическое, абстрактное мышление, умение решать нестандартные задачи. В этом нам помогут математика, физика, философия и т.п. К сожалению, подходят к этим предметам часто очень формально.
2. Большинство технологий изученных а университете обычно умирают к концу процесса обучения. Следовательно нужно искать относительно стабильные вещи. Основы, так сказать. Тут правда возникают проблемы с литературой и с преподавательскими кадрами...
3. Итак, уже как-то умеем думать, якобы знаем основы. Теперь нужно учиться учиться. Иначе нашим выпускникам придется идти на курсы повышения квалификации сразу после окончания института.Очень полезны крупные, сквозные лабораторные работы и курсовики на целый семестр. Без документации, с плохим ТЗ. Для практики. Чтобы учились учиться на сложных (для уровня студента) практических примерах в РАЗНЫХ областях.
4. Диплом. Неплохо писать его среди специалистов а не в турфирме или в магазине.

Языки и технологии, которые будут проходить студенты вторичны. Первичны фундаментальные основы и обучаемость.

Выпускники, которых готовили по вышеозначенным правилам могут не знать особенностей .NET или C#, зато они могут самостоятельно и в кратчайшие сроки подготовить себя к решению выданной им задачи в рамках заданной технологии.
Re: Чему сейчас учить в области программирования?
От: Аноним  
Дата: 03.06.06 12:42
Оценка: 1 (1) -1
Здравствуйте, 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

Это отдельная статья. Тут читал в ведомостях по поводу этого — посмотри, кто самый перспективный:http://vz.ru/society/2006/4/14/29968.html
Re: Чему сейчас учить в области программирования?
От: iLYA Канада http://www.bizon.org/ilya/
Дата: 11.05.06 17:12
Оценка: +2
Здравствуйте, LaptevVV, Вы писали:


LVV>Ну, опять я пристаю к уважаемому ALL все с тем же вопросом...

LVV>Чему и как учиить в программировании?
LVV>Глобально мне видятся такие направления:
LVV>Или завязаться полностью на Додиез? Тем более, что там же и Веб-сервисы и ХМЛ и ASP...
LVV>Вообще, каким образом можно постороить этот курс — Интернет программирование?


Уважаемый LaptevVV, по моему мнению, я бы не стал завязываться на конкретные языки. Посмотрите, как проводят интервью Гугл или Майкрософт — им нужны алгоритмические знания. Дайте студенту выбор: пусть он решает, что ему по душе. Я, например, не люблю дотНет. Мои интересы лежат около с++/Питона и т.п. Почему я должен изучать Додиез???
Интернет-программирование — зачем нужна конкретика??? Может, студент у вас прирожденный веб-дизайнет, ему нужен Хтмл/ActionScript или ДжаваСкрипт, а вы ему прочтете курс по ASP.

Я противник учить студентов конкретным вещам. Посмотрите, как учат в буржундии. Каждый студент выбирает — то, что ему по душе.
Вот и вы сделайте так: прочтите курс по основным понятиям интернета и дайте задание сделать, что-нибудь на эту тему. Одни захотят сайт сделать, другие игрушку на Flash, третьи — интернет-чат.

Или я не прав???

iLYA
Re: Чему сейчас учить в области программирования?
От: Glоbus Украина  
Дата: 05.06.06 15:47
Оценка: 4 (1)
Здравствуйте, LaptevVV, Вы писали:

LVV>Ну, опять я пристаю к уважаемому ALL все с тем же вопросом...



Ну например можно посмотреть, чему учат "конкуренты"
здесь
Удачи тебе, браток!
Re: Чему сейчас учить в области программирования?
От: De-Bill  
Дата: 25.04.06 03:59
Оценка: 1 (1)
LVV>1. Языки и связанные с ними понятия...

Здесь главное не зацикливаться на императивных языках программирования, а рассмотреть ещё декларативные и функциональные. При этом желательно рассмотреть разные языки в каждой категории... там Python, perl, javascript (на самом деле удивительный язык) и т.д..

LVV>2. Базы данных


Зря вы так про теорию... По-хорошему, эту тему надо начинать с реляционной алгебры...

LVV>3. Интернет-программирование...


Посмотреть в сторону Web2, Semantic Web, RDF, OWL, XQuery.

LVV>4. Взгляд сверху — проектирование, архитектура, парадигмы...


Про это ничего не могу сказать...

LVV>5. Да, еще ОСи... Поскольку в 3 — сетевое программирование...


Здесь тоже желательно не зацикливать на всяком конкретном API, а начинать с общих вещей и теории... Я бы посоветовал построить курс по книге Таненбаума. Если бы я сейчас учился в универе, то был бы рад, если бы вместо виндов и лункса преподование ОС шло на базе MINIX, где можно нормально покапаться во внутренностях (Linux для этих целей не подходит из-за монолитности ядра).
Re: Чему сейчас учить в области программирования?
От: AestheticSoft Беларусь http://www.AestheticSoft.com
Дата: 03.06.06 12:38
Оценка: 1 (1)
Что касается технической части программы обучения, то все зависит от специализации, по которой готовится выпускник. Все что здесь перечисляли сойдет с несущественными вариациями. Я могу от себя добавить по опыту работы с выпускниками несколько направлений, в которых у большинства пробелы:

1. Интернет-поиск. (проводить на 1 курсе) Как это ни странно, его возможности используются выпускниками вузов хорошо если на 10%. Не все догадываются при получении непонятного сообщения об ошибке, пробить его в инете, а тратят время на ковыряние в коде и самостоятельный поиск (как 10 лет назад). Синтаксис запросов к языковым машинам очень пригодился бы. Да и вообще, на 80% проблем решение можно найти в Инете и этому надо учить на практике, на показательных примерах, сразу же на первом курсе. Это не только в технических, но и в прикладных вопросах пригодится. Давать лабы на поиск нужной информации.


2. Управление качеством. (3 курс). Помимо теории — взять практические работы студентов за прошлые годы, показательно их разобрать, указать на баги, на неоптимальную производительность и т.п. Дать в рамках этого курса несколько задач повышенной сложности, которые кажутся простыми, но с подводными камнями — опять подробно разобрать, дать студентам понять, что не все так просто как кажется на первый взгляд. Дать задачи на постороение GUI, указать на некачественный и "кривой" GUI. После этого курса *обязательно* во всех последующих придерживаться принципов заложенных на этом курсе, чтобы материал закрепился, иначе навык не привьется и работа пойдет прахом. Тут уже общая командная работа преподавателей нужна — договориться, что на первых курсах сильно не придираться, а после курса по качеству — не принимать лабы, не удовлетворяющие доведенным до них требованиям по качеству.

3. Работа со сторонними компонентами и библиотеками. (4-й курс) За время обучения студенты привыкают работать только в рамках определенных IDE, языков и их возможностей. Надо обязательно вводить курс, на котором учить подключать сторонние компоненты (COM,web services, dll, open-source и т.п.) на конкретных примерах — UI библиотеки, платежные системы, Ebay API, GoogleMaps API и т.п. Дать практические работы по выбору сторонних компонент для решения конкретных проблем, нпр. лаба — выбрать библиотеку для реализации почтового клиента по протоколу SuperProtocol. О пользе подобного курса говорить излишне, научиться переиспользовать то, что уже создано другими разработчиками — самый быстрый путь в мир нашей профессии.
Re: Чему сейчас учить в области программирования?
От: Nikolay_Ch Россия  
Дата: 24.04.06 20:27
Оценка: :)
Здравствуйте, LaptevVV, Вы писали:

LVV>Вообще, каким образом можно постороить этот курс — Интернет программирование?

Это очень обширная тематика. Определись, что ты хочешь дать студентам.
Все, что связано с C# без предварительных курсов по .Net Framework и самому шарпу
ИМХО безсмысленно. Поэтому лучше чистый API.
Потом, Web-сервисы работают в паре с протоколом HTML и давать их в отрыве от него
тоже малопонятно.
Что остается? Программирование распределенных систем? Но оно тоже далено не всегда
связано с интернетом. Базы данных — также в основном не связаны с интернетом.
Опять-же ASP и PHP куда девать?

Я считаю, что название подразумевает очень широкий курс, который охватит смежные
тематики, что не есть хорошо и потребует времени на четыре семестра.
Поэтому стоит сузить сам предмет до разумных пределов и не кидаться рассказать все
сразу. Можно выбрать или ASP + PHP + Web-сервисы или рассматривать протоколы интернета.
Re[2]: Чему сейчас учить в области программирования?
От: Мемега Литва  
Дата: 27.04.06 13:59
Оценка: +1
Здравствуйте, LaptevVV, Вы писали:

LVV>Здравствуйте, LaptevVV, Вы писали:



LVV>1. Информатика, 1 семестр — готовим ГРАМОТНОГО пользователя

В 2000 году слушал лекцию профессора Любимского, в которой он затронул эту тему. Мысль была такова — программисткие факультеты не должны готовить пользователей. Авторитет этого человека на меня действует очень сильно

LVV>3. Языки программирования высокого уровня, 2 семестра — сейчас думаем, чему учить

LVV>4. ООП — 2 семестра — тоже думаем, в связи с 3
LVV>5. Организацияч ЭВМ и систем, 1 семестр
Правильно. Чтобы знали, что происходит, когда запускается исполнимый модуль, что такое RISC, CISC и прочее

LVV>6. Операционные системы, 1 семестр

LVV>7. Системное ПО, 1 семестр
А это что? Не совсем уверен, но подозреваю, что методы трансляции, у нас пишется компилятор/интерпретатор модельного языка

LVV>8. Технологии программирования, 1 семестр

Software engineering?

LVV>9. Информационные технологии, 2 семестра, но один семестр нужно читать то, что в стандарте записано, зато второй можно сделать каким угодно...

а что здесь читается?
memega
Re: Чему сейчас учить в области программирования?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 09.05.06 15:03
Оценка: +1
Здравствуйте, 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.: Винодельческие провинции — это есть рулез!
Чему сейчас учить в области программирования?
От: LaptevVV Россия  
Дата: 24.04.06 14:42
Оценка:
Ну, опять я пристаю к уважаемому ALL все с тем же вопросом...
Чему и как учиить в программировании?
Глобально мне видятся такие направления:

1. Языки и связанные с ними понятия...
2. Базы данных
3. Интернет-программирование...
4. Взгляд сверху — проектирование, архитектура, парадигмы...
5. Да, еще ОСи... Поскольку в 3 — сетевое программирование...

Если по поводу 1 — я все знаю, то по поводу 2 — в недоумении... Теории практически нет... Единственное, что нужно там — рассказать об ООП-БД и реляционных... Ну, еще о нормализации... Фактически нужно учить совершенно КОНКРЕТНЫМ вещам... SQL... и как через ODBC связаться с базой на сервере... И тоому подобным вещам...

По поводу 3 — я вообще в шоке... Настолько здесь много всего... Причем, опять же теории никакой, а все сплошь практика...
Вот как раз о 3 я и хотел поговорить более всего...
С чего начинать, чем продолжать и куда двигать?
Если ориентированться на Дотнет... То как бы это составить целостную картину всего...
Учитывая, что студентов нужно учить конкретике, но не забывать показывать место изучаемого в общей картине...
HTML, XML, VBScript, JScript, ASP... Веб-сервисы...
Java, JSP и все с эттим связанное?...
PHP — ? PERL?

Или завязаться полностью на Додиез? Тем более, что там же и Веб-сервисы и ХМЛ и ASP...

Вообще, каким образом можно постороить этот курс — Интернет программирование?
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: Чему сейчас учить в области программирования?
От: LaptevVV Россия  
Дата: 24.04.06 14:57
Оценка:
Здравствуйте, 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>Вообще, каким образом можно постороить этот курс — Интернет программирование?



И кстати... В Осях — естественно учим API...

Но еще, например, для винды — COM — DCOM — изучать ли?
Или сразу ориетироваться в сторону дотнетовских решений?
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: Чему сейчас учить в области программирования?
От: StatujaLeha на правах ИМХО
Дата: 24.04.06 17:00
Оценка:
Здравствуйте, LaptevVV, Вы писали:

Опыта преподавания у меня нет, поэтому буду говорить, как человек учащийся, свои пожелания.

LVV>1. Языки и связанные с ними понятия...


Тут я хотел бы, чтобы в курсе были рассмотрены императивное программирование(С или С++), пара функциональных языков(например OCaml, Lisp, Erlang,...) с демонстрацией простых приемов программирования на них и преимуществ каждого вида программирования на примере конкретных классов задач.

LVV>2. Базы данных

LVV>3. Интернет-программирование...
LVV>4. Взгляд сверху — проектирование, архитектура, парадигмы...

Тут хотелось бы рассмотрения самых употребительных паттернов из GoF + пара заданий. Задания такие, что каждое из них может быть решено несколькими приемлимыми способами. От студентов требуется не только решить, но и рассказать о преимуществах своего решения.

LVV>5. Да, еще ОСи... Поскольку в 3 — сетевое программирование...


Тут Windows + Linux.

LVV>По поводу 3 — я вообще в шоке... Настолько здесь много всего... Причем, опять же теории никакой, а все сплошь практика...

LVV>Вот как раз о 3 я и хотел поговорить более всего...
LVV>С чего начинать, чем продолжать и куда двигать?
LVV>Если ориентированться на Дотнет... То как бы это составить целостную картину всего...
LVV>Учитывая, что студентов нужно учить конкретике, но не забывать показывать место изучаемого в общей картине...
LVV>HTML, XML, VBScript, JScript, ASP... Веб-сервисы...
LVV>Java, JSP и все с эттим связанное?...
LVV>PHP — ? PERL?

Забить на это. Когда пойдут работать, сами все изучат. В крайнем случае сделать разделение на специализации на 5-ом курсе.

Еще забыли курс по алгоритмам.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: Чему сейчас учить в области программирования?
От: yacc  
Дата: 24.04.06 18:04
Оценка:
LVV>Если по поводу 1 — я все знаю, то по поводу 2 — в недоумении... Теории практически нет... Единственное, что нужно там — рассказать об ООП-БД и реляционных... Ну, еще о нормализации... Фактически нужно учить совершенно КОНКРЕТНЫМ вещам... SQL... и как через ODBC связаться с базой на сервере... И тоому подобным вещам...
нууу, тут имхо смешались в кучу кони-люди.
sql-ю учи. учи так, чтоб во-всяком случае знали, что такое план запроса.
а ODBC.... сами выучат.

LVV>По поводу 3 — я вообще в шоке... Настолько здесь много всего... Причем, опять же теории никакой, а все сплошь практика...

LVV>Вот как раз о 3 я и хотел поговорить более всего...
LVV>С чего начинать, чем продолжать и куда двигать?
начать, как и все начинают, нужно с модели OSI
а дальше.... на HTML, XML (XSL/XPATH/etc) — забивай сразу. до глубинных тонкостей в объяснениях вряд ли успеешь дойти, только время зря потратишь. а самые азы человек, которому это нужно, выучит сам — хотя бы на http://www.w3schools.com/. а которому не нужно — так ему вообще всё равно что рассказывать.

после OSI начинай рассказывать про IP. udp, tcp.
обязательно заставь написАть пару лаб с со старыми добрыми bsd sockets. на С. под *nix. покажи inetd. покажи как хорошо и красиво можно использовать stdio с сокетами. покажи O_NONBLOCK, select/poll. и не просто покажи, заставь сделать. Нельзя дать много заданий — раздели людей на группы и дай каждой группе своё.
у меня вот товарищ в Австралии учится, так у него лабы (по неделям):
1. C/*nix — клиент и сервер(fork), передача файла, tcp протокол.
2. C/*nix — клиент и сервер(1-пользовательский), передача файла, udp, ARQ.
3. java, оч.простой http-прокси (только метод GET)
4. java, CORBA, распределёная система, > 2х частей.
(что дальше будет не знаю, сейчас 4-ая неделя)
к работам 1-3 прилагается отчет — сравнение того что есть в RFC и того что реализовано, плюсы-минусы.

мне кажется — это интересно, полезно.... намного полезней чем рассказ про HTML. и в жизни пригодится.

закончишь с самописными серверами — приступай к уже существующим.
расскажи про апач и APR, заставь написАть модуль — там необычная, всяко заслуживающая внимания архитектура.
заодно и про nsapi расскажи, ещё один plugin... после апача это уже будет просто.

эти знания (если они получатся) и опыт отладки — это опыт надолго.
после этого можно хоть j2ee пробовать, хоть php.
всё будет выглядеть для слушателя _совершенно_иначе_.

зы я сам закончил вуз несколько лет назад. хорошо помню свой курс сетевого программирования. НЕ_О_ЧЁМ. HTML + PERL_или_PHP в крайне малых дозах. так — нельзя.

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

измени ситуацию
Re[2]: Чему сейчас учить в области программирования?
От: Nikolay_Ch Россия  
Дата: 24.04.06 20:19
Оценка:
Здравствуйте, yacc, Вы писали:
Y>...
Извини, но как преподаватель, могу сказать, что ты как-раз намешал в кучу _все_, что можно.
И сетевые технологии и распределенные системы и серверное программирование.
Нельзя давать материал студентам так, как ты написал. Т.к. главное для студента не набраться
понемногу от всего, а упорядочить свои знания.
Поэтому надо разделять мух от котлет.
Во-первых — сетевая архитектура это одно, а программирование под сети — это другое.
Во-вторых — программирование PHP — это вообще недоразумение и учить ему стоит только
в качестве факультатива. Вот чему учить, так это ASP.
В-третьих — HTML + XSL/XPATH — учить нормальному HTML дизайну это дело довольно небыстрое,
другое дело, что для программистов в основном ненужное. А перспектива XSL/XPATH — для меня
довольно туманна.

Ну и последнее — выучить можно все самому, вопрос только в том, сколько на это потребуется
усилий без наставника (преподавателя).

PS
Сам веду курсы про сетевые протоколы и HTML + ASP. Сейчас планирую разработать что-то под .NET.
Re: Чему сейчас учить в области программирования?
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 24.04.06 21:08
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Ну, опять я пристаю к уважаемому ALL все с тем же вопросом...

LVV>Чему и как учиить в программировании?

Собственно говоря, кого учим? Подготавливаем программистов-пратиков, востребованых на рынке? Или теоретиков, способных двигать IT индустрию, придумывать новые подходы, парадигмы, ..?
Re[2]: Чему сейчас учить в области программирования?
От: De-Bill  
Дата: 25.04.06 04:04
Оценка:
LVV>>1. Языки и связанные с ними понятия...

DB>Здесь главное не зацикливаться на императивных языках программирования, а рассмотреть ещё декларативные и функциональные. При этом желательно рассмотреть разные языки в каждой категории... там Python, perl, javascript (на самом деле удивительный язык) и т.д..


Здесь забыл добавить, что если в Университете нет курса "Тестирование программ", то для императивных и функциональных языков программирования можно сделать несколько лекций о тестировании: критерии тестированности, мутационное тестирование, тестирование методом потока данных, возможности автоматического построения тестов, доказательство корректности программ, пред-условия, пост-условия, инварианты циклов и т.д..
Re[3]: Чему сейчас учить в области программирования?
От: misha_sk Россия  
Дата: 25.04.06 10:44
Оценка:
Здравствуйте, Nikolay_Ch, Вы писали:

N_C>А перспектива XSL/XPATH — для меня

N_C>довольно туманна.

Весьма спорное утверждение.
Re[2]: Чему сейчас учить в области программирования?
От: Трурль  
Дата: 26.04.06 09:18
Оценка:
Здравствуйте, De-Bill, Вы писали:

LVV>>2. Базы данных


DB>Зря вы так про теорию... По-хорошему, эту тему надо начинать с реляционной алгебры...


А еще лучше — с понятия модели данных. И рассмотреть несколько примеров. Чтобы потом не думали,
что базы данных бывают только реляционными (ну и еще иногда ОО).
Re: Чему сейчас учить в области программирования?
От: LaptevVV Россия  
Дата: 26.04.06 13:04
Оценка:
Здравствуйте, LaptevVV, Вы писали:

Ну, чтоб прояснить ситуацию, напишу дисциплины, которые связаны с программированием по моей специальности...
0. Введение в специальность, 1 семестр — думаем в связи с 3 и 4
1. Информатика, 1 семестр — готовим ГРАМОТНОГО пользователя
2. Дополнительные главы информатики, 1 семестр — можем давать все, что угодно... Думаем в связи с 3 и 4...
3. Языки программирования высокого уровня, 2 семестра — сейчас думаем, чему учить
4. ООП — 2 семестра — тоже думаем, в связи с 3
5. Организацияч ЭВМ и систем, 1 семестр
6. Операционные системы, 1 семестр
7. Системное ПО, 1 семестр
8. Технологии программирования, 1 семестр
9. Информационные технологии, 2 семестра, но один семестр нужно читать то, что в стандарте записано, зато второй можно сделать каким угодно...
10. Базы данных, 1 семестр — ну, от стандарта сильно отрываться нельзя, но понятно, что здесь давать. Дейт, или Кренке — самое то...
11. Системы искусственного интеллекта
12. Системы реального времени
13. Сети ЭВМ и телекоммуникации, 2 семестра
Вот что написано в стандарте

ОПД.Ф.11 Сети ЭВМ и телекоммуникации
Классификация информационно-вычислительных сетей. Способы коммутации. Сети одноранговые и “клиент/сервер”. Уровни и протоколы. Эталонная модель взаимосвязи открытых систем. Аналоговые каналы передачи данных. Способы модуляции. Модемы. Цифровые каналы передачи данных. Разделение каналов по времени и частоте. Характеристики проводных линий связи. Спутниковые каналы. Сотовые системы связи. Кодирование информации. Количество информации и энтропия. Самосинхронизирующиеся коды. Способы контроля правильности передачи информации. Алгоритмы сжатия данных. Локальные вычислительные сети. Методы доступа. Множественный доступ с контролем несущей и обнаружением конфликтов. Разновидности сетей Ethernet. Маркерные методы доступа. Сети Token Ring и FDDI. Высокоскоростные локальные сети. Организация корпоративных сетей. Функции сетевого и транспортного уровней. Алгоритмы маршрутизации. Протоколы TCP/IP. Протоколы управления. Адресация в Internet. Особенности технологий Frame Relay, ATM, SDH. Сетевые операционные системы. Технологии распределенных вычислений. Структура и информационные услуги территориальных сетей. Протоколы файлового обмена, электронной почты, дистанционного управления. Виды конференц-связи. Web-технологии. Языки и средства создания Web-приложений.

Но можем договорится с дружественной кафедрой — они нам все программирование прочитают... Вопрос, какое программирование

14. Методы и средства защиты компьютерной информациии

ОПД.Ф.12 Методы и средства защиты компьютерной информации
Основные понятия и определения. Источники, риски и формы атак на информацию. Политика безопасности. Стандарты безопасности. Криптографические модели. Алгоритмы шифрования. Модели безопасности основных ОС. Администрирование сетей. Алгоритмы аутентификации пользователей. Многоуровневая защита корпоративных сетей. Защита информации в сетях. Требования к системам защиты информации.

15. Сетевые технологии, 1 семестр

СД.05 Сетевые технологии
Классификация сетей; интеграция информационного сервиса пользователей; концепция архитектуры открытых систем как основа построения цифровых сетей интегрального обслуживания (ISDN); основные этапы построения сетей; иерархия моделей процессов в сетях; АТМ-технология; анализ и синтез топологической структуры магистральной и локальной сети; административное и оперативное управление сетью; управление режимами коммутации; адаптивная коммутация; управление обменом информации в сетях; адаптивная маршрутизация; архитектура узлов управления и коммутации ISDN; пакеты в ISDN; оценка эффективности сетей; перспективы развития ISDN; широкополосные B-ISDN.

16. Проектирование АСОИУ, 1 семестр
17. Клиент-серверные технологии, 2 семестра
18. Интернет-технологии, 2 семестра
19. NET-программирование, 1 семестр...

Сейчас на вскидку не вспомню — мож еще чего есть — 1, 2 курса...

Вот и думай тут, что сейчас давать... Тем более — все так стремительно развивается...
ALL — в конспективном плане изложимте, что сейчас ВОСТРЕБОВАНО реально...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[2]: Чему сейчас учить в области программирования?
От: cencio Украина http://ua-coder.blogspot.com
Дата: 26.04.06 13:19
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>>Теории практически нет... Единственное, что нужно там — рассказать об ООП-БД и реляционных... Ну, еще о нормализации... Фактически нужно учить совершенно КОНКРЕТНЫМ вещам... SQL... и как через ODBC связаться с базой на сервере... И тоому подобным вещам.

нужно учить проектировать БД, а конкретные вещи — это одна практическая обьясняющая как из явы соединиться с базой и выполнить сиквел.

LVV>И кстати... В Осях — естественно учим API...

LVV>Но еще, например, для винды — COM — DCOM — изучать ли?
в курсе ОС учат как они устроены, а приладные интерфесы учить не стоит, сами разберуться
Re[3]: Чему сейчас учить в области программирования?
От: LaptevVV Россия  
Дата: 26.04.06 15:36
Оценка:
Здравствуйте, cencio, Вы писали:

C>Здравствуйте, LaptevVV, Вы писали:


LVV>>>Теории практически нет... Единственное, что нужно там — рассказать об ООП-БД и реляционных... Ну, еще о нормализации... Фактически нужно учить совершенно КОНКРЕТНЫМ вещам... SQL... и как через ODBC связаться с базой на сервере... И тоому подобным вещам.

C>нужно учить проектировать БД, а конкретные вещи — это одна практическая обьясняющая как из явы соединиться с базой и выполнить сиквел.
Ну, как проектировать — эт не теория... Эт как раз практика... Этому — учим...

LVV>>И кстати... В Осях — естественно учим API...

LVV>>Но еще, например, для винды — COM — DCOM — изучать ли?
C>в курсе ОС учат как они устроены, а приладные интерфесы учить не стоит, сами разберуться
Ну, в лекциях — как устроены... А на лабах — программируем же... На АПИ...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[4]: Чему сейчас учить в области программирования?
От: Mamut Швеция http://dmitriid.com
Дата: 26.04.06 17:10
Оценка:
N_C>>А перспектива XSL/XPATH — для меня
N_C>>довольно туманна.

_>Весьма спорное утверждение.


Im na smenu idet JSON i eshe ne izvestno, kto kogo


dmitriid.comGitHubLinkedIn
Re[4]: Чему сейчас учить в области программирования?
От: Мемега Литва  
Дата: 27.04.06 06:50
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Здравствуйте, cencio, Вы писали:


C>>Здравствуйте, LaptevVV, Вы писали:




LVV>>>И кстати... В Осях — естественно учим API...

LVV>>>Но еще, например, для винды — COM — DCOM — изучать ли?
C>>в курсе ОС учат как они устроены, а приладные интерфесы учить не стоит, сами разберуться
LVV>Ну, в лекциях — как устроены... А на лабах — программируем же... На АПИ...

у нас процесс по другому поставлен — проектрование ОС, т.е. на лекциях разбираем принципы построения, на лаборах — программируем модельную ОС ,желающие могут писать ОС, работающую ан реальном процессоре
memega
Re[5]: Чему сейчас учить в области программирования?
От: LaptevVV Россия  
Дата: 27.04.06 13:44
Оценка:
Здравствуйте, Мемега, Вы писали:

LVV>>>>И кстати... В Осях — естественно учим API...

LVV>>>>Но еще, например, для винды — COM — DCOM — изучать ли?
C>>>в курсе ОС учат как они устроены, а приладные интерфесы учить не стоит, сами разберуться
LVV>>Ну, в лекциях — как устроены... А на лабах — программируем же... На АПИ...

М>у нас процесс по другому поставлен — проектрование ОС, т.е. на лекциях разбираем принципы построения, на лаборах — программируем модельную ОС ,желающие могут писать ОС, работающую ан реальном процессоре

Ого! Круто! Сильно полезно для повышения квалификации программеров...
Только вряд ли найдутся реальные задачи по написанию осей, а вот по использованию АПИ — половина рсдна этим занимается...

Поэтому я и решил когда-то — лучше апи давать, чем написание оси...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: Чему сейчас учить в области программирования?
От: Мемега Литва  
Дата: 27.04.06 13:53
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Ну, опять я пристаю к уважаемому ALL все с тем же вопросом...

LVV>Чему и как учиить в программировании?
LVV>Глобально мне видятся такие направления:

LVV>1. Языки и связанные с ними понятия...

LVV>2. Базы данных
LVV>3. Интернет-программирование...
LVV>4. Взгляд сверху — проектирование, архитектура, парадигмы...
LVV>5. Да, еще ОСи... Поскольку в 3 — сетевое программирование...

Вопрос — а к какой части отнести архитектуру компьютеров?
memega
Re[2]: Чему сейчас учить в области программирования?
От: Awaken Украина  
Дата: 28.04.06 08:05
Оценка:
N_C>ИМХО безсмысленно. Поэтому лучше чистый API.
N_C>Потом, Web-сервисы работают в паре с протоколом HTML и давать их в отрыве от него

HTML это что за протокол? и как он к веб-сервисам относится
Re: Чему сейчас учить в области программирования?
От: Awaken Украина  
Дата: 28.04.06 08:23
Оценка:
навскидку я в институте изучал из прикладных дисциплин относящихся к программированию:
-алгоритмические языки (Фортран, Си). сейчас бы наверное изучали C# или Java
-системное программирование, системы реального времени
-архитектура ЭВМ
-теория СУБД (всякие НФ, реляционные и сетевые модели данных, ЕR-проектирование)
-структуры данных и алгоритмы(курс был прямо по книге Кнута)
-технология программирования

чего у нас не было (и это ОЧЕНЬ большое упущение)
курса по методологии разработки программного обеспечения,
и управлению процессом разработки.
мне кажется такой курс сейчас обязательно должен быть для будущих программистов.
ведь рано или поздно разработчик может/захочет стать ведущим разработчиком, менеджером проекта,
руководителем группы тестирования. и этому нигде не учат.

что там должно быть:
-современные методологии разработки ПО (RUP, XP, и тд). общий обзор.
-фазы развития программного проекта
-цикл жизни ПО
-роли людей в разработке, как строить команды и командную работу.
-тестирование, виды тестирования, роли тестирования на каждой фазе проекта
-понятия об менеджменте (управлении проектами). планирование работ,
методы временных оценок фаз развития проекта.
Re[4]: Чему сейчас учить в области программирования?
От: cencio Украина http://ua-coder.blogspot.com
Дата: 28.04.06 11:38
Оценка:
Здравствуйте, LaptevVV, Вы писали:


C>>нужно учить проектировать БД, а конкретные вещи — это одна практическая обьясняющая как из явы соединиться с базой и выполнить сиквел.

LVV>Ну, как проектировать — эт не теория... Эт как раз практика... Этому — учим...

и получаються у вас ремеслиники от IT — индусы славянской внешности
Re[5]: Чему сейчас учить в области программирования?
От: LaptevVV Россия  
Дата: 30.04.06 14:50
Оценка:
Здравствуйте, cencio, Вы писали:

C>Здравствуйте, LaptevVV, Вы писали:



C>>>нужно учить проектировать БД, а конкретные вещи — это одна практическая обьясняющая как из явы соединиться с базой и выполнить сиквел.

LVV>>Ну, как проектировать — эт не теория... Эт как раз практика... Этому — учим...

C>и получаються у вас ремеслиники от IT — индусы славянской внешности

Ну почему... Моих пацанов в москве с удовольствием берут... И в Питере... Астраханские ребята — по всей россии работают... И никто еще не жаловался...
А в Астрахани так просят хотя б троечника направить...
Ибо наш троечник знает и умеет много больше, чем отличники других учебных заведений...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[2]: Чему сейчас учить в области программирования?
От: tau  
Дата: 03.05.06 07:53
Оценка:
Здравствуйте, Awaken, Вы писали:

A>чего у нас не было (и это ОЧЕНЬ большое упущение)

A>курса по методологии разработки программного обеспечения,
A>и управлению процессом разработки.
A>мне кажется такой курс сейчас обязательно должен быть для будущих программистов.
A>ведь рано или поздно разработчик может/захочет стать ведущим разработчиком, менеджером проекта,
A>руководителем группы тестирования. и этому нигде не учат.
У нас подобный курс был, назывался "Технология проектирования программ". Но толку от этого не много.
Когда разработчик сможет стать руководителем проекта, к тому времени он будет уже обладать
необходимыми знаниями. А так чтобы из студентов сразу в PM это не нормально.

A>что там должно быть:

A>-современные методологии разработки ПО (RUP, XP, и тд). общий обзор.
A>-фазы развития программного проекта
A>-цикл жизни ПО
A>-роли людей в разработке, как строить команды и командную работу.
A>-тестирование, виды тестирования, роли тестирования на каждой фазе проекта
Ну дадут тебе общий обзор по этим темам и что? Так же можно книжку почитать.
А практику как проводить? Набрать школьников в подчиненные?
Тут к сожалению только реальная практика на производстве поможет.

A>-понятия об менеджменте (управлении проектами). планирование работ,

A>методы временных оценок фаз развития проекта.
А вот кстати эти темы обычно раскрывают в смежных экномических дисциплинах.
Которые собственно так и зовутся "Управление проектами", "Инновационный менеджмент" и т.д.
Re[3]: Чему сейчас учить в области программирования?
От: incognitus  
Дата: 03.05.06 12:31
Оценка:
Здравствуйте, Nikolay_Ch, Вы писали:


N_C>Во-первых — сетевая архитектура это одно, а программирование под сети — это другое.


ИМХО, способ закрепить и более досконально разобраться в сетевой архитектуре. Не стоит, конечно, очень сложным программированием заниматься, в частности поэтому BSD сокеты хороши.
Re[2]: Чему сейчас учить в области программирования?
От: incognitus  
Дата: 03.05.06 12:46
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>ALL — в конспективном плане изложимте, что сейчас ВОСТРЕБОВАНО реально...


Есть риск, что к получению диплома, это уже не будет востребовано реально. То есть, реальные практические для рынка навыки давать надо, но не стоит зацикливаться на этом. Как пример: лет 10 назад на рынке были (и частично остались) востребованы FoxPro/BDE/Clipper (совсем давно)/Delphi(1-2-3), MFC, Win32API и уже не упомню всего. Сейчас в моде .NET и все с ним связанное, но не факт, что через несколько его не забудут ради Singularity, допустим.

Мне думается, что самое лучшее, когда институт делает реальные проекты, к которым под руководством преподавателей для практики привлекаются студенты. А обучение, всё-таки, более нацелено именно на теорию.
Re: Чему сейчас учить в области программирования?
От: RI Украина  
Дата: 08.05.06 11:39
Оценка:
Здравствуйте, 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)

Как вариант.
Re: Чему сейчас учить в области программирования?
От: Alik Украина  
Дата: 08.05.06 12:36
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Ну, опять я пристаю к уважаемому ALL все с тем же вопросом...

LVV>Чему и как учиить в программировании?
LVV>Глобально мне видятся такие направления:

LVV>1. Языки и связанные с ними понятия...

LVV>2. Базы данных
LVV>3. Интернет-программирование...
LVV>4. Взгляд сверху — проектирование, архитектура, парадигмы...
LVV>5. Да, еще ОСи... Поскольку в 3 — сетевое программирование...

LVV>Если по поводу 1 — я все знаю, то по поводу 2 — в недоумении... Теории практически нет... Единственное, что нужно там — рассказать об ООП-БД и реляционных... Ну, еще о нормализации... Фактически нужно учить совершенно КОНКРЕТНЫМ вещам... SQL... и как через ODBC связаться с базой на сервере... И тоому подобным вещам...


Вообще довольно странно звучит фраза "теории практически нет"... особенно с учетом того, что библия для разработчиков подобного профиля занимает 400 страниц, а SQL в ней — всего лишь небольшой (относительно) раздел (это я конечно же про Дейта ). Проектирование БД, разумеется, одной нормализацией не заканчивается. Короче, тут все дело в количестве доступных часов. А уж наполнения... реляционные структуры, не реляционные (на практике часто приходится сталкиваться с мета-информацией), нормализация и денормализация, синхронизация (параллельный доступ), всевозможные блокировки, курсоры, собственно запросы (параметризация, прекомпляция), транзакции и процедуры и много-много другого. В идеале, конечно, еще основы организации СУБД на физическом уровне (для понимания), но это уже "углубленный курс".
С уважением. Алик.
Re[2]: Чему сейчас учить в области программирования?
От: LaptevVV Россия  
Дата: 10.05.06 05:52
Оценка:
Здравствуйте, 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]: Чему сейчас учить в области программирования?
От: LaptevVV Россия  
Дата: 10.05.06 05:54
Оценка:
Здравствуйте, 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]: Чему сейчас учить в области программирования?
От: LaptevVV Россия  
Дата: 10.05.06 06:07
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

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]: Чему сейчас учить в области программирования?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 11.05.06 16:12
Оценка:
Здравствуйте, 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.: Винодельческие провинции — это есть рулез!
Re[2]: Чему сейчас учить в области программирования?
От: __SPIRIT__ Россия  
Дата: 24.05.06 09:47
Оценка:
Здравствуйте, ptolemy, Вы писали:

P>Здравствуйте, LaptevVV, Вы писали:


LVV>>Ну, опять я пристаю к уважаемому ALL все с тем же вопросом...

LVV>>Чему и как учиить в программировании?

P>Вопрос очень сложный.


........



Скучно. Ни че из такого подхода не выйдет.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: Чему сейчас учить в области программирования?
От: Аноним  
Дата: 08.06.06 09:50
Оценка:
Здравствуйте, Glоbus, Вы писали:

G>Здравствуйте, LaptevVV, Вы писали:


LVV>>Ну, опять я пристаю к уважаемому ALL все с тем же вопросом...



G>Ну например можно посмотреть, чему учат "конкуренты"

G>здесь


Сорри, был занят. Посмотрел, но это немного другой уровень. Плюс, это outside, а я говорил по образованию здесь, в СНГ. "Морковь" разводить не буду:

1) Это другая цена
2) Это специфика, через опыт инструткоров
3) Это relations — очень важное.

Я, разумеется, лицо заинтересованное, но отзывы из компаний + корпоративыне треннинги просто так не дают/заказывают. Есть резон?
Re: Чему сейчас учить в области программирования?
От: Vzhyk  
Дата: 20.06.06 13:49
Оценка:
Здравствуйте, LaptevVV, Вы писали:


LVV>1. Языки и связанные с ними понятия...

LVV>2. Базы данных
LVV>3. Интернет-программирование...
LVV>4. Взгляд сверху — проектирование, архитектура, парадигмы...
LVV>5. Да, еще ОСи... Поскольку в 3 — сетевое программирование...


По мне, так лучше вообще в другом порядке:
1. LVV>4. Взгляд сверху — проектирование, архитектура, парадигмы... Только не "взгляд сверху", а серьезное обучение с примерами на нескольких языках программировнаия.
2. LVV>1. Языки и связанные с ними понятия... Причем с объяснением особенностей нескольких типов языков.
3. LVV>2. Базы данных именно базы данных, принципы проектирования и т.д.
3. Ну, а потом уже конкретные темы, как-то LVV>3. Интернет-программирование...б LVV>5. Да, еще ОСи... Поскольку в 3 — сетевое программирование...
и т.д.
Re: Чему сейчас учить в области программирования?
От: __00100101  
Дата: 21.06.06 19:58
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>1. Языки и связанные с ними понятия...

LVV>2. Базы данных
LVV>3. Интернет-программирование...
LVV>4. Взгляд сверху — проектирование, архитектура, парадигмы...
LVV>5. Да, еще ОСи... Поскольку в 3 — сетевое программирование...

LVV>Или завязаться полностью на Додиез? Тем более, что там же и Веб-сервисы и ХМЛ и ASP...


LVV>Вообще, каким образом можно постороить этот курс — Интернет программирование?


Добрый день.
Я — студент. Я надеюсь мой ответ будет Вам полезен как обратная связь от нашего брата. Для начала несколько наводящих вопросов

Какими вы хотите видеть ваших студентов через 5 лет?
Если вы хотите вырастить просто программистов им нужны одни знания. Если вы хотите, чтоб их имена встречались в ростерах известных продуктов, то наверное совсем другие...

Итак:


LVV>1. Языки и связанные с ними понятия...

согласен с StatujaLeha — пара функциональных языков. Примеры где они эффективно используются сейчас.
Скриптовые языки. Как создать свой скриптовый язык. Ведь серьёзный продукт без промежуточного скриптового уровня сейчс редкость.
LVV>2. Базы данных
Мало теории? Try пост-реляционные БД. Тут и теории хватает и пространства для исследования. Объектные замашки есть в Оракле.
LVV>3. Интернет-программирование...
Интеллектуальный интерфейс пользователя. Подходы и алгоритмы к разработке веб — компонент ориентированных на пользователя, интелектуальные системы автоматического формирования контента (ТИПА google-ads и вообще любые методы угадывания потребностей пользователя и подстройки системы под них)
LVV>4. Взгляд сверху — проектирование, архитектура, парадигмы...
Представьте себе что студенту придет в голову гениальная идея!!!! 80% при попытке реализации этой идеи она завалится по техническим причинам отсюда вывод — неплохо было бы изучить методы тестирования архитектуры(без написания по ней программы) и оценки качества архитектуры. Интересно а есть ли критерии оценивания качества архитектуры, кроме экспертной оценки?
Кроме того фреймы, паттерны, ХР и РУП. Особенно интересно было бы в рамках одного курса изучить ХР и РУП. Говорят между двумя крайностями находится истина...
LVV>5. Да, еще ОСи... Поскольку в 3 — сетевое программирование...
А через 5 лет это будет актуально?

LVV>Или завязаться полностью на Додиез? Тем более, что там же и Веб-сервисы и ХМЛ и ASP...

До диез или кофе. По моему не важно. Я лично предпочитаю те языки под которые есть удобные платформы разработки. Чтоб не отвлекаться на мелочи.
Re[2]: Чему сейчас учить в области программирования?
От: Kolhoz Мухосранск  
Дата: 21.06.06 20:13
Оценка:
Здравствуйте, __00100101, Вы писали:

__>Скриптовые языки. Как создать свой скриптовый язык. Ведь серьёзный продукт без промежуточного скриптового уровня сейчс редкость.


+1!

Курс по компиляторам и интерпретаторам и по семантике языков высокого уровня — обязателен для КАЖДОГО, кто хочет быть программистом!

__>Представьте себе что студенту придет в голову гениальная идея!!!! 80% при попытке реализации этой идеи она завалится по техническим причинам отсюда вывод — неплохо было бы изучить методы тестирования архитектуры(без написания по ней программы) и оценки качества архитектуры. Интересно а есть ли критерии оценивания качества архитектуры, кроме экспертной оценки?


Есть. Метрика адекватности семантики архитектуры семантике предметной области. Только никогда не рассказывайте об этом критерии фанатикам ООП — они вас за одно его упоминание зароют заживо.
Re[3]: Чему сейчас учить в области программирования?
От: __00100101  
Дата: 21.06.06 20:45
Оценка:
Здравствуйте, Kolhoz, Вы писали:

K> Есть. Метрика адекватности семантики архитектуры семантике предметной области. Только никогда не рассказывайте об этом критерии фанатикам ООП — они вас за одно его упоминание зароют заживо.


Надо будет почитать.... А её реально применять в жизни... то есть насколько соизмеримо время изучения всех этих непонятных слов (Метрика, адекватность, семантика, архитектура, предметная, область) со временем разработки программ как попало . Шучу. Можешь дать ссылочку на материалы по этому чуду? И если знаешь реальные методики "тестирования" архтиектуры. Что то вроде мысленного моделирования работы продукта еще в состоянии зародыша.
Re[4]: Чему сейчас учить в области программирования?
От: Kolhoz Мухосранск  
Дата: 21.06.06 20:51
Оценка:
Здравствуйте, __00100101, Вы писали:

__> Можешь дать ссылочку на материалы по этому чуду? И если знаешь реальные методики "тестирования" архтиектуры. Что то вроде мысленного моделирования работы продукта еще в состоянии зародыша.


Ну, для самого совсем-совсем начала стоит почитать здесь же, на RSDN, статьи про Language Oriented Programming. Собственно, эта метрика к нему и относится — показывает численно, насколько архитектура системы повторяет структуру предметной области и постановки задачи. Это не тестирование, собственно, а очень простая (но эффективная) численная оценка. Для более качественной оценки потребуется уже эксперт.

Выгода по скорости и качеству разработки с применением семантической декомпозиции (вместо объектной, каковая является лишь жалким частным случаем семантической) — весьма и весьма значительная, но, в то же время, требует от архитекта и разработчиков более высокой и редкой квалификации. Хотите быть редким и высокооплачиваемым специалистом — обязательно изучите эту тему!!!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.