Собираюсь обучать программированию студентов. Специальность профильная — Программирование в компьютерных системах (ПКС).
Ставлю перед собой две
несвязанные задачи:
1) научить программировать, хотя бы чуть-чуть (всех)
2) хотя бы нескольких сделать хорошими программистами :)
В языках дали карт-бланш, так что сейчас я выбираю, какому языку/каким языкам обучать.
Задача осложняется тем, что многие пойдут на эту специальность потому, что она самая престижная в этом колледже, либо потому что их туда устроят, а сами студенты не очень заинтересованы в своём обучении… Но обычно в группе есть 2-3 самородка, ради которых хотелось бы постараться.
Хотелось бы не ограничиваться популярным в последние годы веб-программированием, и дать (в том числе?) язык для десктопной разработки.
Склоняюсь к идее начать на PHP, а затем перейти к C#. Рассматриваю Делфи, но что-то не уверено в её востребованности в наши дни. PHP ввиду его си-подобности и лёгкого старта на нём.
Сам я хорошо знаю PHP и Паскаль (Делфи). Неплохо Javascript и Си, совсем чуть-чуть бэйсик (ассемблер не упоминаю:). Немного не уверен, потяну ли преподавание C#, если я на нём только пару helloworld-ов написал, но время ещё есть.
Есть два похожих вопроса:
habrahabr.ru/qa/20824/ и
habrahabr.ru/qa/12448/.
В первом предлагали много редких языков. Здесь такое точно не нужно, выбор будет из наиболее распространённых.
Лелею в себе надежду хотя бы приблизить студентов (которые захотят) к уровню Джуниора…
В общем, обращаюсь к коллективному хабраразуму за советом.
P.S. Просьба не предлагать функциональные/редкие языки — не потянут просто.
P.P.S. Если всё-таки будет выбран PHP, беру на себя ответственность перед Хабраобществом не плодить
говнокодеров плохих программистов, а сразу приучать студентов к правильному стилю и best practices.
Виды деятельности программиста (из стандарта на специальность ПКС)
Программист готовится к следующим видам деятельности:
- Разработка программных модулей программного обеспечения для компьютерных систем.
- Разработка и администрирование баз данных.
- Участие в интеграции программных модулей.
- Участие в ревьюировании программных продуктов
- Сопровождение программных продуктов.
Многие из этих вещей будут в смежных дисциплинах, типа разработки БД. Сейчас речь идёт больше о Основах программирования и Теории алгоритмов.
Представляете, эти два предмета были разнесены в разные семестры! я еле убедил их одновременно проводить! UPD. Выбрал язык C#. Проводил его в течение нескольких лет, идёт очень хорошо. Рад, что выбрал именно его.