Разветвленное программирование получило своего развития с учетом преимуществ и недостатков линейного программирования. Принципиально разветвленное программирование отличается от линейного двумя особенностями. 

Автор этого варианта Н. Краудер, во-первых, предлагал задавать учебный материал не малыми «порциями», а логически завершенными и большими блоками для того, чтобы субъекты учения могли глубоко и всесторонне проанализировать его содержание; во-вторых, во время выполнения контрольного задания определять правильный ответ из набора ответов, где есть, еще и неполные и неправильные ответы, которые содержат системные ошибки. Когда ученик дал правильный ответ, он переходит к следующему микроетапу. В противном случае ему дается объяснения сущности ошибки, и он получает задание работать с одной из дополнительных программ с учетом вида ошибки или вернуться к исходному пункту. Итак, рассматриваемая программа ведет учеников к учебной цели разными путями в зависимости от их ответов и ошибок. Так достигается индивидуализация обучения. 

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

Рассмотренное программирование не дает ученику цельного и системного представления о материале, который изучается.

С целью преодоления недостатков линейного и разветвленного программирования создано смешанное программирование, которое является комбинацией двух первых. На современном этапе практически не используется смешанный вариант программирования. Такие программы обучения оказываются наиболее эффективными для формирования практических навыков и умений. Для обучения специалистов практического направления можно эффективно использовать психологический вариант программирования, предложенный П. Я. Гальпериным и Н. Ф. Талызиной. Эта концепция имеет название «теория поэтапного формирования умственных действий» и базируется на трех обязательных, независимо от предметного содержания компонентах: ориентировочная основа действий, исполнительные действия, коррекционно-контрольные действия. Как развитие идей программирования в обучении возникли блочное и модульное обучение.

Автором блочного обучения является Ч. Куписевич. Оно осуществляется на основе гибкой программы, которая в своей основе имеет смешанное программирования, но включает в себя и традиционный текст. Эту программу он впервые предложил 1968 года. 

Основной целью такого программирования является многостороннее обучение и приспособление метода к разнообразных организационных условий обучения. Название этой программы – «Метод блочного программирования» – свидетельствует, что в этом методе используется несколько блоков, каждый из которых требует от учеников определенных усилий.

Основные блоки этой программы:

информационный;

тестово-информационный (для проверки освоения первого блока);

коррекционно-информационный (в случае неправильного ответа – дополнительное обучение);

проблемный (по мнению автора, это основной, базовый блок – решение задач на основе полученных знаний);

блок проверки и коррекции.

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

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

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