Сегодня писал ответ Нине Шумилиной из Твери, на вопрос о Python, как первом языке программирования в школе.
Она цитировала Константина Полякова, заключение его
статьи в сентябрьском номере "Информатики":
По этим причинам автор склонен поддержать мнение И.А. Сукина: Python хорош для профессиональных программистов, но его использование в качестве
(
Read more... )
Не уверен, имеет ли смысл учить этому именно школьников, но я абсолютно уверен, что сейчас по факту этому не учат нигде, даже в лучших ВУЗах, а тема более чем актуальна для людей, стремящихся стать профессионалами, или же просто программировать реальные приложения.
Постоянно сталкиваюсь с тем, что приходят на работу даже "опытные программисты" и не знают ни шаблонов проектирования, ни принципов дизайна классов, наступают вновь из раза в раз на одни и те же грабли. И от языка это знание не зависит вообще почти никак...
Reply
Что до того, как учить "писать программы". Мне кажется, что я умею учить писать программы - на простом, школьном уровне. Сейчас я зачастую стараюсь добиваться от школьников, чтобы к их коду нельзя было придраться - то есть я сам придираюсь к коду до тех пор, пока не получится хороший код. Конечно, это не проектирование классов, это маленькие учебные программы, но я слышал отзывы от преподавателей летней компьютерной школы, что школьники 179 школы отличаются тем, что они умеют писать ХОРОШО.
У меня в планах издать свой курс с методическим пособием. В методическом пособии объяснить, чего я хочу в этой задаче и каким должно быть её решение. Вот такая попытка объяснить, как учить детей программированию.
Эх, планы, планы...
Reply
Reply
Reply
Во-первых, размер задачи. Задачу на пару человеко-часов можно просто удержать в голове.
Что-то на неделю-месяц разработки уже требует немного полезных дисциплин (без хотя бы простейшего правила для имён переменных становитcя сложно). А основные практические знания нужны в чём-то размером начиная с 5-6 человеко-месяцев.
А во-вторых, реальные задачи отличаются нечёткими условиями, меняющимися со временем и не очень чёткими критериями "правильного ответа".
Собственно, многие вещи из "практического программирования" нужны ровно для того, чтобы бороться со сложностью в крупных системах с меняющимися требованиями.
Хорошие курсовики могут что-то из этого смоделировать, но не все.
Reply
Leave a comment