Archive for March, 2009

Article Summary #5: Douglas – Issues in Software Engineering of Relevance to Instructional Design

March 31, 2009

Douglas, I.  (2006).  Issues in software engineering of relevance to instructional design.  TechTrends 50(5), 28-35.

In this article, Ian Douglas describes how the principles of software development, including OS design models, are relevant to the design and development of instructional materials.  The article identifies areas of current work and leads to ideas for applications of design ideas outside of their native fields.


Douglas begins by clarifying the difference between software engineering and programming.  He says that many people assume they are the same thing, but that is like saying that instructional design is nothing more than the creation of powerpoint slides.  Software engineering was traditionally a linear process, but has evolved in many development houses to an iterative process involving rapid prototyping.  Most instructional design work, however, is stuck in the linear model.

Douglas describes the capability maturity model (CMM) that was developed at Carnegie Mellon’s Software Engineering Institute to evaluate software development approaches.  This model identifies five levels that an organization may reach.  In the Initial stage, work is done in a haphazard manner with little or no process management.  In the Repeatable stage, a process is specified so that successful development habits can be formed and used repeatedly.  In the Defined stage, the process is documented and standardized.  Someone, or some group, is given responsibility for maintaining the documentation of the process and making sure everyone understands and follows the specified development process.  In the Managed stage, the development process itself is evaluated and steadily improved.  The efficiency of the process is monitored, and areas for improvement are identified.  In the Optimized level, improvements in development process are shared rapidly throughout the organization.  Bidders on government contracts are required to have reached the Defined stage in order to secure government contracts.

The traditional model of software development is represented by the ADDIE acronym:  Analyze, Design, Develop, Implement, and Evaluate.  In closed development models, the only public stage is implementation.  OS is different in that all aspects of the development process may be open to public input, and each iteration ends with a code release, either as a development version or as a stable version.  In closed designs, most iterations are done in-house, and only a few, hopefully stable, public releases are made.

The Agile Manifesto describes models that are meant to be lighter than the ADDIE model.  These methods are said to be adaptive and people oriented rather than predictive and process oriented.  Extreme programming is mentioned as an example of an agile design methodology.  Its four core values are communication, feedback, simplicity, and courage.

Learning objects are educational parallels of object-oriented programming.  In object oriented programming, we aim to make reusable, discrete parts of programs.  This enables the re-use of code, ease of maintenance, and speed of new development.  When actual code is not reusable, we can identify reusable patterns.  Patterns are pieces of design knowledge rather than actual artifacts like code.  If we are not going to reuse actual code, we should at least identify the best design examples, and reuse these designs until they are improved upon.

Douglas describes UML, a unified modeling language that was developed to give software engineers a common way of speaking with each other around design issues.  This common language has facilitated the evaluation of software designs before the coding phase has progressed too far.

Evaluation and Educational Relevance

The capability maturity model (CMM) was developed to evaluate software engineering processes, but it can be used to examine instructional design processes as well (and many other design fields).  Every teacher is an instructional designer, and every school is a collection of designers.  Even if we use packaged curriculum, we still integrate different pieces of packaged curriculum, and design its delivery.  As designers, we can ask ourselves where we and our schools fall on the CMM scale.  In an honest evaluation, most schools would be on the initial level while some individual teachers will be on the repeatable level.  Any school without a central, accessible, and well-used repository of staff-developed curriculum is stuck in the initial level.  Many teachers repeat their best lessons and projects from year to year, but few of these teachers have identified a formal process for the revision and documentation of their curriculum.  Looking at the instructional design industry from a CMM perspective Douglas wrote, “It would be interesting to speculate how many organizations involved in producing instruction would score the equivalent of a Level 5 [Optimized]” (p. 29).

While many teachers may recognize their own informal use of the ADDIE model, few schools have implemented any formal curriculum development model.  It is worth reiterating that even a school which is only choosing a set packaged curriculum is still designing an instructional experience for its students.  Several ideas from the extreme programming model may be relevant to school-based instructional design.  One is the set of values – communication, feedback, simplicity, and courage.  Teachers who have clear communication with their students, colleagues, and administrators are in a more comfortable position to try to improve existing curriculum or develop new curriculum.  Even around complex topics, the progression of learning experiences should be simple.  A non-expert in the field should be able to recognize the development of learning that should take place in well-designed curriculum.  Finally, courage is needed to try to implement new projects.

A larger idea from extreme programming is the concept of collective ownership of that which is developed.  Douglas wrote, “This is a refinement of an earlier concept of ego-less programming, where there is collective responsibility for the system quality irrespective of individual work assignments” (p. 30).  As teachers, we often feel responsible only for the learning in our classrooms.  Schools become significantly more effective when teachers make the transition to thinking of their staff as a whole, and take collective responsibility for pedagogical excellence.

The tiered architecture model that developed out of object oriented programming has interesting suggestions for education.  In this approach, software is broken into a boundary (the interface, a GUI for example), the control (logic and processing), and the data storage.  We can aim to find a similar breakdown of functions in education.  A simple parallel might be viewing the context of instruction as the boundary, and the content, skill, idea, or knowledge as the data to be stored.  The logic is the thinking, the way we encourage students to put new knowledge together with their prior understanding.  This decoupling of pedagogical functions helps because the content changes little, the thinking changes some, and the context changes frequently.  Often times when the context changes we rethink the content and thinking aspects as well.  We may be able to minimize our rethinking of curriculum if we can adopt a similar, layered approach to instructional design, only changing the parts that need to be updated in a new curriculum implementation.  As Douglas suggests, “The currently amorphous concept of the learning object may have to evolve into a taxonomy of learning-related objects with at least a definite separation between learning content and its presentation [italics added]” (p. 32).

Douglas’ description of UML and its effect on making software design more efficient suggests the development of an Educational Markup Language (EML).  Wired magazine ran an article about a business-focused markup language, XBRL, that makes financial data more transparent and usable to everyone from industry experts to the reasonably educated public.  Financial data that took 70 days for regulators to analyze before the required implementation of XBRL took 2 days to analyze after implementation.  One could easily think of a small set of tags that are educationally relevant, from topic tags such as mathematics, exponents, and area to tags that represent sections in a lesson plan such as guiding questions, materials, and state standards.  With the use of this language, one lesson plan could be used in many different contexts, for many different audiences.  This is similar to the manner in which pathways in VUE allow one concept map to be used in many different ways.  A well-implemented scheme such as this seems to be missing from existing lesson plan repositories like Curriki.  The only place I have seen it so far in education is the closed set of descriptors in the ERIC database, the meaning of which most graduate students do not seem to grasp.

Finally, Douglas describes computer-aided software engineering (CASE).  He says that while many developers make automation tools for their customers, they use few automation tools themselves.  He describes high and low versions of CASE.  High-level CASE programs assist in analysis and design, while low-level programs assist in coding and debugging.  A similar kind of distinction could be made in education.  We could have computer-aided lesson planning (CALP).  Most teachers use nothing more sophisticated than a word processor for developing their lesson plans.  High-level CALP would assist in large-scale curriculum mapping and design; low-level CALP would assist in developing daily lesson plans, and lessons around small sets of learning objectives.  A useful piece of software might generate a daily lesson plan from a unit plan, with its only input being how far you got the previous day in the unit.


Douglas offers some concise closing thoughts:

If the barriers of jargon can be overcome, it may become apparent that many of the issues in design-related disciplines are the same, and there is great potential for sharing knowledge.

I would urge instructional designers to look beyond their own journals and conferences for reusable “objects” of knowledge that exist in other domains. (p. 35)

This article offers rich food for thought.

Mid-Semester Reflection

March 11, 2009

The learning I am experiencing in this course is much richer than I had expected.  I expected to learn a lot about OS programs, and their potential use in educational settings.  I also expected to learn a little about the OS community, but I expected that to be background knowledge for the focus on specific programs.  I had no idea how many concepts from the OS community are relevant to education, and how many connections between the two are relatively unexplored or unexamined.  With this unexpected richness, it is worth taking a moment to reflect on the work I have done so far, and the work I plan to do in the remainder of the course.

I will be reviewing an article by Ian Douglas on the relevance of software design issues to instructional design.  Douglas is one of the people I admire, with a deep understanding of technological issues like software engineering and a deep understanding of education as well.  The next few articles will cover the kind of topics that we expected from the outset like the use of Linux in classrooms and districts, and the use of specific OS applications in education.  As I have continued to look over the literature about OS and education, the initial investment in understanding licenses has proven to be time well spent.  I understand the licensing decisions described in numerous articles, and recognize the impacts of less clearly articulated licensing decisions on OS education projects.

I am working through a longer book right now, Opening Up Education (440 pages).  I was not sure I would read the whole thing, but it is proving quite relevant so I will finish it and review it in the next week or two.  I believe the last formally reviewed book will be The Success of Open Source by Steven Weber, although I have picked up a number of other books for continued study (and pleasure reading):  Just for Fun, the biography of Linus Torvalds; Free Software Free Society, essays by Richard Stallman; and The Mythical Man Month by Frederick Brooks.

I will write a literature review to synthesize what I have read and learned, and I will do a small in-class implementation.  I would still like to synthesize some OS concepts in a visual format, probably using VUE, and make a resource list.  The second interview will probably be with a member of the school district’s technology committee, to get another perspective on issues raised in the previous interview.

Finally, I hope to have time to outline an OS project of my own.  I would like to develop a cross-platform reading log, perhaps designed with some educational theory as the groundwork.  The whole project is well beyond the scope of this course, but I would like to lay out the functionality of the project in this course and leave the coding for rainy summer days.

I am enjoying the course immensely, and I hope the rhythm of reading and posting summaries are acceptable to you.

Software Review #3: VUE (Visual Understanding Environment)

March 1, 2009

Brief Description: VUE is a concept mapping program designed by a team at Tufts University. The program is designed to be a flexible learning environment which can manage text, links, images, and other multimedia files. The program also functions as a nonlinear presentation tool.


  • A strong, university-based design team leads the development of VUE. A clear set of design principles guides its development. Development should continue steadily for the foreseeable future, and may be picked up by the OS community.
  • VUE is cross-platform.
  • VUE is inclusive of many types of media. It is designed to organize resources from a variety of repositories – the user’s file system, the Fedora repository, and other digital archives.
  • A growing community exists around the VUE project, which is building a library of concept maps which can be downloaded.
  • As with any software designed for flexible use, there is a learning curve in using the software to its full potential. From initial use, however, the program seems to pull you in to deeper functionality. Thus, the learning curve weakness becomes a strength.


  • Any potential weaknesses I can identify so far, such as the inability to upload directly to the web, are being addressed in the next release. It is clear that this work is being actively pursued.

Resources: VUE web site, Sourceforge page

Specifications: Platform independent; requires a java runtime environment.

Installation: VUE installed easily on Ubuntu. I downloaded the Linux Installer file. I unzipped the file, changed its permission to executable, and ran the installer. It gave an error message after installing, but seems to be running fine.


I wanted to take a look at an example of concept-mapping software. I have used concept maps in my teaching, but have never used digital versions. They have always seemed cumbersome to create, relative to the educational value in creating them. The majority of conceptual learning seemed to occur while creating drafts of their concept maps, after which translating them to an electronic version was simply a technical task. The VUE designers seemed to feel the same way about existing concept-mapping software:

[existing concept-mapping programs] lack both the flexibility and responsiveness required to support critical and creative thinking with digital resources (Kahle, 2003). These tools’ simple mode of presenting digital resources as a static selection of links organized hierarchically may serve to communicate the structure of a course of lecture at a very high level, but this approach does not support the type of meaningful exploration and content manipulation necessary to help students construct important connections between digital resources and the ideas they represent. (Kumar 2006, chap. 1)

In about fifteen minutes, I was able to make a simple map including nodes, links, and labels for each. I then ‘played’ the map as a presentation and discovered the richness of VUE as a presentation tool. The first screen in the presentation is the map as a whole. Clicking on any node enlarges the node. If the node has any links, these other nodes and resources can be reached directly from the presentation, or the user can return to the previous level. This allows, or requires, the user to think through their presentation rather than simply following a default linear progression as often happens in the use of other presentation software. If the user wants to define a presentation order, I believe a pathway can be used to accomplish this. Being fairly new to concept mapping software in general, I was quite satisfied to be able to do this easily. I also recognize that this only begins to scratch the surface of VUE’s functionality.

Map creation window, with many dialog windows open.

Map creation window, with many dialog windows open.

VUE allows users to “search, browse, retrieve content from digital repositories, and upload resources into these systems” (Kumar 2006, chap. 3). Users can also create pathways through the resources on a map. These pathways can be used to control the sequence in which resources and content are viewed, and to control the level of complexity displayed on the map. For users new to the content area, pathways can be used to show only the core content information. For users familiar with the content area, the full richness of the map can be displayed. Multiple pathways within the same map can be used in different ways, by different learners. This flexibility can allow the map to develop in complexity with the user’s growing understanding of the topic. The user can also add new content and resources to the map as they bring their own learning to an existing map, or continue to develop a map they have created. Users can add to the map by searching their own file system, the Fedora repository, and other digital repositories for content. When relevant content is found, it can be dragged directly onto the map to create a new node.

Simple, 15-minute OS Education Concept Map.  Links to an image of Richard Stallman, and the text of the GNU Manifesto.

Simple, 15-minute OS Education Concept Map. Links to an image of Richard Stallman, and the text of the GNU Manifesto.

The current version of VUE is 2.2, and version 3.0 is planned for the fall of 2009. Version 3.0 will implement layers to further facilitate complex map structures. Importing data will be automated from certain sources, and layout will be automated using rules-based styling. A VUE applet is also being developed which will allow the full functioning of maps posted to web sites (Tufts University, 2008).


VUE is a strong example of what a contemporary OS project can look like. With its open design process, clear communication between users and developers, modular design model, and university backing, it is clear that the project will be active in the foreseeable future, and will continue to gain functionality. The project should continue to push the standards of concept mapping software development. It is difficult to imagine using a program like PowerPoint after seeing the flexibility of a program like VUE.

I would like to learn more about the OKI standards that are mentioned in discussions of development, and the OSID implementations that are mentioned (Kumar 2006). Conforming to these standards seem to allow the program to access certain repositories, and allow other developers to build on VUE functionality in their own projects.


Kumar, A., Kahle, D. (2006). VUE: A Concept Mapping Tool For Digital Content. Proceedings of the Second International Conference on Concept Mapping. Retrieved February 27, 2009 from

Tufts University. (May 2008). Visual Understanding Environment 3.0 (VUE 3.0). Retrieved February 27, 2009 from