Comment lines by Andre Tost: Developing a virtual learning system in a developing country

IBM Corporate Service Corps at the University of Dodoma, Tanzania

The IBM® Corporate Service Corps (CSC) is a leadership development program that brings in-depth business and IT consulting support to organizations in developing countries that are working on core societal challenges. This is the story of one CSC project, the impact it had on a university in East Africa, and the impact it had on the team members who participated. This content is part of the IBM WebSphere Developer Technical Journal.


Andre Tost (, Senior Technical Staff Member, IBM

Andre TostAndre Tost works as a Senior Technical Staff Member in the IBM Software Services for WebSphere organization, where he helps IBM customers establishing Service-Oriented Architectures. His special focus is on Web services and Enterprise Service Bus technology. Before his current assignment, he spent ten years in various partner enablement, development and architecture roles in IBM software development, most recently for the WebSphere Business Development group. Originally from Germany, Andre now lives and works in Rochester, Minnesota. In his spare time, he likes to spend time with his family and play and watch soccer whenever possible.

developerWorks Master author

09 December 2009

Also available in Chinese

Overcoming obstacles to progress

I want to share with you an exciting project I recently had the opportunity to be part of, namely to help establish a virtual learning system at the University of Dodoma in Tanzania. Besides being technically interesting, what makes this story more compelling than most are the challenges that come with conducting such a project in a developing country.

For any country, giving its people the skills to be successful in an increasingly globalized world is critically important. This is especially true for developing countries that want to seek out opportunities for economic progress. In Tanzania, which ranks among the poorest nations in the world, work has been going on since 2007 to build what is -- already -- that country’s largest university; the goal is to make it the leading academic institution in all of East Africa. As part of this vision, the university plans to establish a learning management system (LMS) that will support students enrolling in courses and other offerings with a virtual platform for learning; in other words, students would not need to be physically present on campus to have access to education.

This article provides some background on the IBM corporate program and the team that provided assistance for this project, and describes the technical underpinnings for the proposed system, as well as the conditions and challenges that have to be overcome in the process.

IBM Corporate Service Corps

The IBM Corporate Service Corps (CSC), often viewed as a "business version of the Peace Corps," synthesizes the 21st century context for business -- emerging markets, diverse cultures, global teaming, complex policy environments, cross functional collaboration, and increasing societal expectations -- into a leadership development program that involves projects in developing countries that are working on core societal challenges. In its first 18 months of operation, the CSC has deployed over 500 IBM employees from 47 countries on assignments in Brazil, China, Egypt, India, Ghana, Malaysia, Nigeria, the Philippines, Romania, South Africa, Tanzania, Turkey, and Vietnam.

Working in diverse, multi-national teams of 8-10 people, IBMers working on CSC projects have provided in-depth business and IT consulting support to clients in strategic emerging markets, including entrepreneurs, small and medium enterprises, non-profit organizations, educational institutions, and governmental agencies.

The project introduced here was conducted as part of the CSC at the University of Dodoma in Tanzania. Of the three teams that were engaged on this project, I was part of the third and last team, working at the university in October and November of 2009. See Resources for more information about the CSC.

University of Dodoma, Tanzania

The University of Dodoma (UDOM) is located in Dodoma, Tanzania (Figure 1). It was founded in 2007 and is now the largest university in Tanzania. The school currently has about 10,000 registered students, all of whom live on campus. Eventually, the university will have about 40,000 students. The campus covers a total area of approximately 6,000 hectares (15,000 acres).

Figure 1. Map of Tanzania
Figure 1. Map of Tanzania

One of (eventually) six colleges within UDOM is the College of Informatics and Virtual Education, which is further divided into the School of Informatics and the School of Virtual Education. The latter is responsible for setting up, managing, and maintaining the learning management system discussed here.

Figure 2. The University of Dodoma
Figure 2. The University of Dodoma

Implementing a learning management system at UDOM

Our project

As mentioned earlier, the goal of the project described here was to help the university establish a virtual learning management system. The CSC's role in the project concluded in November 2009 with the definition of activities that set the stage for the university to implement the first production deployment of the LMS scheduled for September 2010. In that respect, the actual effort is still ongoing and is driven by the responsible local team.

This project was one of several that was conducted at UDOM with the help of the CSC; others involved developing an internal MIS for the university, a network infrastructure, an IT organizational model, and more. All projects were performed in parallel and in close collaboration with each other.

After some use case analysis, a proof of concept was conducted to validate whether Moodle could satisfy UDOM’s requirements for the learning management system. Moodle (Modular Object-oriented Dynamic Learning Environment) is a free, open-source course management system (or virtual learning environment, or learning management system) that is used by many educational institutions worldwide. It supports the creation and delivery of online course material, including homework assignment submission, collaborative interaction between students and teachers, and online examination and ranking of students.

From a technical standpoint:

  • The Moodle system is developed in PHP and runs on any platform that supports PHP. All data is stored in a relational database.
  • As its name suggests, it has a modular structure that can be enhanced and expanded through the addition of plug-ins. Users can develop their own plug-ins, but many vendor plug-ins for exist for different purposes and can easily be added to an already deployed system.
  • Even though it targets virtual (remote) learning, Moodle can also be used to complement traditional teaching environments. Students attending lectures in person can later use the Moodle system to download accompanying materials and submit questions or comments to the teachers online. While homework submissions can often be completed by uploading them onto the system, exams often have to be taken in person.

As a result of the proof of concept, it became clear that little or no modification to Moodle would be needed, at least for the initial pilot deployment, and possibly beyond that.

Running on open source

Even though open source software appears free (and therefore preferable) at first sight, there can be hidden cost and risk involved. Questions must be raised about support and maintenance, which typically represent the largest cost of a software solution. Additional criteria that must be analyzed include:

  • Adherence to standards.
  • Version upgrades, backward compatibility, coexistence, migration.
  • Maturity, stability.
  • Licensing.

In many cases, it can be more cost effective in the long run to deploy commercially available software. The decision is always specific to the local circumstances, and those can change over time. Leveraging standards where possible, and building modular systems in general, preserves the ability to replace some of the products and packages with others that are better suited to address evolving functional and non-functional requirements.

However, given the constraints that exist today at UDOM, a recommendation was made to deploy the Moodle system on a LAMP environment (Linux®, Apache, MySQL, PHP). All four parts of this environment are open source, free, and well established in the marketplace, so there is little concern about their stability and viability for use in a production environment. While not every application at UDOM will be developed in PHP -- and there might be cases where commercial software is purchased for the university’s internal systems -- it is assumed that Linux will be the predominant run time platform. We also expect that the choice of application server and relational database platform will be (and can be) re-evaluated from time to time to ensure that the best platform for UDOM’s needs is being used. For example, it’s very possible, even likely, that a Java™ EE-based application server (like IBM WebSphere® Application Server) will be deployed for additional applications on top of the PHP-based Moodle. Moreover, the strategic relational database management system that serves UDOM’s applications might eventually become a commercially available product, like IBM DB2®.

Next came an assessment of which platform and which software packages would be used to run the LMS. This quickly became an evaluation of open source versus commercial software, not just for the virtual learning environment, but for the IT landscape at UDOM in general. The available budget for both hardware and software is very limited, which, of course, greatly influences any such decision.

Requirements that described the non-functional aspects of the target system were collected and documented. These included data about expected load and performance, security, management, scalability, availability, and so on. All of these requirements would directly influence how the system would be designed. The selected run time environment was LAMP (see sidebar).

Based on the decision that the first pilot for the LMS is to be run in September of 2010 (the start of the academic year), concrete plans were made for the topology that has to be put in place, taking these challenges into consideration:

  • Regular power outages occur.

    Even though plans exist to deploy backup power generators to ensure a constant supply of electricity, no such system is in place at the moment. This means that unplanned and unannounced server outages will happen.

  • Internet connectivity is extremely slow.

    As of this writing, no high speed Internet connection exists at the university. Within the university, some limited network connections have been implemented, but not all buildings are connected.

  • No common security infrastructure is in place.

    There is no central user registry that would support single sign-on for computer systems across the campus. Every existing server stores its own users locally.

  • No procedures or mechanisms for archiving, backup, restore, or disaster recovery exist.

    Server failures will have catastrophic consequences, since no formal and documented procedure exists for automated backups of relevant server systems.

These circumstances directly influenced some of the architectural decisions for the LMS. For example, no configuration for high availability was planned. If the availability of the server systems cannot be guaranteed due to lack of permanent power supply anyway, there is not much benefit in configuring failover between server systems.

Moreover, the pilot program will be run locally on campus, with existing UDOM students being the only participants. This will reduce the dependency on fast Internet connections. The network bandwidth on campus is considered sufficient for the pilot. This decision also implies that the system will be used to complement, rather than replace, existing face-to-face lectures.

Another important aspect of running the pilot within the local student community is the lack of an online payment system. A Moodle plug-in for PayPal exists, but PayPal is not commonly used in Tanzania -- neither are credit or debit cards, which means that a customized form of online payment support will have to be developed once the solution is rolled out to a bigger audience.

It is crucial that an approach and roadmap for non-functional aspects like security and maintenance and management (such as monitoring, backup, restore, and so on) be put in place and be implemented at least to some degree before the pilot deployment goes into production.

For the initial configuration, two PC servers will be deployed, running a LAMP environment. One server will host the application server and the core Moodle package, and the other one will host the database. The expected user load should be achieved by servers with 6GB of RAM and 2.26 GHz dual processors. Only limited disk storage capacity is needed, because only a limited number of online courses will be available in the first phase.

It would be desirable to be able to dynamically allocate hardware resources to applications and packages based on real needs, pending the ability of the UDOM IT team to establish a base for the virtualization of existing Linux servers. Several solutions for this exist, both free and commercial, but none have been evaluated or selected for UDOM yet. However, the designed system can satisfy the immediate needs without any virtualization solution in place.

All of these architectural decisions lead to a system that:

  • Uses exclusively free software.
  • Does not require fast Internet connections.
  • Prioritizes functional characteristics over some non-functional characteristics, namely high availability and load balancing.
  • Can easily serve the expected initial load.
  • Is extensible and scalable to address future needs.


At the conclusion of our role in the project, the goals of the project with which we were there to assist had been successfully achieved:

  • Architecture and design documentation for the LMS was created, specifically:
    • Functional requirements and test cases.
    • Non-functional requirements.
    • Architectural model describing the system.
    • Proposed topology and run time environment.
    • Server specifications for the first deployment.
  • Proof of concept was conducted to validate Moodle.
  • Detailed organizational model for the School of Virtual Education was proposed.
  • Detailed project plan of future activities to bring the overall project to completion was outlined.
  • Marketing plan was developed.
  • Intensive skills transfer sessions with the UDOM teams was conducted.

With the technical roadmap and the skills they need to move forward no longer hindering their progress, the ultimate success of the university's overall objectives is within their power, and the achievement will be their own.

Personal notes

Usually, when describing a technical project, its challenges, and outcome, there is no room for comments of a personal nature. But Comment Lines columns allow a broader perspective, especially when it is about a rather unusual project. Thus, I’d like to share my views on two specific topics here that make this engagement stand out from all others I’ve been involved in.

First, I have never worked in a country as challenged and as challenging as Tanzania. While there, I had the opportunity to visit rural villages, an orphanage for HIV-positive children, and the local office of the UN World Food Programme, to name just a few places. All of these were rather intense experiences, showing the very basic needs that people there struggle with daily: food, shelter, healthcare. Given these problems, discussing things like a long term IT strategy seems trivial. However, I believe that progress must be achieved at all levels, and ensuring that good education opportunities exist is one critical thing that can help future generations overcome all these basic hardships.

Second, the team working on this project was very diverse: ten people coming from eight countries across the globe, with different skills and different perspectives on how to approach the task at hand. Despite my initial skepticism about how productive such a team could be, it turned out to be a winning formula. Having a team of cross-discipline experts (and we were all experts in our respective fields) actually helps everyone be more innovative -- and innovation was something we needed constantly. I have been around a while and so this certainly isn’t a new concept. But this project drove the point home for me like no other project has before.

Figure 3. IBM CSC Tanzania Team 6
Figure 3. IBM CSC Tanzania Team 6

Our team in Tanzania (left to right in Figure 3): Nesrien Redwan (Austria), Minh Le (USA), Camille Delesalle (France), Alejandro Mejia (Mexico), Yi Xin Zhao (China), Mitali Biswas (India), Jasmin Stelzer (Germany), Andre Tost (USA), Sonoko Hatakeyama (Japan), Shawn Fetterolf (USA).


This project at the University of Dodoma in Tanzania was different from most other IT projects. It was conducted as part of a corporate citizenship initiative specifically geared for developing countries. As a new academic institution with little existing infrastructure, the project was focused on maximizing the potential for building crucial skills for the population of Tanzania and elsewhere.

The architecture of the system, as well as the selected hardware and software packages, will have to be adjusted to the existing, severe limitations, which are not easily controlled and are not likely to change soon. However, the resulting system meets current needs, and can evolve over time to meet future needs. The basic principles employed to design and implement the system, including the methodology and approach that is used, are no different from any other system, even if targeted to a very different environment: collecting functional and non-functional requirements and coming up with an architecture and design that address these requirements, paired with solid project management and execution.





developerWorks: Sign in

Required fields are indicated with an asterisk (*).

Need an IBM ID?
Forgot your IBM ID?

Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.


All information submitted is secure.

Dig deeper into WebSphere on developerWorks

Zone=WebSphere, Open source
ArticleTitle=Comment lines by Andre Tost: Developing a virtual learning system in a developing country