ABA therapists aren't the only ones who need to know how to write programs. Parents also can benefit from this knowledge, especially if you are a parent providing ABA therapy to your child. I write programs for all kinds of skills: brushing teeth, greeting people, table manners, potty training, sharing, counting, reading, one step instruction, etc. I typically use the ABBLS-R assessment tool, which then guides my program writing. I will refer to the ABBLS-R in this post simply because it is the tool I use the most. Some people use other assessment tools, such as the VB-MAPP, or they just go straight into program writing without doing an assessment. If you are unfamiliar with assessment, check out my post about the ABBLS-R which gives a general overview. I have my own program writing style that has evolved over the years. It isn't unusual for 2 different professionals to take the same goal and teach it in two different ways. For every goal you can think of, there are multiple ways to take the child from not knowing the skill, to knowing the skill. Program writing is definitely a skill that takes time to learn, but understanding the basic steps makes the process much easier.
Program Writing Steps
Prioritize what to teach first: After you assess the child you are left with an inventory of their strengths and deficits. After completing the full ABBLS-R, you could have an inventory of 145 strengths and 160 deficits. This large inventory is then narrowed down into specific skills to begin teaching. This process is child specific, because it will vary depending on the child's age, level of functioning, issues most important to the family, is the child in school or not, etc. The programs I write for a nonverbal 2 year old will be very different from the programs I write for a high functioning 14 year old. How many skills you select will also vary, but typically you want to consider the child's ability to work for extended periods of time, and how many hours of therapy per week the child is receiving. If a child only gets 3 hours of ABA per week, they don't have enough time to work on 25 programs. Or if a child is 3 years old and isn't even able to sit in a chair yet, its unrealistic to write 30 programs for them. There also is somewhat of a hierarchy of needs to address. Its more critical that a child be able to communicate, than ride a bike. When in doubt, make skill deficits that impact communication or inhibit learning the most important. Be conservative when selecting programs, you can always add more later on. Consider all of these factors and narrow your skill inventory down to the programs you will start teaching first.
Write an objective for each program: Think of the objective as your long term goal, and keep it broad. The objective is what you ultimately want the child to be able to do. "Child will be able to share with peers" is an objective. "Child will allow a peer to touch an item they are holding for 3 seconds" is not an objective. Each program needs its own objective, or its own long term goal. The objective also leads directly into the specific active targets.
Each objective needs an active targets list: Now is when you think about small, specific goals. There are two types of targets: active and mastered. An active target is what you are currently working on, and includes skills the child does not know yet. A mastered target is a skill the child has been taught, or already knows at the time of assessment. If the objective is "Child will be able to share with peers", then the active targets are the small steps towards that goal. Look at the objective you created, and then think of how you can break it down into small, discrete steps. If you are using the ABBLS-R it will actually list an objective and a few active targets for each skill. There is also an appendix in the back of the ABBLS-R manual that lists sample active targets. For example, imagine you want to teach a child to know what her body parts are. There are two ways she can demonstrate "knowing", either receptively or expressively. For receptive identification of body parts, you would teach the child to point to their body parts on command. Your active target list could include: Head, Tummy, Leg, Knee, Foot, Ear, etc.
Decide on your measurement of mastery: In order to get a child to a point of mastery, you need to decide how they will demonstrate to you that they are competent in a skill. Typically, most ABA programs use the standard of "80% or higher across 3 consecutive sessions". This means that the child needs to get above a 79% out of 100% for three different ABA sessions before the target is considered mastered. However, sometimes you need to use a different measurement system. If I am teaching a child to brush his teeth using backward chaining, then I am going to measure mastery by how many prompts the child needs to perform the task. Or if I am teaching a child to play with toys appropriately, I am going to measure mastery by timing how long they interact with the toy appropriately without any prompting from me. Your objective will help you decide how to measure for mastery.
Plan for maintenance of mastered targets: It isn't enough to write a program, teach a skill, and then move on to the next program. A common characteristic of Autism is difficulty generalizing skills, which over time can cause a learned skill to be forgotten. When writing a program you need to be thinking "How will I generalize this skill to various settings, materials, people, etc?", and "How will I put this skill into maintenance, once it has been mastered?" There are many ways to plan for generalization and maintenance. A way I regularly plan for generalization is to "Teach Loosely". Teaching loosely means that I will intentionally vary where I teach, when I teach, the materials I use, and (if possible) who does the teaching. I will teach waving not just when I arrive at the child's house, but at the therapy table, during breaks, at the playground, when I visit them at school, and I will encourage the parents to work on this skill as well. All of these small changes when combined make it much easier for a child to generalize a skill. A favorite technique I like to use for maintenance is: Get a small card filing box. Take a stack of index cards and write a mastered target on each card. During each session, grab a few cards out of the box and ask the child a mastered target. If they still have the skill, move on to the next card. If they do not still have the skill, take the card out of the box as it may need to be taught again. At the end of the session put the cards you used in the back of the box so you will pull different cards the next day. The great thing about this technique is anyone can do it. I love using strategies that the whole household can implement. If the child gets a new babysitter who doesn't know how to engage them, give the babysitter the box of mastered targets and a few reinforcers. If you are taking the child to the dentist and know they will have difficulty calmly waiting for their appointment, bring along the box of mastered targets and a few reinforcers. This way you can work on maintenance of skills no matter where you are and everything in the box is mastered so it should be very easy for the child.
This may seem like a LOT of work, and it is:-)
However it isn't impossible to learn how to write programs. There are also many resources out there for parents or professionals to use that will guide program writing, or even write the programs for you. If you would like some web resources, or computer software programs that write the programs for you then I would suggest doing an internet search. Two resources I can recommend are the Catherine Maurice guide, and the webABBLS. The webABBLS is a completely online version of the ABBLS-R assessment tool, and you plug in your child's strengths and deficits and then print out pre-written programs. I know many parents who use this tool. These software and online tools can be very helpful for parents or professionals who have limited training and need to write ABA programs. However, problems can arise when using "automated" tools like these if you don't understand how to tweak or modify programs. I have clients who use software programs that allow them to print out fully completed ABA programs, but I look over their programs and realize they are teaching two hierarchical skills at the same time. Or the child is lacking the prerequisite skills to learn something, and that is why they have made no progress in 6 weeks. So in other words, don't expect shortcuts. It is fine to use software or books/manuals to help you write programs, but be aware that you still may need professional help from an ABA professional to fine tune or modify the programs...especially if the child regresses or gets stuck on a certain skill.
Here are some helpful program writing tips that I have learned over the years:
The program should be clearly written in simple language. It should be so easy to understand that someone who doesn't know your child could read the program and start teaching right away.
The objective and active targets should always be compared with same age peers. If you want to teach your 4 year old to sit and attend, your benchmark to setting goals should be other 4 year olds. Its unrealistic to try and teach a 4 year old with Autism to sit and attend for an hour, because you wouldn't expect that from a typical 4 year old. Especially with academic goals such as reading and math, I always consider what a typical child of the same age would be expected to do.
Do not underestimate the importance of maintenance. If your child has been receiving ABA therapy for 3 years, when was the last time you asked them a target that they learned 2 years ago? How about 1 year ago? It's important to continue to assess mastered targets (no matter how old), to make sure the child is retaining knowledge. Kiddos who learn skills very fast generally lose those skills very fast. So if you have a child or client who flies through their programs, be sure you are putting those mastered targets into maintenance.
For professionals, the parents should always be included in the program writing process. Think of them as another member of the team. It is normal to have differing ideas on what skills the child should learn first. When I am getting ready to write programs for a client, I ask the parents what concerns are most important to them. Then I share with them what areas of concern I see as most important. From there, it's a give and take process. Sometimes you may need to help convince the parents to see your point of view. For example the father may express to you he wants his son to play with his brother. From your assessment and observation you know your client has no toy play skills. So you could explain to the father that with no knowledge of how to engage with toys appropriately, his son's ability to interact with peers is very limited.
ABA programs have many things in common, such as making tasks step-by-step, very little distraction, focusing on one thing at a time, and repetition and verification of skills learned. For example, to teach a pre-school age child with Autism the alphabet you would make the letters uniform in font style, make the letters all only one color so there are no distractions, make the letters of the same cardboard stock, introduce each letter one at a time, and use repetition to make sure the letters are learned. Finally, use reward for all the hard work and the skills gained. "Teaching loosely" is for after the child is demonstrating competency of the skill and is making progress.