Разветвленное программирование разрабатывалось с учетом опыта первого применения линейного программирования и его критики. Разветвленное программирование отличается от линейного двумя особенностями.
Первое отличие состоит в том, что учебный материал предоставляется ученику не малыми порциями, а логически законченными крупными блоками. Как считал создатель разветвленного программирования Н. А. Краудер, дозы учебного материала должны быть достаточно большими, поскольку усвоение зависит не от безошибочного усвоения материала мелкими шагами, а от глубокого и всестороннего анализа его содержания.
Вторым отличием разветвленного программирования является выборочный ответ ученика при выполнении контрольного задания, следующего за усвоением каждого блока. Ученик выбирает правильный ответ в контрольном задании из набора ответов, где есть кроме правильного неполные и неверные ответы, содержащие систематические ошибки. Если ученик выбрал правильный ответ, он переходит к следующему шагу. Если нет, ему разъясняется сущность ошибки, и он получает указание работать с одной из дополнительных программ (программ разветвления) в зависимости от сделанной ошибки или вернуться к исходному пункту. Таким образом, разветвленная программа ведет учеников к цели разными путями в зависимости от их ответов и ошибок. Тем самым достигается значительная индивидуализация обучения. Однако и разветвленное программирование не лишено недостатков. Основным из них, по мнению критиков, как раз и является выбор учащимися верного ответа. Выбор ответа провоцирует ученика угадывать ответы, запоминать и исключать ошибочные и т. п.
НО разветвленная программа тоже не дает ученику целостного представления о материале. Поэтому возник объединенный подход —смешанное программирование. Постепенно создавались сложные программные продукты, объединяющие элементы линейного и разветвленного программирования в зависимости от конкретных дидактических задач каждого шага и включающие в себя разные дозы и виды информации и различные алгоритмы ее усвоения.
В программах, построенных по смешанному типу, материал делится на различные дозы в зависимости от дидактической цели, возраста учащихся, логики учебного материала и самого процесса обучения. Способы ответа обучаемого могут быть разные: конструирование ответа из набора букв, слов и пр., кодирование ответа условными знаками, выбор ответа из заданного набора, другие варианты. Сегодня этот вид программированного обучения используется в обучении с использованием ИКТ (компьютеров).
3. Проблемное обучение