Pull to refresh

Comments 62

В приведенной цитате Вениамин Каверин мастерски показал недостатки комплексного метода обучения

А какие, собственно, недостатки он показал? У некоторых и в обычной системе так же «мимоходом» выходит.


Не хочу разводить холивар, просто любопытно, так ли эта система плоха. Она, если не ошибаюсь, в Финляндии применяется.

Мимоходом она сообщала нам, что по-немецки утка так-то, а по-французски
так-то.
ИМХО бесполезно узнать, как утка по-немецки и по-французски, не имея систематических знаний по основам этих языков. И состыковать систематические знания по разным предметам, чтобы они шли в комплесе в один день за один урок — представляется неразрешимой задачей. Так мне объясняли жертвы этого метода, некоторые из которых потом сами стали педагогами.
ИМХО бесполезно узнать, как утка по-немецки и по-французски, не имея систематических знаний по основам этих языков.
Что мешает совмещать оба подхода — системный и комплексный? Вначале даем базу по отдельным предметам комплекса, потом начинаем давать уже комплексами те темы предметов, которые хорошо друг с другом совместимы (физика + математика, химия + общая биология, русский + литература и т.п.). Конечно если взять бессистемно надергать знаний из разных предметов и просто вывалить на учащихся — толку мало.
Когда я начал проходить Computer Science курсы на английском на Coursera и Udacity — это очень сильно прокачало и способность понимать английский на слух и понимание изучаемого материала.
Они просто совмещают, условно говоря, «задом-наперед». :) Так никакой синергии не будет.

Другое дело, если в более сложные задачи выполнять используя не случайные кубики, а те, которые нужно закрепить. Т.е. дополнительно «прожечь» эти нужные нейронные связи.

И (намного более важное) делать это надо с современным пониманием принципов работы памяти. С подключением долговременной памяти, а не превращая запоминание в неэффективную зубрежку.

ИМХО бесполезно узнать, как утка по-немецки и по-французски, не имея систематических знаний по основам этих языков

Весь мир знает, что «алоха» — гавайское многозначное слово в значениях «привет», «пока», «всего доброго» и проч. При этом это единственное, что многие знают о гавайской культуре. Кто-то знает гавайский язык? Имеет систематические знания по основам этого языка? Думаю, мало кто. Это вредит? Приносит пользу? Однозначно сказать нельзя. Так же нельзя однозначно дать оценку тому, если человек этого не знает. Хотя иногда находятся люди «как это ты этого не знаешь? все знают — а ты нет! ну ты *оскорбление*...» И тут речь совсем не о Гавайях.

И состыковать систематические знания по разным предметам, чтобы они шли в комплесе в один день за один урок — представляется неразрешимой задачей.

Полагаю, тут речь идёт о том, чтобы впихнуть в голову ребенку то, что положено «программой обучения» максимально эффективным способом для запоминания этого. Тут можно рассмотреть с нескольких сторон:

1. Такую систему стоит активно внедрять лишь в средней школе, когда у детей в начальной школе уже сформировались какие-то фундаментальные знания о мире и они могут из этих знаний (и доп. информации) делать правильные выводы. Дети очень любопытны, а впихивание в детей готовых систем знаний и связей между вещами это любопытство может изувечить. Рассказывая «об утках» с разных позиций, человек может заинтересоваться одной (или несколькими) из этих позиций, может заинтересоваться самим объектом и связями с другими вещами и действиями. А может и вовсе ничего не усвоить, поняв, что ему не интересны ни области знаний, изучающих эти подходы, ни сам объект, либо же лишь построить своё мнение о системе преподавания.
Но с этим тоже стоит аккуратно, не надо делать из мозгов детей помойку, в которую сливают всё подряд под предлогом «ему может что-то из этого понравиться».

2. Делать то же самое, но уже с маленьких лет. С начальной школы, но одним единственным отдельным предметом, на котором детям будут рассказывать о разных интересных вещах, которые дети сами будут просить им рассказать. Возьмем тех же уток. Кому-то может стать интересно «как они летают? почему они не падают? и почему мы не можем летать как они? почему их крылья не мокнут, когда они ныряют?». На такие вопросы можно получить действительно интересные ответы, которые подтолкнут детей изучать физику, химию, биологию. На обычных уроках в ответ можно услышать что-то вроде «почитай книги», «не мешай вести урок», «меньше знаешь — крепче спишь» и проч.

3. Рассказывать детям действительно много всякой интересной информации, но не такой, про которую дети попросили рассказать, а просто всё подряд. И на этих же занятиях учить детей из тонны мусорной информации извлекать что-то реально полезное и/или интересное. И вот эти занятия будут максимально полезными для детей в период неограниченного доступа к ютуб, гугл, порнхаб и соцсетям. Каждый день на людей выливаются тонны информации, большая часть которых — фейки. Пока о законе о запрете фейков слагают легенды, они будут продолжать создаваться. Даже если не фейки, то бесполезная информация. И такое надо уметь фильтровать. Нас лет 10 назад этому никто не учил, никто не мог предположить, что нам может это пригодиться. А самое страшное тут, что мы не знаем, что будет через 5-10 лет. Какие знания пригодятся детям тогда? До чего дойдет абсурд законов и дерьмовость информации? Будут ли места, на которых в принципе не будет рекламы (которая уже сегодня дошла до абсолютного идиотизма)?
(прошу заметить отсутствие какой-либо привязки к какой-то стране или какому-либо сообществу)

В эпоху неограниченной возможности что-то в интернете искать и публиковать, стало действительно сложно в интернете найти что-то конкретное, полезное и релевантное.
Про книги
Книги писали и пишут конкретно по определенным темам. Например «Коллоидная химия». В такой книге описываются все законы, по которым это работает, все следствия, приложения, где используют, картинки, модели. Если хочется найти что-то конкретное — содержание, предметный указатель. В интернете же подробные описания всего, что связанно именно с коллоидной химией, найти в одном месте очень трудно. Можно найти в разных местах, но нужно знать что искать

В современном мире наибольшую сложность представляет не где и как искать, а что искать.

Подтверждение из личного опыта
В близости морей и океанов металлические конструкции под открытым небом хорошо корродируют из-за влажности и солей в этой влаге. Чтобы создавать материалы для работы в таких условиях необходимо, чтобы была установка, которая может имитировать такие условия и условия, в которых можно проводить ускоренные испытания. Проводить натурные испытания не каждый может себе позволить (ВИАМ может), да и долго это.
Так вот, я занимался «созданием» (собрали из того, что было) такой установки в лабораторных условиях (в рамках Учебно-Исследовательской Работы Студента). У нас получилось что-то, получили какие-то данные по содержанию солей в тумане над раствором, получили какие-то зависимости. И их надо было как-то обработать.
1. Я не знал методов обработки данных. Какие факторы влияют на результаты? Какие не влияют? Какой вклад вносит в показания взаимодействие разных факторов? Как это считать? По какому запросу в интернете это вообще искать? Откуда бы у меня в голове вообще могли зародиться такие вопросы, если бы я их (или аналогичные методы в других областях знаний) где-то раньше не слышал? Во время этой работы я этого так и не узнал. Через два года в университете у нас был отдельный курс лекций как раз по этой теме.
2. Даже без подробной обработки результатов, данные получались не такими, какими мы их ожидали видеть. Между собой мои научные руководители говорили о каких-то физико-химических взаимодействиях, о которых я впервые слышал. И для них этого объяснения хватало. А я ничего не понимал.
Такую систему стоит активно внедрять лишь в средней школе, когда у детей в начальной школе уже сформировались какие-то фундаментальные знания о мире и они могут из этих знаний (и доп. информации) делать правильные выводы.
Мне кажется, наоборот, комплексный подход более подходит для начальной школы, так как там знания более общие и не столь углубленные.
Смотрите, вначале изучается «природоведение», где по-немного собрано и из географии, и из биологии, и из химии, и из физики. И это все там прекрасно взаимодополняет друг друга и создает целостную общую картину.
А уже на базе этой картины потом идет разделение и углубление отдельно по каждому курсу, с деталями и углубленно.
Вот в конце школьного обучения не хватает результирующего объединяющего курса, который бы закрепил связи между разными предметами в единую целостную картину мира, что-то типа «концепции современного естествознания» преподаваемого в ВУЗах.
Первый этап графического программирования в Фотошопе закончен.
У школы автора есть лицензия на Photoshop? :)
Да ладно то Photoshop. А на сам Delphi?
Честно говоря, я не понял, для чего нужна эта программа? Картинка с таблицей, как мне кажется, полностью её заменяет. Или я чего-то не понял? Может, программа будет выдавать историю открытия элемента, область применения и основные свойства?
Может, программа будет выдавать историю открытия элемента, область применения и основные свойства?

Да. Именно так. Что прикрутите к базе — то она и выдаст, еще калькулятор можно сделать для решения хим.задачек, где надо счиать молекулярный вес. См. статью со слов:
дальнейшее развитие может идти в разных направлениях.
Вот если бы это уже было бы сделано, тогда да. А так можно вообще программу не писать: «что захотите, то и напишете».
Что сделано? Тут куча вариантов для школьников/студентов. Видели хабы под заголовком?:
Занимательные задачки, Учебный процесс в IT

Понимаете, чем задачник отличается от учебника? Много задачников назовете, где все задачи снабжены подробными решениями — ученику только остается списать решение в тетрадь?

Описана нетривиальная часть — тут надо знать, и «что захотите, то и напишете» не сработает. А движок СУБД прикрутить и наполнить БД из Вики историей открытия элемента или/и хим.свойствами, думаю, смогут и самые тупые школьники, если еще им помогут, надеюсь, не самые тупые преподы.

Аналогично см., нпр.: Уэзерелл Ч. Этюды для программистов, М.: Мир, 1982. — 288 с.
Что сделано? Тут куча вариантов для школьников/студентов.


В данном конкретном проекте наполнение есть? Нет.

Описана нетривиальная часть


Я правильно понял, что вы хотите сказать, что данная программа нетривиальна?

и наполнить БД из Вики


Не наполняйте базу данных из Википедии. Возьмите для этого книги Леенсона, Фиалкова, Венецкого и подобные.
В данном конкретном проекте наполнение есть? Нет.

Нет и не нужно. Что это добавит в плане информатики? — Ничего. В статье сказано:
Задачу можно решать на любом универсальном ЯП.

В разных школах могут быть разные ЯП. В каждом своя специфика. Учитель может выбрать. По БД много хороших учебников. Хотите чтобы я пересказал все эти учебнки в одной статье? ;)
Я правильно понял, что вы хотите сказать, что данная программа нетривиальна?
Для среднего школьника и студента младших курсов, конечно, нетривиальна. Для опытного спеца думаю, что ничего принципиально нового, кроме м.б. постановки задачи — наверное, не все думали о программировании Периодической таблицы.
Не наполняйте базу данных из Википедии. Возьмите для этого книги Леенсона, Фиалкова, Венецкого и подобные.
Википедия не с потолка берет инфу, а из авторитетных источников. М.б. из указанных Вами. Но я бы предложил начать с хим. энциклопедии, учебников Полинга, Реми, Некрасова. Но пусть решают учителя химии и информатики.
Для среднего школьника и студента младших курсов, конечно, нетривиальна


(тяжкий вздох). В конце 90-х мы софтверные 3D движки писали в 10 классе. Сейчас 2019, а прогресса всё нет и нет.

Википедия не с потолка берет инфу, а из авторитетных источников.


В Википедии очень сухая выжимка, главное для которой — наличие источника. А качество источника по сути не важно. Учебник Полинга и прочие не берите — это такая же сухая выжимка. Такое читать совершенно не интересно и совсем не полезно.
(тяжкий вздох). В конце 90-х мы софтверные 3D движки писали в 10 классе. Сейчас 2019, а прогресса всё нет и нет.
И у меня тяжкий вздох. 100 и более лет назад школьники по теореме Пифагора треугольники считали и сейчас считают по этой теореме и через сто лет будут считать. Это значит, что нет прогресса? ;)))
А качество источника по сути не важно. Учебник Полинга и прочие не берите — это такая же сухая выжимка.
Хотите сказать, что нобелист Полинг написал учебник низкого качества? Уверен, что с этим не согласится подавляющее большинство профессиональных химиков мира.
Такое читать совершенно не интересно и совсем не полезно.
А что полезно? Альтернативную химию? ;) Средневековые алхимические трактаты? ;)
100 и более лет назад школьники по теореме Пифагора треугольники считали и сейчас считают по этой теореме и через сто лет будут считать.


Вы, видимо, не обратили внимание: как я уже сказал, 20 лет назад школьники писали программы, которым вот это вот на делфи и в подмётки не годится. Через 20 лет вы представляете как нетривиальную программу вот эту вот таблицу, которая суть примитив для тех самых школьников двадцатилетней давности.

Хотите сказать, что нобелист Полинг написал учебник низкого качества?


Хочу сказать, что учебник — это только учебник. Он будет как ваша утка в начале статьи. Иными словами, он скучен.

А что полезно? Альтернативную химию? ;) Средневековые алхимические трактаты? ;)


А полезно читать научно-популярные книжки. Они увлекают, они пробуждают интерес к явлениям и к их взаимосвязям. Никакой учебник Савельева не сравнится по эффективности воздействия на читателя с Перельмановскими книжками. Откройте Мезенинова «Занимательно о железе». Сравните написанное там со статьёй в Википедии про железо и поймёте, что упускается в Википедии.
20 лет назад школьники писали программы, которым вот это вот на делфи и в подмётки не годится

Вы, наверное, забыли уточнить что 3D движки писали некоторые школьники. Что при этом делали остальные — большой вопрос.

Так и сейчас таблицы Менделеева на делфи точно так же пишут некоторые, а не все.

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


Я в целом согласен, что задача в исходной формулировке простая. Вот только вы так сказали, как будто все школьники поголовно сейчас пишут 3D движки и нарисовать таблицу никому не интересно и не полезно.

Вот только вы так сказали,


Нет, я только лишь сравнил уровень этой «нетривиальной» программы с тем, что делалось раньше.
Но вообще, причина моей критики просто в том, что я ожидал увидеть законченный проект.
А автор, как я понял, хотел дать далёким от IT людям (остальные могут и сами её написать) некую заготовку, наполнять которую придётся желающим. В этом смысле я только «За!». Поэтому я желаю автору дальнейших творческих успехов!
Поэтому я желаю автору дальнейших творческих успехов!
Спасибо.

Базовая часть задачи тривиальна для любого, кто владеет HTML+CSS.
Задумка в целом любопытная, но с целевой аудиторией дополнений к задаче вы промахнулись.
Дополнение задачи "поставить СУБД, прикрутить БД к такой таблице" можно давать только крайне способным и инициативным. Я ещё не уверен, что БД вообще изучаются на школьной информатике. Это все таки дисциплина профессионального обучения. Третий курс СПО и ВУЗов.


Кстати СУБД в данном случае не нужна. У вас нет конкурентного, многопользовательского чтения и записи. Xml файл в данном случае достаточен. Если уж и рассказывать про СУБД, то объяснять применимость этого инструмента и его альтернативы. Иначе ученики будут любой гвоздь забивать микроскопом промышленным прессом.


движок СУБД прикрутить и наполнить БД из Вики историей открытия элемента или/и хим.свойствами, думаю, смогут и самые тупые школьники, если еще им помогут, надеюсь, не самые тупые преподы.

Не смогут. Если "не самые тупые преподы" будут помогать, то в итоге сделают задачу за учеников.
Преподаватель и не должен обширно помогать студентам, иначе толку от обучения не будет.


Много задачников назовете, где все задачи снабжены подробными решениями — ученику только остается списать решение в тетрадь?

Много задачников по программированию в виде книг вы вообще видели? Я как то занимался поисками, нашел только Златопольского.

Много задачников по программированию в виде книг вы вообще видели? Я как то занимался поисками, нашел только Златопольского.

Один классический задачник я уже назвал выше:
Уэзерелл Ч. Этюды для программистов, М.: Мир, 1982. — 288 с.
Вторым я бы назвал книги Кнута " Искусство программирования..." — там задачи от очень простых до очень сложных, что особо отмечает автор.
3-й Вирт, Алгоритмы+СД...
Из более новых я бы отметил Седжвик, Фундаметальные алгоритмы на С
Из наших: С. Окулов, Программирование в алгоритмах
Более старый, но полезный задачник: В.А.Дагане и др., 100 задач по программированию
Думаю, достаточно. То, что во многих случаях задачник совмещен с учебником, сути не меняет.
Не смогут.
Уверен, что смогут. В Дельфи нужно положить компонент СУБД, нпр., Парадокс на форму, а дальше по учебнику — нпр., В.Фаронов, Программирование БД в Delphi-7. Элементарно. Другой вопрос нужно ли в школе давать SQL? М.б. и не нужно, если это не спец.школа. Но статья не только для школьников, но и для студентов вузов и их преподов. Там можно копнуть и глубже.
Кстати СУБД в данном случае не нужна. У вас нет конкурентного, многопользовательского чтения и записи. Xml файл в данном случае достаточен.
Я про компонент, который обеспечивает базовые элементарные функции по работе с БД в одном из стандартных форматов.
Базовая часть задачи тривиальна для любого, кто владеет HTML+CSS.
Не понял: как Вы предлагаете решить эту задачу в HTML? И как предлагаете дальнейшее развитие, нпр., сделать хим. калькулятор? -Тут ИМХО без JS не обойтись. Можно подробнее?
Задумка в целом любопытная, но с целевой аудиторией дополнений к задаче вы промахнулись.
Соответственно не понял: где и с какой целевой аудиторией я промахнулся?
PS BTW
Кстати СУБД в данном случае не нужна. У вас нет конкурентного, многопользовательского чтения и записи. Xml файл в данном случае достаточен.

В поставке Delphi есть примеры проектов с БД. Там использованы именно компоненты СУБД хотя эти проекты для однопользовательского использования. Видимо у Вас с Борландом разные взгляды на организацию БД.

Формально "задачник" это сборник задач. Но следует еще помнить об их применимости в школах и других учебных заведениях.
Вы выбираете задачники для чего? Лично я искал такой, чтобы можно было дать задачи по основам прикладного программирования (противопоставляя олимпиадному и "занимательному").


В школе "Этюды для программистов" нужны только чтобы занять продвинутых учеников. В самой книге написано:


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

Вот скажите, вы честно читали и прорешивали задачи Кнута или рекомендуете потому что все остальные их рекомендуют? Там не прикладное программирование, а хардкорный CS, где нужно доказывать теоремы. Наверное в какой-нибудь спецшколе подойдет, но не всем. При этом методика совершенно не сочетается с вашей идеей "сделать хим-калькулятор".


Книга "Седжвик, Фундаметальные алгоритмы на С" это все таки учебник. Причем не школьный. В первой же главе идут задачи на графы. Они безусловно полезны, но не в школе для обычных детей, а для подготовки олимпиадников в ВУЗах.


"С. Окулов, Программирование в алгоритмах" тоже не для простых смертных.


Для кого предназначен учебник? Во-первых, для учителей и
учащихся школ с углубленным изучением информатики.
Во-вторых, для студентов высших учебных заведений, изучающих программирование и стремящихся достичь профессионального уровня. Особенно он будет полезен тем, кто готовится принять участие в олимпиадах по программированию, включая
широко известный чемпионат мира по программированию,
проводимый под эгидой международной организации ACM (Association for Computing Machinery).

"В.А.Дагане и др., 100 задач по программированию" найти не удалось. Пришлите ссылку личным сообщением, пожалуйста.

В книге "В.А.Дагене, Г.К.Григас, К.Ф.Аугутис, 100 задач по программированию" задачи скорее занимательные. Подойдет чтобы занять продвинутых учеников. Но им все равно нужно предварительно дать базовые задачки на простые вещи, а сборников в виде книги с такими задачами почти нет. Впрочем сейчас есть куча онлайн-площадок с автоматическим тестированием и они работают достаточно хорошо.

Но им все равно нужно предварительно дать базовые задачки на простые вещи, а сборников в виде книги с такими задачами почти нет.
Очень хороший первый учебник по Паскалю на русском — Грогоно П., Программирование на языке Паскаль, М.: Мир, 1982. Там изучение с нуля, и к каждой главе упражнения.
В книге «В.А.Дагене, Г.К.Григас, К.Ф.Аугутис, 100 задач по программированию» задачи скорее занимательные.
А чем плохие «занимательные задачи»? Жизнь — занимательная? Сортировка пузырьком — занимательная? А Ханойские башни? Треугольник Паскаля и числа Фибоначчи? Слышал такое мнение, что некоторые задачи настолько знамениты, что их стыдно не знать.

Занимательные задачи не плохи. Речь была именно про задачник.
Сравните, например, с задачником по алгебре за 9 класс.
Алгебра. 9 класс. В 2 ч. Ч. 2. Задачник для учащихся общеобразовательных учреждений / [А. Г. Мордкович, Л. А. Александрова, Т. Н. Мишустина и др.]; под ред. А. Г. Мордковича.
200 с чем то страниц и на каждой пара десятков заданий. Крайне трудно прорешать весь задачник и не усвоить в итоге тему.
Вы же предлагаете использовать задачки для развлечения в том случае, когда нужны задачки для оттачивания навыка.

Сравните, например, с задачником по алгебре за 9 класс.
Я закончил физ-мат школу, поэтому пристрастен и мне трудно сравнивать. Полистал этот задачник. ИМХО как всегда куча рутины, чтобы «набить руку», а тем, кому в начале было интересно быстро надоедает. А ведь настоящая математика это уменье доказывать теоремы и находить опровержения — контрпримеры (в случае чистой математики) и уменье применять мат. абстракции к практике (в случае прикладной). Нпр., знаменитая задача из арифметики Магницкого (?):

Летела стая гусей, а навстречу им летит один гусь и говорит: «Здравствуйте, сто гусей!» «Нас не сто гусей,- отвечает ему вожак стаи,- если бы нас было столько, сколько теперь, да еще столько, да полстолька, да четверть столька, да еще ты, гусь, с нами, так тогда нас было бы сто гусей». Сколько было в стае гусей?


Ее почему-то помнят. А кто набивает руку на серых примерах по тождественному преобразованию выражений, через год после окончания школы не вспомнит формулу синуса двойного угла.

ИМХО одна из лучших книг по методологии математики (и по методике преподавания) это Лакатос И. Доказательства и опровержения. Как доказываются теоремы.

Вы же предлагаете использовать задачки для развлечения
Еще раз: не понимаю слово «развлечение» в таком контексте. Для серьезного хорошо обученного спеца, увлеченного своей работой, эта работа одно из самых больших развлечений. При этом почему-то это развлечение бывает очень продуктивно.
PS Приведу контрпример к указанному Вами задачнику — М. И. Сканави,
Сборник задач по математике для поступающих во втузы.
Там на каждую тему задачи 3 уровней сложности: набил руку на одном уровне — переходи на следующий. Не скучно. Я бы сказал: развлекательно :)

Посмотрите какая у него плотность задач на страницу. Вы видели что-нибудь подобное по программированию?

Ох, видел методички некоторых солидных вузов Москвы — задачи типа: на ЕС ЭВМ решить СЛУ методом Гаусса — Зейделя. Думаете надо написать программу для этого метода? — Нет, использовать библиотечную функцию. Для зачета сдать распечатку, где в строчку перичислены корни. Даже не надо убеждаться, что система имеет единственное решение. Плотность на странице была выше, т.к. были перечислены варианты с разными коэффициентами — каждый студент из группы получал свой вариант. И какой смысл в таких заданиях? Профанация.
Я закончил физ-мат школу, поэтому пристрастен и мне трудно сравнивать. Полистал этот задачник. ИМХО как всегда куча рутины, чтобы «набить руку», а тем, кому в начале было интересно быстро надоедает.

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


Ваша задача про таблицу менделеева для какой школы задумана: профильной или обычной?


А кто набивает руку на серых примерах по тождественному преобразованию выражений, через год после окончания школы не вспомнит формулу синуса двойного угла.

У вас есть репрезентативная выборка, подтверждающая этот тезис?
Почему вы думаете, что те, кто решает "интересные" задачки, не забывают эту формулу?


не понимаю слово «развлечение» в таком контексте

Решение занимательных задач, что по математике, что по программированию — это развлечение. На нем не построить программу обучения большого количества людей с нуля. Ни один из "задачников", которые вы приводили не подходит для обучения с нуля. Они в целом не всем по силам.

Для обычной школы подойдет одно. Для профильной — другое.
В основном в профильной школе должны проходить то, что и в обычной. Могут быть дополнительные темы засчет доп. часов, отводимых на профильные предметы, но это 5-10% от общего объема.
Основная разница в учениках и в учителях. Невозможно собрать класс, где все будут одинаково успевающими — всегда кто-то будет отставать, а кто-то опережать. Если в обычной школе ученик сильно опережает остальных, то ему надо идти в профильную — опережение будет меньше, если будет. И в профильных учителя бывают лучше и меньше загружены: не приходится тратить силы на совсем тупых лентяев.

Ваша задача про таблицу менделеева для какой школы задумана: профильной или обычной?
Как сказал выше:
В основном в профильной школе должны проходить то, что и в обычной.
Поэтому ИМХО задача про таблицу Менделеева подойдет любой школе. Тем более есть много вариантов развития этой задачи. М.б. в профильной выберут более сложный вариант.
У вас есть репрезентативная выборка, подтверждающая этот тезис?
У меня много знакомых вузовских преподов — все они хором плачут, что регулярно попадаются студенты, которые по диаметру не знают как сосчитать длину окружности. Какие уж тут синусы!
Почему вы думаете, что те, кто решает «интересные» задачки, не забывают эту формулу?
Элементарная психология: неинтересное быстрее забывается.
Решение занимательных задач, что по математике, что по программированию — это развлечение. На нем не построить программу обучения большого количества людей с нуля.
ИМХО школьная математика методически очень плохо устроена и не надо брать с нее пример. Давным давно там (в школьной математике) выбрали самый простой путь: бесконечное сражение с монстрами. Когда у школьников не было калькуляторов и считали на бумажке, в арифметике 5 класса давали примеры в 10 действий, где надо было делить восьмизначное число на пятизначное.
Ни один из «задачников», которые вы приводили не подходит для обучения с нуля. Они в целом не всем по силам.
Грогно всем по силам. Мои коллеги химики, которые никогда не программировали, самостоятельно научились по этому учебнику делать программы для своих проф. нужд.
Элементарная психология: неинтересное быстрее забывается.

Почему вы думаете, что при решении интересной задачи человеку вдруг станет интересна формула минуса двойного угла? Он ее скорее всего запомнит на время решения, а потом формула вытеснится другой информацией.


школьная математика методически очень плохо устроена и не надо брать с нее пример.

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


Грогно всем по силам

Гродно не задачник, а учебник. Если человеку для обучения достаточно учебника, то ему задачник не особо нужен. Но когда нужен обширный материал для отработки навыка, учебник не может помочь — быстро заканчивается.

Почему вы думаете, что при решении интересной задачи человеку вдруг станет интересна формула минуса двойного угла? Он ее скорее всего запомнит на время решения, а потом формула вытеснится другой информацией.
Каждый человек склонен испытывать гордость от своих побед. И он без усилий автоматически запоминает, как шел к этой победе. Так в любой предметной области — от соревнований в беге на 100 м. до интересной (т.е. необычной) мат.задачки. В беге запомнит финт, как экономил силы и всех выпустил вперед, а потом сделал рывок и пришел первым. В задачке запомнит какой формулой прихлопнул. Если не запомнит в точности формулу, то запомнит, что есть такая полезная формула, которая ему очень помогла. Это самое главное, уточнить формулу минутное дело — на это есть справочники и сеть.
На мой взгляд, школьная математика устроена как есть потому что цель — обучить максимум людей уверенным основам.
Обучить, но не напугать многоэтажными монстрами выражений, которые нужно зачем-то упростить. Прежде всего: в школе нет и не может быть цели сделать всех школьников математиками или программистами. А цель за 10 или 11 лет обеспечить всех учеников элементарными знаниями, которые обеспечат осознанный выбор профессии. И выбор не только в пользу вуза. Многие осознанно не идут в вуз и правильно делают, не потому что глупые, а потому что слепо не бегут за модой.

Возвращаясь к математике — понятно, что очень многим школьникам опыт борьбы с алгебраическими монстрами всю дальнейшую жизнь будет совершенно не нужен. И на выбор профессии этот опыт может влиять только негативно. Если школьник испуган школьной математикой он может не пойти, нпр., на геологический факультет только потому, что там опять будет ненавистная ему математика. Знаю такой пример: человек в средней школе начал на летние каникулы ездить в геологические экспедиции (родители геологи), но кончив школу на геологию не пошел из-за математики. Напугали в школе. Если же школьник преуспел в боях со школьными мат.монстрами, набил руку и выработал шаблоны решений подобных задачек, т.е. для него это стало рутиной, то он может решить стать математиком. Но поступив на математический — он с первых дней с удивлением обнаружит, что от него ждут совсем не умения упрощать выражения, а его отточенные за многие годы навыки это только техника, которая по большому счету никому не интересна. Если не сумеет быстро перестроиться и будет жаловаться преподам — те посоветуют ему пройти трехмесячные бухгалтерские курсы и идти работать, а в настояшую нешкольную математику не лезть.

В СССР было принято гордиться методикой преподавания математики в школе. Но, нпр., в школе не давали производную. А начальные знания по этой теме очень бы помогли пониманию школьной физики. Можно ведь было немного времени отрезать от побивания монстров. В какой-то год с какой-то радости в советской школе перестали изучать комплексные числа. Неужели понятие «число» для школьника менее важно, чем пресловутая расправа над монстрами? Давным давно в сов. школе помимо математики изучали логику по очень удачному, простому и наглядному учебнику Асмуса. Почему-то прекратили. Я не знаю есть ли сейчас в школе основы мат.логики. Как может даже школьная информатика обойтись без основ булевой алгебры? И с теорией множеств в сов. школе были проблемы. Что уж говорить о таких «узких» темах, как «неравенства», «основы комбинаторики», «основы теории графов». Нет, нельзя! Все силы на борьбу с алгебраическими монстрами! Просто задачи на доказательство встречались крайне редко. Лучше в этом плане обстояло дело в школьной геометрии. По ней даже в обычных школах успеваемость была лучше, чем по алгебре. Почему бы это? У школьной математики тяжелая судьба, будет катастрофой, если такая судьба постигнет школьную информатику.

Гродно не задачник, а учебник.
Точнее: учебник и задачник — к каждой главе там достаточное количество упражнений по теме главы.

Но когда нужен обширный материал для отработки навыка, учебник не может помочь — быстро заканчивается.
Что значит отработка навыка в информатике? Прошли, нпр., цикл со счетчмком. Решили в лоб задачу о счатливых белетах — 6 вложенных циклов. Навык применения циклов со счетчиком отработан? Или нужно еще 100 задач на тривиальное перичисление в лоб решить? ИМХО если ученик сообразит, как в счастливых билетах сократить число циклов — это будет гораздо полезнее. Удачная задача, что по математике, что по информатике элегантна и красива. М.б. поэтому она выглядит занимательной? Вспомним на минутку, что многие великие математики особо подчеркивали красоту математики — они знали о чем говорят, это были не просто слова без особого смысла.

В задачке запомнит какой формулой прихлопнул. Если не запомнит в точности формулу, то запомнит, что есть такая полезная формула, которая ему очень помогла.

Согласен. Просто изначально вы говорили, что люди именно формулу не вспомнят.


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

Насколько я понимаю, сейчас навык упрощения многоэтажных монстров в моей голове был перенесен на программный код и начал помогать с рефакторингом сложного кода.
Про другие сферы деятельности точно не знаю. Навык можно описать как "вот тебе нечто и правила его преобразования. сделай из г**на конфетку". Он довольно абстрактный и наверняка на что-то еще переносится. Возможно это источник былинной советской смекалки.
Навык доказательства теорем при этом мне нужен сильно реже.


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

И будут правы. Нешкольную математику не следует воспринимать как венец творения человека. Есть другие, более земные области знаний.


продолжение следует

Согласен. Просто изначально вы говорили, что люди именно формулу не вспомнят.
Я сказал в смысле, что не помнят, что есть такая формула — пусть бы и не точно помнили. Считаю, что на зачете/экзамене нужно позволять пользоваться справочниками и учебниками — цель в том, чтобы увидеть как ученик понял курс, а не в том как он умеет зубрить и писать шпаргалки. Экзаменатору, конечно, будет сильно сложнее принимать такой экзамен. Поэтому многие идут по чисто формальному пути.
сейчас навык упрощения многоэтажных монстров в моей голове был перенесен на программный код и начал помогать с рефакторингом сложного кода.

Процитирую особо важные (на мой взгляд) моменты из Википедии:
Рефакторинг нужно применять постоянно при разработке кода.

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

ИМХО совершенно несравнимо с задачами упрощения алгебраических монстров, где зачастую нужно сразу применять большие преобразования всего выражения, а не фрагмента кода (1 метод, функция и т.д.), как на каждом шаге рефакторинга. Можно, конечно, постараться и сделать большую программу по принципу «как ненадо», где не будет никаких функций и сплошной спагетти-код. Такой рефакторинг будет сопоставим по сложности с упрощением алгебраического монстра, но в настоящее время на практике спагетти-код (я надеюсь) встречается не часто.
Навык доказательства теорем при этом мне нужен сильно реже.
А доказательство корректности алгоритма и оценка теоретической сложности? Это в чистом виде доказательство теорем. А еще бывают случаи, когда требуется строгое теоретическое доказательство соответствия реализации алгоритма в коде этому алгоритму (верификация программ).
Есть другие, более земные области знаний.
Да. Но я о другом: у ряда школьников складывается неверное представление о математике. В результате подходящие от нее бегут, а неподходящие на нее идут.
Такой рефакторинг будет сопоставим по сложности с упрощением алгебраического монстра, но в настоящее время на практике спагетти-код (я надеюсь) встречается не часто.

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


Да и "большие преобразования всего выражения" применяются только когда они влезают ученику в голову. Большие преобразования состоят из элементарных, только они не всегда на бумагу пишутся в целях экономии времени.


А доказательство корректности алгоритма и оценка теоретической сложности?

Не помню таких случаев. У нас вроде настоящие большие данные и разница между O(1) и O^2 должна быть заметна. Вот только компилятор и фреймворки умнее людей. Поэтому проблемы случаются совсем не в алгоритмах, а в штуках вроде "не разделил таблицу по партициям" или "left join вызывает ООМ, поэтому надо отдельно написать INNER JOIN и UNION".


А еще бывают случаи, когда требуется строгое теоретическое доказательство соответствия реализации алгоритма в коде этому алгоритму (верификация программ).

Где?

Где?
См.: там хороший список первоисточников. Более скромный список в рувики.
Не помню таких случаев.

Нпр., в решении очень простой задачки мне пришлось оценить теоретическую сложность (число побуквенных сравнений).
разница между O(1) и O^2
А полный перебор Ваши ученики не проходят?
Достаточно часто, чтобы с ним приходилось иметь дело.

Время от времени пробуют какие-то техники, иногда они получаются удачные и все начинают их везде перенимать.
На каком ЯП? Не могу представить, чтобы на современном ЯП кто-то пусть и начинающий написал бы большой спагетти-код без злого умысла при любой технике. Самый впечатляющий по размеру спагетти-код, который я видел, был код прошлого века в 10 тыс. строк ассемблера для ЕС ЭВМ.
Нпр., в решении очень простой задачки мне пришлось оценить теоретическую сложность (число побуквенных сравнений).

Я так понимаю, вы по настоящему не преподаете и не программируете. Просто увлекаетесь мысленными экспериментами и говорите оторванные от реальности вещи.

Вы неправильно понимаете. Преподавательский опыт у меня не большой, правда в солидных местах — МГТУ и МГУ, и немного репетиторства. А программированием я постоянно на жизнь зарабатываю. Нпр., один из ведущих НИИ РАН в Москве.

говорите оторванные от реальности вещи
Список приведите, пожалуйста.
«В.А.Дагане и др., 100 задач по программированию» найти не удалось.

В.А.Дагене, Г.К.Григас, К.Ф.Аугутис, 100 задач по программированию, М.: Просвещение, 1993.
(Прошу извинить за опечатку в первой фамилии).
В школе «Этюды для программистов» нужны только чтобы занять продвинутых учеников
В общем да, хотя игра Жизнь достаточно простая задача. У Кнута сколько помню есть простые задачи: треугольник Паскаля, числа Фибоначчи и т.д. Окулов: первая глава арифметика многоразрядных целых простая и наглядная. Можно взять только сложение и вычитание. И глава 2 комбинаторика не слишком сложная. Графы школьники начинают изучать на органике — надо только сказать, что атомы — вершины, а хим.связи — ребра, а структурная формула — молекулярный граф. Матрицу смежности понять не сложно, как и сосчитать по ней степени вершин (валентности). Но у Окулова есть и более сложные алгоритмы — их можно опустить.
Книга «Седжвик, Фундаметальные алгоритмы на С» это все таки учебник. Причем не школьный. В первой же главе идут задачи на графы.
Это Вы про часть 5 (второй том двухтомника). В первой части рекурсия, сортировка, поиск. Но для школьников м.б. сложное изложение. Простую сортировку лучше учить по Вирту.

По обсуждениям этой и этой статей у меня сложилось впечатление, что некоторые учителя стремятся к гораздо большей перегрузке учеников: программирование игр, конструирование роботов и т.д.
Другой вопрос нужно ли в школе давать SQL? М.б. и не нужно, если это не спец.школа. Но статья не только для школьников, но и для студентов вузов и их преподов

В заголовке статьи написано, что речь о школьной информатике. Если уж заявлено про школу, то давайте с учетом школьной специфики, которая достаточно сильно отличается от ВУЗовской. В школу идут все люди с небольшими исключениями, а в ВУЗе происходит предварительный отбор по интересам и по способностям. В ВУЗе есть дискретная математика, а в школе — нет. В ВУЗе цель — научить выполнять прикладную и научную работу (в т.ч. на производстве), а в школе нет такой цели.


Я про компонент, который обеспечивает базовые элементарные функции по работе с БД в одном из стандартных форматов.

Между СУБД и БД есть существенная разница, которую нужно учитывать. Грубо говоря, пачка xml файлов можно назвать БД, но нельзя СУБД.


как Вы предлагаете решить эту задачу в HTML? И как предлагаете дальнейшее развитие, нпр., сделать хим. калькулятор? -Тут ИМХО без JS не обойтись. Можно подробнее?

Задача "отобразить таблицу менделеева со ссылками на какой-нибудь справочник" отлично решается путем создания HTML страницы.
Какой еще хим-калькулятор?
Если вас на работе спрашивают за функциональность, которую не заказывали, что вы ответите? Скорее всего "Дайте ТЗ, придумаю как решить". Ну или если вы крутой спец, то "опишите проблему, я придумаю как вам помочь".
Если нет проблемы, то почему не хватает таблицы в HTML странице?
Почему вы считаете нормальным, давать ученикам в школе задачки в духе "придумай сам что-нибудь"?

В заголовке статьи написано, что речь о школьной информатике.
Схематизм (несовершенство) заголовка: речь и о высшей школе :)
В школу идут все люди с небольшими исключениями, а в ВУЗе происходит предварительный отбор по интересам и по способностям. В ВУЗе есть дискретная математика, а в школе — нет. В ВУЗе цель — научить выполнять прикладную и научную работу (в т.ч. на производстве), а в школе нет такой цели.
Согласен. Но чтобы сделать осознанный выбор, школьник должен почувствовать каждый предмет: химию, математику, информатику.
Между СУБД и БД есть существенная разница, которую нужно учитывать.
Ok. Я про стандартные компоненты Дельфи, которые выполняют действия с БД.
Задача «отобразить таблицу менделеева со ссылками на какой-нибудь справочник» отлично решается путем создания HTML страницы.
В статье предложено усложнить такую задачу:
Дальнейшее развитие — фильтры. Например, в зависимости от установки в информ-окне будет только: важнейшие физ-хим сведения, информация по истории открытия, информация о распространении в природе, список важнейших соединений (куда входит данный элемент), физиологические свойства, название на иностранном языке и т. д.

Какой еще хим-калькулятор?
Нажимаете на клетку элемента — в регистре его атомный вес, умножаете на число этих атомов в молекуле, запоминаете и так со следующим атомом. Потом суммируете по всем атомам — получаете молекулярный вес. Решаете задачку из статьи:
Дано 10 г мела. Сколько соляной кислоты надо взять, чтобы растворить весь этот мел?

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

Далее.
Почему вы считаете нормальным, давать ученикам в школе задачки в духе «придумай сам что-нибудь»?

В разумных рамках это хорошая практика. Когда я учился, на математике нам задали сделать какие хотим модели из проволоки: пирамиды, призмы и т.д. Потом мы поменялись моделями и считали их объем.
Но чтобы сделать осознанный выбор школьник должен почувствовать каждый предмет: химию, математику, информатику.

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

Химический калькулятор же можно накручивать вплоть до уровня выпускной квалификационной работы в ВУЗе.
См. дополнение «как работает химический калькулятор» в статье. Задача простая для среднего школьника и на уровень выпускной квалификационной работы в ВУЗе явно не тянет.
Много задачников по программированию в виде книг вы вообще видели? Я как то занимался поисками, нашел только Златопольского.

Вообще, задачников много. Это задачники для школ от того же Златопольского, Абрамова, Абрямяна, Окулова. Есть посложнее — «Программирование: теоремы и задачи» Шеня. Есть специализированные — например, задачи в конце каждой главы в курсе алгоритмов Седжвика.


К сожалению, для вводного курса программирования в вузе школьные задачники слишком простые, так как не идут дальше массивов, игнорируют ООП, многопоточное программирование и т.д., а специализированные, очевидно, слишком специализированы.


Я как-то преподавал вводный курс программирования для специальности «Прикладная математика и информатика», пришлось заморочиться и вообще сделать свой задачник. PDF можно найти в разделе с релизами, если интересно.

Интересно, посмотрел.
Вы намеренно ни у одной из задач не описывали тестовые данные?
Можете что-нибудь рассказать о результатах студентов, которые обучались по такому задачнику? Что для них было самое сложное?


Тема про многопоточность любопытная. Распараллеливание по потокам правда давало какой-то прирост производительности? На мой взгляд, будет давать только если на разные машины раскидывать.

Вы намеренно ни у одной из задач не описывали тестовые данные?

Ну, тут не такие сложные задачи, чтобы не было понятно, что должно получиться. В случаях посложнее приводил примеры.


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


Можете что-нибудь рассказать о результатах студентов, которые обучались по такому задачнику?

Это вводный курс программирования на два семестра на первом курсе. В качестве языка взяли C#, так как достаточно высокоуровневый и распространённый. Ну тут особой привязки к языку в задачах нет (кроме LINQ), так что на следующих курсах, когда будут другие языки программирования использоваться, навыки пригодятся. (Впрочем, даже на первом курсе, параллельно студенты ещё минимум в двух курсах программируют, только уже на C и ассемблере.)


По уровню подготовки все студенты разные. Кто-то с трудом решает задачки, кто-то с ходу. В итоге почти все делают всё, так как без задач просто не будет допуска к экзамену. Сложность подобрана именно так, чтоб успеть всё сделать даже если подготовка не очень была в начале.


Сложно что-то конкретное сказать о результатах. Не очень понимаю, что именно вас интересует.


Что для них было самое сложное?

У кого как. Кто-то застревал даже в начале, так как задачки часто математизированы (особенность специальности). Наверное, труднее всего «въехвать» в ООП, ну и параллельное сложности создаёт.


Распараллеливание по потокам правда давало какой-то прирост производительности?

Тут задачки именно на навык запуска потоков. В некоторых задачах даёт, в некоторых нет. В некоторых даёт, если данных мало, а если много, то нет из-за непопаданий в кэш, накладных расходов и так далее. Это специально сделано, чтоб студент измерил и сделал выводы, выгодно в данном случае распараллеливание использовать или нет.


Практические занятия у студентов на компьютерах с двумя ядрами, так что ускорение (до двух раз, конечно :)) заметно.


На мой взгляд, будет давать только если на разные машины раскидывать.

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

Ну, тут не такие сложные задачи, чтобы не было понятно, что должно получиться. В случаях посложнее приводил примеры.

Тогда интересно, как проверяли? Читали код каждого решения?


В итоге почти все делают всё, так как без задач просто не будет допуска к экзамену.

Выявляли ли вы случаи, когда неуспевающие просто списывали задачи и сдавали их? Что делали с такими студентами?


Это специально сделано, чтоб студент измерил и сделал выводы, выгодно в данном случае распараллеливание использовать или нет.

Очень интересно, как студенты оформляли отчет по такой работе? Как вы проверяли решения таких задач?


Практические занятия у студентов на компьютерах с двумя ядрами, так что ускорение (до двух раз, конечно :)) заметно.

Действительно. Я упустил многоядерность, когда спрашивал.


По этому предмету еще была курсовая? Поделитесь темами?

Тогда интересно, как проверяли? Читали код каждого решения?

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


У нас маленький скромный вуз, и студентов не так уж и много. Можно с каждым поговорить.


Выявляли ли вы случаи, когда неуспевающие просто списывали задачи и сдавали их? Что делали с такими студентами?

Ну, практику не я вёл. И как я уже говорил, каждое решение обсуждалось хотя бы кратко. Специально списывающих не выявляли, наоборот, поощряли, когда одни студенты помогают решить задачу другим. Только просили, чтоб именно объясняли, а не говорили готовое решение.


Вообще, если студент отвечает на вопросы по коду, понимает, как всё работает, то почему бы работу и не зачесть? Если он просто создал видимость понимания, то всё равно же на экзамене есть практическая часть. :) Да и через месяц после начала занятий уже понятно, кто на каком уровне и просто видно, списал или нет. Всегда можно задать дополнительный вопрос.


Я не думаю, что это прямо такая большая проблема, чтобы тратить много усилий на её решение.


Очень интересно, как студенты оформляли отчет по такой работе? Как вы проверяли решения таких задач?

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


По этому предмету еще была курсовая? Поделитесь темами?

Да, была после первого семестра. Но студенты всё равно к середине семестра уже коллекции знают, ООП, да и GUI умеют делать. На кафедре готовили примерный список. Так как предмет связан с практическими основами программирования, то особых ограничений не было. Там было несколько групп тем разного уровня сложность, чтоб каждый мог выбрать по силам:


  • изучить какой-то другой язык программирования и сделать лабораторки на нём (обычно брали те, кто послабее),
  • изучить какую-то достаточно сложную библиотеку/технологию, которую ещё не проходили, например, веб-программирование, мобильная разработка, графика с использованием OpenGL (это достаточно полезно, потом студенты на соответствующем предмете помогают остальным),
  • просто идеи простых и сложных проектов, например, разработать формат векторного описания векторной графики или музыки и сделать просмотрщик/прослушивальщик для него. Или написать программу для обработки фотографий документов: выравнивание яркости, поворотом и т. д.

Но студентам предлагалось самим сказать, что они хотят делать. Преподаватель оценивал сложность и примерное время на задачу для конкретного студента. А то они редко правильно сложность оценивают из-за отсутствия большого опыта. Если слишком просто — усложнял, если слишком сложно — упрощал. В общем, там индивидуально всё. В последние годы моей работы многие брали что-то с мобильной разработкой (это полезно, так как отдельного предмета для этого не было, хотя в других предметах, доп. занятиях и практике немного этого касались) в расчёте попрактиковаться, а потом найти подработку. Мы небольшую подработку в местных фирмах, если не во вред учёбе, тоже поощряли.


Ну и кроме курсовых, можно было набрать баллы (немного, но всё же) вне предмета. У нас на факультете раз в год олимпиада по программированию проводилась, хакатоны, всякие конкурсы разного уровня сложности.


В принципе, мы делали расчёт на то, чтоб после первого курса при условии успешного прохождения, участия в доп. мероприятиях и самостоятельной работы можно было программировать на уровне джуниора. Конечно, не все дотягивали, но мы старались. :) На втором курсе и далее уже начиналось что-то более специальное — алгоритмы, отдельный курс по ООАиП, паттернам всяким, системное программирование, сети, веб (отдельно), машинное обучение, компиляторы, графика, параллельное программирование и т. д., не помню уже. Во вводном курсе мы закладывали базу для всех этих предметов.

А где водятся студенту первокурсники способные массово (ну хотя бы каждый второй в группе) решать такие задачки?

С виду уровень для массовых первокурсников просто неподъемный.

Неподъёмный только с виду. У нас небольшой, далеко не топовый региональный вуз. Конкурсы маленькие, так как те, кто может, уезжают в ту же Москву в вузы покруче. В итоге на прикладной математике и информатике человек 15-20 учится. Но это и плюс, что людей немного.


Кафедра потратила очень много времени, чтоб разработать хорошую программу. Советовались с людьми из индустрии, приглашали читать лекции. Потом отлаживали процесс, чтоб программу усваивало больше людей.


Но, понятно, добиться, чтоб 100 % студентов усваивало абсолютно всё — нереально. Но мы старались.


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

Тема про многопоточность любопытная. Распараллеливание по потокам правда давало какой-то прирост производительности?

Довольно давно компания Интел проводила международное соревнование-марафон по многопоточности. Предлагалась задача — за месяц надо было отослать исходный код решения на любом ЯП. Всего заданий 12, т.е. год. Одно из заданий: программа Жизнь на Си, надо было ее распараллелить. Топовые результаты по времени были заметно разные для многоядерных CPU.
8 апреля 2019 сделаны дополнения:
Дополнение 1: как работает химический калькулятор
Дополнение 2: примеры задач для фильтров
13 апреля 2019 сделаны дополнения:
Дополнение 3: Химическая викторина
Дополнение 4: Интеграция нескольких задач в одной программе
Статья классная. К сожалению слишком занят, что бы поучаствовать в дискуссии :( Многие хабровчане, с пренебрежением относятся к теме школьного образования, но мне кажется, что это связано, с имеющимся личным опытом. Мне не нравится наша система образования, но мне нравится работать с будущими хабровчанами :)

Готовлю большую статью, думаю, летом смогу ее закончить. Суть такая — мы слишком прагматичны, и совсем не рациональны.

… извините, побежал на урок
Sign up to leave a comment.

Articles