Students with Autism Spectrum Disorders: Effective Instructional Practices by L. Juane HeflinStudents with Autism Spectrum Disorders: Effective Instructional Practices by L. Juane Heflin

Students with Autism Spectrum Disorders: Effective Instructional Practices

byL. Juane Heflin, Donna Florino Alaimo

Paperback | February 16, 2006

Pricing and Purchase Info

$102.08 online 
$106.30 list price
Earn 510 plum® points

Prices and offers may vary in store


Ships within 1-2 weeks

Ships free on orders over $25

Not available in stores


Broadened public awareness of autism and other associated spectrum disorders, combined with continuing research, means that more students than ever before are being identified with these disabilities. This book is an excellent resource for any teacher working with students who have ASD because it discusses how to identify and describe individuals with autism spectrum disorder, develop effective programs, create contexts for instruction, accommodate sensory issues, use applied behavior analytic instructional strategies and program for challenging behavior. Separate chapters are devoted to communication, socialization, academic skill acquisition and non-academic environments.  Information on the use of technology is infused throughout the book and makes this an invaluable reference for educators.

Stephen J. Chapman. For the past 25 years, Stephen J. Chapman has led an extraordinarily active life as a design and electrical engineer, instructor, and author. In 1979, he was granted an M.S.E. in Electrical Engineering from the University of Central Florida and went on to post-Masters work in Digital Signal Processing at Rice Univ...
Title:Students with Autism Spectrum Disorders: Effective Instructional PracticesFormat:PaperbackDimensions:400 pages, 9.2 × 7.4 × 0.9 inPublished:February 16, 2006Publisher:Pearson EducationLanguage:English

The following ISBNs are associated with this title:

ISBN - 10:013118170X

ISBN - 13:9780131181700

Look for similar items by category:


Read from the Book

The aim of this book is to simultaneously teach the Java programming language, structured programming techniques, and good programming practice to an audience of engineering and science students. Java is a relatively new programming language that is taking the world by storm. It has enormous appeal for many reasons. One major advantage is that it is almost entirely platform independent, so that an application written for one computer is very likely to run unchanged on another computer. A single application can be written to execute across all of a company's computers, whether they be PCs, Macs, or Unix workstations. A second major advantage is that Java has a C-like syntax but drops many of the more obscure and messier features of C. The C-like syntax makes it already partially familiar to millions of people, aiding its acceptance. An example of Java's improvement over C is its treatment of character strings as objects, manipulated by a set of standard methods. In C, strings are manipulated with pointers, which is a much more error-prone process. A third major advantage of Java is that it is object oriented, which should make code written in Java more reusable between applications. With a little forethought, classes and methods written for one application are usable in another application unchanged, because the way that the data and methods are encapsulated in the objects prevents undesirable interactions among them. A fourth major advantage of Java is that it lends itself to device-independent graphics applications. Languages such as C and Fortran do not provide device-independent graphics, because the programmer must be concerned with the specific details of the hardware being used to display the graphics. The language definitions do not include standard APIs for working with graphics at a higher level. By contrast, Java's Swing Graphics classes provide a higher-level abstraction that is the same across all Java implementations, making device-independent graphics practical. A final advantage of Java is that it is free. Sun provides a free Java Software Development Kit for download from its World Wide Web site ( This kit includes free Java compilers, development tools, and class libraries. Vendors such as Borland, IBM, and Sun all offer free personal editions of their Java Integrated Development Environments, which include graphic layout tools and excellent debuggers. This is the right price for many budgets. The Unix operating system and C language reached their current strong positions because AT&T made Unix available essentially free to universities in the 1970s and 1980s, where generations of students were trained to use them, going on to spread their use widely throughout the working world. Java is poised for a similar but more rapid spread. Java also makes it easy to create applets that can be exchanged and executed freely across the Web. This adds enormous appeal in today's interconnected world. The principal disadvantage of Java is that, since it is a new language, no large library of reusable classes is available to solve scientific and engineering problems. These libraries will appear over the next few years as more and more universities adopt Java. A secondary disadvantage is that the Java 1/O system is very complex and confusing. This book avoids that problem by using a small subset of the Java I/O system's capabilities in the early chapters, leaving the full complexities until Chapter 16. Another disadvantage of Java is its very complex Applications Programming Interface (API). This is the flip side of Java's flexibility and power. The standard API allows a programmer to do many things in a platform-independent manner, but a complex API takes a long time to learn. Some texts attempt to hide Java's complexities from novice programmers by using custom-written convenience classes in the early chapters, until the student develops enough programming sophistication to understand the raw Java API itself. There has been a lot of resistance to this approach among some instructors and students, and this book addresses their concerns. With a single exception, every class used in this book is a part of the standard Java SDK 1.2 or later. The sole exception is a plotting class introduced in Chapter 5 and used thereafter to display engineering data. This use is temporary, since in Chapter 12 students learn how to write their own plotting classes using only the standard Java SDK. THE BOOK This book grew out of my experience writing and maintaining large programs in both the defense and geophysical fields. I saw that the strategies and techniques required to write large, maintainable programs were quite different from what new engineers were learning in their programming classes at school. The incredible cost of maintaining and modifying large programs demands that they be easily understood and modified by people other than their original programmers. The Java programming language meets this requirement, because its platform independence allows a program to be easily transported from computer to computer as a company's needs grow, and its straightforward syntax (compared to C) and strict object orientation encourage a cleaner programming style. This book teaches simultaneously both the fundamentals of the Java language and a programming style that results in good, maintainable programs. It is quite difficult to teach undergraduates the importance of investing extra effort during the early stages of the program design process in order to make their programs more maintainable. Class programming assignments must by their very nature be simple enough for one person to complete in a short period of time, and they do not have to be maintained for years. Because the projects are simple, a student can often "wing it" and still produce working code. A student can take a course, perform all of the programming assignments, pass all of the tests, and still not learn the habits that are really needed when working on large projects in industry. From the very beginning, this book teaches Java in a style suitable for use on large projects. It emphasizes the importance of going through a detailed design process before any code is written, using a top-down design technique to break the program up into logical portions (classes and methods) that can be implemented separately. The book demonstrates object reusability by building later examples on the classes and methods created in earlier examples. Finally, it emphasizes the importance of exhaustively testing the finished program with many different input data sets before releasing it for use. The book attempts to make learning an interactive experience by providing all sources for all examples at the book's Web site, and encouraging the student to download, execute, and modify them. Some end-of-chapter exercises are built on the examples. The Web site also contains the plotting package used in some of the exercises. This book also caters to the structure of the introductory programming course taken by most engineers. Often this course is a module within an "Introduction to Engineering Problem Solving" course, and the time available for learning the language is quite limited. Such courses usually teach simple procedural programming in some computer language such as Fortran, C, Basic, or Pascal, with advanced materials being presented in a separate course. Chapters 2 through 6 of this book provide a sound introduction to procedural programming and can be used as the basis for such an introductory course. The students learn the structured programming techniques inherent in a language such as Pascal, but in a language that has more practical day-to-day use. In addition, in Chapter 5 novice programmers can begin creating plots, something that is not possible in standard Fortran, C, Basic, or Pascal. TOPICS COVERED IN THIS BOOK A quick glance at other Java books shows that most of them run to 1000+ pages, devoted mostly to examples of how to use the thousands of classes in the Java API. This book takes a different approach, concentrating on only the small subset of the Java API necessary to perform technical calculations and display the results. For example, it concentrates on such modern features as Java2D graphics and the Swing Graphical User Interface, completely ignoring older ways to display data. This choice allows more time to concentrate on programming techniques and the solution of technical problems, while still leaving the book about half the length of many competitors. Chapter 1 introduces Java applications (as opposed to browser-based applets), which are used to illustrate all of the basic principles introduced in the book. Applications are better suited to teaching basic principles, because they can be very simple, and they don't obscure the point that the example is trying to illustrate. The book builds in a series of logical steps from the basics of the programming language (Chapters 2 through 4) to arrays (Chapter 5), methods (Chapter 6), classes (Chapter 7), strings (Chapter 8), and object-oriented programming features. Graphics and the device-independent display of data are introduced in Chapters 12 through 14, and Chapter 15 gives a brief explanation of applets. The book concludes with the Java I/O system in Chapter 16. FEATURES OF THIS BOOK Many features of this book are designed to emphasize the proper way to write reliable Java programs. These features should serve students well as they are learning Java and should also be useful to the practitioner on the job. They include: Emphasis on Problem Solving From the beginning, the book develops and executes practical examples useful for solving problems in an engineering environment. It emphasizes solving problems in the language, introducing only the bare minimum of Java classes required to make a program execute. The book starts with standalone Java programs to solve a particular problem, rather than applets designed to run within a Web browser. Arrays, strings, graphics, and details of class libraries are introduced in a gradual fashion in later chapters. Emphasis on Interactive Learning All examples in the book are available for download from the books Web site. Students are encouraged to execute each example on their own computers. In addition, end-of-chapter exercises require the students to modify and enhance the on-line code. Students are encouraged to reuse these components in their own programs. Emphasis on Strong Typing and Data Dictionaries Every variable and reference in Java classes and methods must be explicitly typed, so strong typing is an inherent feature of the language. In conjunction with the explicit declaration of every variable and reference in each method, the book emphasizes the importance of creating a data dictionary that describes the purpose of each variable to make the code more understandable. Emphasis on Top-Down Design Methodology Chapter 3 introduces a top-down design methodology, which is used consistently throughout the rest of the book. This methodology encourages a student to think about the proper design of a program before beginning to code. It emphasizes the importance of clearly defining the problem to be solved and the required inputs and outputs before any other work is begun. Once the problem is properly defined, the student learns to break it down into discrete classes representing the "things" within the program, and methods representing the behavior of those "things." Finally, the book teaches the importance of testing at all stages of the process, both unit testing of the component classes and methods and exhaustive testing of the final product. Examples are given of programs that work properly for some data sets and then fail for others. Pseudocode and flowcharts are introduced as tools for use during the stepwise refinement process, and pseudocode is used consistently in all examples. The formal design process taught by the book may be summarized as follows: Determining the user requirements Analysis and decomposition Detailed design Implementation: converting algorithms to Java statements Testing Emphasis on Java Class Libraries A great advantage of Java is that it contains portable class libraries (packages) designed to perform many of the functions required to write working Java programs. Implementing a feature from scratch makes no sense when the compiler vendor has already provided working, tested, and portable classes and methods to implement the feature. The reusable nature of objects derived from Java classes makes programming more rapid, simple, and reliable. The book emphasizes the advantages of reuse inherent in the Java language. Good Programming Practice Boxes For the convenience of the student, these boxes highlight good programming practices when they are introduced. In addition, all good programming practices introduced in a chapter are summarized at the end of the chapter. An example Good Programming Practice Box is shown below. Programming Pitfalls Boxes These boxes highlight common errors so that they can be avoided. An example Programming Pitfalls Box is shown below.

Table of Contents

Chapter 1        Identifying and Describing Individuals with Autism Spectrum Disorders

Chapter 2        Historical Perspective and Etiology of Autism Spectrum Disorders

Chapter 3        Collaborating to Develop Effective Programs

Chapter 4        Creating Contexts for Instruction

Chapter 5        Accommodating Sensory Issues

Chapter 6        Using Applied Behavior Analytic Instructional Strategies

Chapter 7        Programming for Challenging Behavior

Chapter 8        Encouraging Communication and Verbal Behavior

Chapter 9        Enhancing Socialization and Social Competence

Chapter 10      Promoting Academic Skill Acquisition

Chapter 11      Organizing Instructional Opportunities in Non-Academic Environments

Epilogue            What Ms. Harris Learned