Задать вопрос
lexxpavlov
@lexxpavlov
Программист, преподаватель

Каким языкам программирования учить в колледже?

Собираюсь обучать программированию студентов. Специальность профильная — Программирование в компьютерных системах (ПКС).

Ставлю перед собой две несвязанные задачи:

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#. Проводил его в течение нескольких лет, идёт очень хорошо. Рад, что выбрал именно его.
  • Вопрос задан
  • 14370 просмотров
Подписаться 14 Оценить 8 комментариев
Ответ пользователя Алексей Павлов К ответам на вопрос (31)
lexxpavlov
@lexxpavlov Автор вопроса
Программист, преподаватель
Не надо привязывать мышление учеников к конкретному языку
А на чём же эти алгоритмы практически отрабатывать? «Компилировать» блоксхемы? Базовый язык всё-равно нужен.
Вот если бы я готовил профессионального высококвалифицированного программиста, то я бы давал 3-5 языков под разные задачи, плюс ещё десяток «для общего развития».
Теория, алгоритмы — это важная основа для будущего программиста.
Это да. Основная часть моей будущей работы :) Научить строить алгоритмы. Поднимать вопрос «Почему» чаще, чем «Как».
не понимающих, что такое переменные…
Встречал, конечно. Принимал у таких экзамены, самому противно было «тройку» ставить.
Это тоже часть работы. Таких случаев постараюсь не допускать.
Ответ написан