Wednesday, December 14, 2011

First International Conference on Open and Distance e-Learning

On February 22-24, 2012 in Manila, Philippines.


Friday, April 8, 2011

Suzanne Darrow's Connectivism Learning Theory: Instructional Tools for College Courses

A related thesis that I have failed to cite in my project is Suzanne Darrow's Connectivism Learning Theory: Instructional Tools for College Courses (2009). I came across her work only after I have submitted my project report.

It's abstract follows:

This qualitative thesis explores the work of George Siemens and connectivist learning theory, 'A Learning Theory for the Digital Age'. Findings are based on a literature review which investigated the foundations, strengths and weaknesses of connectivism and synthesized conclusions into a knowledge base of practical applications for the college level, Instructional Technology classroom. The half-life of knowledge is shrinking, especially in the field of Instructional Technology; connectivism helps to ensure students remain current by facilitating the building of active connections, utilizing intelligent social networking and encouraging student-generated curricula. Connectivism allows the future of education to be viewed in an optimistic, almost utopian perspective, as individuals co-create knowledge in a global, networked environment (Darrow, 2009, p.ii).

Darrow tries to associate the term "digital natives" with connectivism. I wish she had taken into consideration Siemen's criticism of this concept at (2007). A list of works criticizing the term can be found in Doug Holton's blog- (2010).

Nevertheless, it's a good introduction to connectivism for teachers. It is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 United States License.

Hopefully more theses on connectivism will be shared online this year.

Project Report: Exploratory Approaches to the Design and Development of a Game for a Distance Education Course in Philippine History

Roel Cantada

I would like to share my project report for my master's degree in distance education at the University of the Philippines Open University (UPOU).


Report (4.57 mb)

WIP OARs of the game (15.22 mb) (5 mb) (10.44 mb)


The project explores the design and development of a prototype video game for a distance education course in Philippine history. The project seeks to answer these questions:

  1. What are the affordable learning actions and constraints of educational games in general and games for learning history in particular? 
  2. What production pipeline of design and development of educational games is appropriate for distance education teachers of Philippine history with meagre resources?
The rationale for the project is the following:

  1. There is little study on courses as games in distance education. 
  2. In the context of connectivist learning theory there is no study of games as hubs for a personal learning environment (PLE). 
  3. There is no available off the shelf game for teaching Philippine history. 
Open Simulator, a Multi-user Virtual Environment (MUVE) was used to create a prototype game. Formative research methods were adopted in the design and development of the game.

It has been found that the game affords the adoption of a wide range of learning theories and methods. As a PLE hub it has weak and strong affordances. In learning history it affords the following:

  1. It affords the linking and finding of historical sources.
  2. It affords role playing of historical characters.
  3. It affords reconstruction of history in multimedia.
  4. It affords the linking of game play with history.
It has also been found that teachers may impose a minimal amount of constraint on the learning path through quests and virtual objects that serve as obstacles. Items may be hidden from view (to delay use) or pointed out by Non-Player Characters. These constraints may help learners recognize affordable learning actions in the game. It may also scaffold the experience of novice players who are unfamiliar with the 3D environment.

In conclusion, series of steps and guidelines are suggested for developing educational games. It is recommended that teachers exploit the tools of the game for collaborative design and development as well as the production of reusable virtual world archives.

Thursday, February 3, 2011

Appending SNAPP graphml files in Gephi

  1. Browse a Moodle forum, 
  2. Click the bookmark link to the SNAPP
  3. Copy the export tab-graphml data
  4. Paste in a text document with the extension .graphml
  5. Open in Gephi and append other files.

Unfortunately tie strengts are not preserved. It may be a problem with SNAPP or Gephi, but I don't really know why.

Warning: There is an error in the graphml file export of the Moodle SNA tool. Use SNAPP instead.  The error is in the following tag:

<edge source="A" target="B"/>1</edge>

The extra forward slash / in the <edge> tag causes the problem. Gephi will not be able to open the graphml file from the Moodle SNA tool.

Perhaps a better solution is to create a VNA importer for Gephi and use the scripts here to extract and anonymize the data. Unfortunately I'm still working on my Graduate project and I can only look into this after my project is finished.

Workflow of the merger and anonymization of the CCK09 forum datasets

This is my workflow for anonymyzing and merging the VNA datasets of the CCK09 Moodle forum. I coded some python scripts to automate some of the steps. But it would still require some manual work with a spreadsheet.

Python Scripts

Download the python scripts: (3.11 kb)


Ubuntu Lucid amd64
Python 2.6.5
Moodle SNA Tool

I do not know if the extraction script will work with SNAPP.

Notes common for all scripts

1. This is needed for the scripts to work
add the following lines to to /etc/python2.6/

#change default python system  encoding
import sys

My is included in the downloadable archive above. Backup your original file to and place this in /etc/python2.6 .

2. Setting the permissions of the scripts

Right click the python script and  select Properties
In Properties - Permissions tab - enable Execute: Allow executing file as program.

Open a terminal and you can issue a command like this

if you cannot change permissions then you have to issue the following command in a terminal


3. Some possible errors
If you get errors like this:

Traceback (most recent call last):
  File "", line 29, in <module>
    inputfile = open(vnafilename, 'rb')
IOError: [Errno 2] No such file or directory:

That means you forgot to set the nfile or input file number to the correct number of files to process.

Extracting VNA files from saved html page output of Moodle SNA Tool

1. Browse a Moodle forum,
2. click the bookmark link to the Moodle SNA Tool
3. Save the page with the export VNA data as 1.html, 2.html, 3.html in a folder. I number my folders as forum1, forum2 etc. Naming the files as number 1 to n is important.
4. Download and extract in a folder where the vna files will be saved. Let's say folder vna1.
5. Open in a text editor and change the following values.

idirectory = 'file:///home/juan/Documents/CCK09/VNA/forum1/' #input file local url directory. Do not use /home/juan... it will result in python error. Always put a trailing slash / . There should be 3 and only 3 leading slash after file: e.g. ///

fextension = '.html' #file extensions. make it empty if there are no extensions e.g. ''. note NO space in between the quotes.

nfile = 1 #number of input files

6. open a terminal and issue the command



7. The terminal should scroll with the vna data being processed. If an error occurs leave me a comment about it. Make sure you have the same Python version. If it is successful it will say "finished extracting text".

8. You will have 1-n files without the vna extension in your folder.

Anonymyzing the dataset

When I anonymized the CCK08 dataset I waited until the union is complete before creating the code sheet.  In CCK09 I used a cumulative anonymization method. That is, I just add new names whenever I encounter them. This also allowed me to tag new CCK09 students in the dataset.

With an existing codesheet

If you already have a codesheet then go to step 1. If not manually create a codesheet from the union of the first set of vna files first.

1. Download and extract in the same folder where you have the extracted vna files. The example above is vna1.

2. Open in a text editor e.g. gedit then change the following values.

idirectory = 'home/juan/Documents/CCK09/VNA/vna1/' #input file directory
csfilename = '/home/juan/Documents/CCK09/VNA/codesheet08.csv' #codesheet
odirectory = '/home/juan/Documents/CCK09/VNA/vna1/' #output directory
nfile = 35 #number of input files

3. open a terminal and issue the command



4. If it is successful it will say "finished anonymyzing vna files". You will have 1.csv, 2.csv, 3.csv ... in your folder.

5. Apply to other forum sets and just add names and aliases to the codesheet.

Anonymyzing a Union of datasets

1. Download and extract in the extracted vna folder.
2. Open in a text editor and change the following values
idirectory = '/home/juan/Documents/CCK09/VNA/1/1union.csv' #input file directory
csfilename = '/home/juan/Documents/CCK09/VNA/codesheet1.csv' #codesheet
odirectory = '/home/juan/Documents/CCK09/VNA/1/' #output directory
fname = 'outputfile' #filename of output file

3. open a terminal and issue the command



4. If it is successful it will say "finished anonymyzing vna files". You will have a file named outputfileunion.csv
5. Apply to other forum union dataset and just add names and aliases to the codesheet.

Merging the datasets into a union dataset using spreadsheet.

This part will be very tedious if you have a lot of data.

1. Open each anonymized csv
Select Character set: Unicode (UTF-8)
Enable separated by space and text delimiter ".
2. Create a new spreadsheet with separate worksheets for node data and tie data. Copy every node data and tie data to this spreadsheet for merging.
3. Select the data columns minus the headers i.e. *Node data, ID posts; and *Tie data, from to talk strength.
4. Then sort the data with menu-Data-Sort.
5. When the names are sorted you will see the duplicate entries. Sum the numbers and erase the duplicate entries.
6. In another worksheet copy your node data and tie data then save as csv.
7. Select field delimiter space and text delimiter ". Disable save cell content as shown.
8. Open the saved csv file and remove the quotes from the headers. *Node data, ID posts; and *Tie data, from to talk strength. Otherwise you will not be able to open the file in Netdraw.
9. Rename the file extension to vna and open in Netdraw.

Monday, January 31, 2011

Building the orientation area of my Philippine History game project

The biggest problem that I have seen in the virtual worlds that I have visited is the emptiness of the world. It's not that there is nothing there, sure there's lots of prim buildings and signs. But there's no avatar around.  Sometimes one would teleport in or fly around but would immediately teleport out again.

This is the reason why NPCs are important. They could alleviate some of the loneliness and stress associated with being alone in a world. Unfortunately the NPC module of Open Simulator 0.7.x is broken. And even the functioning module in an earlier version needs a to improve, especially in the persistence of attachments.

The only solution that I was able to come up with is to create cut-out figures and use greeter scripts as a temporary substitute. What I did is I created my character avatar, then took a snapshot in green screen.

Greeter cut-out
I then created a texture for a prim by adding alpha channels. Then used it on a simple box prim.  Btw. any resemblance to anyone living or dead is not intended. I just played with the appearance sliders to come up with a look that differs from the default avatar Ruth.

Then I combined the Who_touched_me.lsl and VERY_SIMPLE_GREETING_Script_by_Jester_Knox.lsl greeter scripts. So whenever an avatar comes close or touch the cut-out it will say something. Greet, give info, or a quest.

Landing zone of the Orientation plaza
In addition to a greeter I put HyperGates in the orientation plaza that will serve as a time machine that will teleport students to the themed regions. Textures for the rings are from the Astria Porta Stargate. I replaced the scripts since I'm only using a standalone sim (and have no need for hypergrid teleportation) with a simple teleporter that uses OsTeleportAgent().

The booth near the greeter is a Sloodle Enrollment booth.

Hopefully when the NPC module is fixed I can replace these cut-outs.

Thursday, January 20, 2011

Ego networks as a measure of performance in a forum

Whenever I think of online forums in a course I think of the I Love Lucy chocolate assembly line skit. In a very active forum it is very difficult to keep up and get an overview of your performance.

This is specially difficult for a distance education teacher who is trying to monitor the performance of his/her students. How do we know that we are spending more time on one student and forgetting others. In the preceding posts I pointed out that isolates are a good measure of triaging assistance to students who cannot keep up with the forum. Another measure may be ego networks.  With it, a teacher could easily spot with which student he/she is not interacting enough with, and which student he/she is spending too much of his/her time with.

Here is a toy graph of 13 nodes to illustrate my point.

toy graph
By isolating the ego network (distance=1) we can see below that the teacher is only able to reach 6 students (50%) directly.

ego network
Clearly you can easily spot the students whom you will need to give your scarce attention to by looking at your ego network in context below.

ego network in context

Download toy graph dataset and open with Gephi: (22.85 kb)


Ego networks in Hanneman, Robert A. and Mark Riddle.  2005.  Introduction to social network methods.  Riverside, CA:  University of California, Riverside ( published in digital form at ). Available at

Saturday, January 15, 2011

Gephi has improved a lot

Gephi, an open source visualization software has improved a lot lately with their 0.7 beta release. I did not use this before because it could only create graphs and not analyze them, but now thing are looking quite good.

It appears to even have tools to merge datasets. It also has ability for time slicing.  :-D I will explore this further later on.

What we need now is for Moodle forums to be able to export node-tie data in GEXF format (Gephi's native file format). They also seem to have a flash viewer that can be put in a Moodle plugin, server side called GEXF Explorer. If this is correct all the pieces needed to come up with a periodic graph visualization tool for Moodle forums is there.  I think the best solution is simply to access Moodle's forum database for user id, post and reply data and come up with a page that allows server side visualization and export to GEXF for offline analysis. I don't think analysis should be done server side as it would slow down Moodle. It could be done if there is a dedicated server doing the number crunching.

By taking advantage of Gephi's dynamic data attributes the user can select a time period for analyzing data in a dropdown box, let's say daily, weekly, or monthly.

An additional improvement on tie-node data gathering for the Moodle forum is to have a filter that will parse nicknames like @John for John Doe. When a user types @John the editor will display somewhere (e.g. a block maybe) an offer to associate @John with another user e.g. John Doe, John Deer etc. Then the nickname @John or an image icon can appear in a cloud block so that the poster can simply click on that to insert a nickname. The filter will then insert a node-tie tag that identifies @John with John Doe. Example is when Jane Little replied to Peter Potamus' post but added a reply to John's other post in the post body. Then the filter can tag the reply to John as @John<displaytext="@John" userid="123" username="John Doe">. The from data can be taken from the reply user id.  This way we do not have to do content analysis to find lost ties.

The question now is who's willing and able to code this Moodle third party plugin?

Thursday, January 13, 2011

Would an online forum network survive the absence of a facilitator?

This question came to mind while I was musing over the establishment of the Internet. The Internet was designed as a network supposedly to survive a nuclear attack. That is if one or a cluster of servers are hit, the rest of the network will still function.

So I thought about how this idea applies to a social network in an distance education online forum. Would an online forum network survive the absence of a teacher/facilitator? And a related question is, what structure of a network will continue to allow discussion and sharing of ideas among students even if the facilitator is absent?

A few toy graphs may shed light on these issues.  So in this post I will talk about the instructions that teachers give in an asynchronous discussion activity and its possible effect on the social network of students. Then I will look at the structure of the CCK09 forum 1 network without a facilitator.

The first scenario for an online forum activity for a distance education course would have the following direction from a teacher: Each student should post to the forum.

If this instruction is given, and in my experience with undergraduate students, the students would just post a new discussion each work and ignore their peer's work. This would then result in the following graph (or non-graph).

Toy graph 1

Toy graph 1 shows nodes only, it has no ties and the average degree is zero.  What is the degree? The degree of a node is number of ties pointing in and out of it. In a graph with edges but without arrow heads (direction) the ties pointing in and out from the other node is counted as one. Toy graph 1 is not a network at all. Students speak pass each other, there is no sharing of ideas. If the teacher is removed, it would not matter at all since there is no discussion anyway.

toy graph 2
Second scenario would have this instruction: The teacher will post a question/issue at the beginning of the forum and each student is expected to reply. At minimum, this will yield one reply from each student. It has an average degree of 1.6. In toy graph 2 above, teacher x is at the center of a star cluster. If we remove the teacher then the graph degenerates into the following with an average degree of zero.

toy graph 2b

Clearly this is the same as toy graph 1. The network did not survive the absence of the teacher.

Third scenario is what we call a complete network, i.e. wherein every node is connected to every other node. The toy graph below has an average degree of four.

toy graph 3

If we remove the teacher from toy graph 3, the network's average degree drops to 3 but it is still a complete network. The network survives the absence of the teacher.

toy graph 3b

Let us now take a look at CCK09's forum 1. The average degree of its social network is
3.7. When the facilitator is removed from the network the average degree is 3.5. The graph without the facilitator is below.

original forum 1 network, n=71, average degree = 3.7
forum 1 without facilitator, n=70, average degree = 3.5

I'd say this is a rather healthy online forum network. But with a total node of 70 minus the facilitator it could still be improved.

BTW the network property of average degrees falls under network cohesion.

How to get the degree of each node in Netdraw. I can't seem to find any facility for reporting averages in Netdraw. So it will cumbersome to do this in Netdraw with a large network. With a small network click on Analysis -> Centrality measures. Then click on the right panel. Select the Nodes tab and in the dropdown list select and select Degree. You will get a list of degrees in the network.

I think the average degree is equal to the product of the nodes and their respective degrees, divided by the total of nodes.

The total nodes will be displayed at the bottom of the right panel. In toygraph 2, the total nodes is 5. Then to get the number of nodes per degree unselect all check boxes and reselect one by one. Watch this bottom panel for the total nodes per degree cluster.

In toygraph 2 there are four nodes with 1 degree, and 1 node with four degrees. Multiply and sum and there are a total of 8 degrees in the network. Then divide by 5 (total nodes) and you get a 1.6 average degree.

Of course when you look at the network majority of the nodes have a degree of 1 and there is no node with a degree of 1.6. This shows why looking at the graph is as important as calculating average network properties. Be that as it may the average degree is still useful for comparing networks.


vna files of toy graphs (1.42 KB)

Wednesday, January 12, 2011

Comparison of CCK09 and CCK08 (Moodle) stats

Table 1: Comparison of number of Moodle forums participants in CCK09 and CCK08

Forums CCK09 New Participants CCK09 Total Participants % CCK08 Total Participants %
INTRO 114 166 86.01 501 93.30
GD 3 12 6.22 165 30.73
1 44 71 36.79 83 15.46
2 25 50 25.91 61 11.36
3 21 40 20.73 48 8.94
4 11 27 13.99 28 5.21
5 19 37 19.17 42 7.82
6 10 20 10.36 30 5.59
7 9 19 9.84 25 4.66
8 8 23 11.92 85 15.83
9 8 17 8.81 28 5.21
10 13 27 13.99 24 4.47
11 12 17 8.81 35 6.52

29 5.40
TOTAL 130 193 100 537 100

Chart 1: Comparison of number of participants in CCK09 and CCK08 Moodle forums

Table 2: Comparison of posts in CCK09 and CCK08 Moodle forums

Forums CCK09 Total Posts CCK08 Total Posts
INTRO 508 1292
GD 52 1405
1 257 312
2 180 316
3 178 453
4 96 138
5 228 271
6 76 112
7 38 132
8 71 261
9 61 146
10 142 88
11 49 153
TOTAL 1936 5198

Chart 2: Comparison of posts in CCK09 and CCK08 Moodle forums

Table 3: Comparison of isolates in CCK09 and CCK08 Moodle forums

Forums CCK09 Isolates % CCK08 Isolates %
INTRO 47 28.31 179 35.73
GD 1 8.33 3 1.82
1 3 4.23 0 0
2 1 2 1 1.64
3 1 2.5 0 0
4 4 14.81 0 0
5 0 0 1 2.38
6 2 10 0 0
7 1 5.26 1 4
8 1 4.35 1 1.18
9 0 0 2 7.14
10 1 3.70 0 0
11 4 23.53 0 0

0 0
TOTAL 30 15.54 123 22.91

Chart 3: Comparison of isolates in CCK09 and CCK08 Moodle forums

Tuesday, January 11, 2011

Basic statistics on CCK09

Table 1: Forum participants in CCK09

Forums CCK08 Group CCK09 Group Participants Participants (%)
INTRO 52 114 166 86.01
GD 9 3 12 6.22
1 27 44 71 36.79
2 25 25 50 25.91
3 19 21 40 20.73
4 16 11 27 13.99
5 18 19 37 19.17
6 10 10 20 10.36
7 10 9 19 9.84
8 15 8 23 11.92
9 9 8 17 8.81
10 14 13 27 13.99
11 5 12 17 8.81

TOTAL 63 130 193 100

In table 1 above, the CCK08 group are participants who attended CCK08 and reenrolled in CCK09.  The CCK09 group are new participants. This is based on the assumption that CCK08 veterans did not changed their names.

Chart 1: Forum participants in CCK09

Table 2: Frequency of Posts in CCK09

Forums Starting Posts Replies Total Posts
INTRO 166 342 508
GD 5 47 52
1 35 222 257
2 18 162 180
3 21 157 178
4 10 86 96
5 10 218 228
6 8 68 76
7 7 31 38
8 11 60 71
9 4 57 61
10 10 132 142
11 26 23 49

TOTAL 331 1605 1936

Chart 2: Posts in CCK09

Table 3: Isolates in CCK09

Forums Participants Isolates %
INTRO 166 47 28.31
GD 12 1 8.33
1 71 3 4.23
2 50 1 2
3 40 1 2.5
4 27 4 14.81
5 37 0 0
6 20 2 10
7 19 1 5.26
8 23 1 4.35
9 17 0 0
10 27 1 3.70
11 17 4 23.53

TOTAL 193 30 15.54
Isolates are participants who posted but received no replies. They will appear as isolated nodes without links in a network graph. The identification of isolates in a couse is important for teachers to triage their assistance to students.  Table 3, column 4 shows the percentage of isolates per forum.

Chart 3: Isolates in CCK09

Creative Commons License
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.