On February 22-24, 2012 in Manila, Philippines.
Website: http://www.icodel.org/home/
Wednesday, December 14, 2011
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:
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.
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 http://www.elearnspace.org/blog/2007/08/29/digital-immigrants-and-digital-natives/ (2007). A list of works criticizing the term can be found in Doug Holton's blog- http://edtechdev.wordpress.com/2010/03/19/the-digital-natives-digital-immigrants-distinction-is-dead-or-at-least-dying/ (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
by
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).
Downloads
Report
http://www.mediafire.com/file/ei3fb2b9haja388/CantadaProjectReportEbook.pdf (4.57 mb)
WIP OARs of the game
http://www.mediafire.com/file/qlew0zm3ws3v2pp/phgame1_2-8-2011.oar (15.22 mb)
http://www.mediafire.com/file/qb2377nriczm66s/phgame2_2-8-2011.oar (5 mb)
http://www.mediafire.com/file/cb7coc47ao29ydc/phgame3_2-8-2011.oar (10.44 mb)
Abstract
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:
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:
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.
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).
Downloads
Report
http://www.mediafire.com/file/ei3fb2b9haja388/CantadaProjectReportEbook.pdf (4.57 mb)
WIP OARs of the game
http://www.mediafire.com/file/qlew0zm3ws3v2pp/phgame1_2-8-2011.oar (15.22 mb)
http://www.mediafire.com/file/qb2377nriczm66s/phgame2_2-8-2011.oar (5 mb)
http://www.mediafire.com/file/cb7coc47ao29ydc/phgame3_2-8-2011.oar (10.44 mb)
Abstract
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:
- What are the affordable learning actions and constraints of educational games in general and games for learning history in particular?
- What production pipeline of design and development of educational games is appropriate for distance education teachers of Philippine history with meagre resources?
- There is little study on courses as games in distance education.
- In the context of connectivist learning theory there is no study of games as hubs for a personal learning environment (PLE).
- There is no available off the shelf game for teaching Philippine history.
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:
- It affords the linking and finding of historical sources.
- It affords role playing of historical characters.
- It affords reconstruction of history in multimedia.
- It affords the linking of game play with history.
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
- Browse a Moodle forum,
- Click the bookmark link to the SNAPP
- Copy the export tab-graphml data
- Paste in a text document with the extension .graphml
- 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 http://paaralan.blogspot.com/2011/02/workflow-of-merger-and-anonymization-of.html 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:
http://www.mediafire.com/file/u7mo4524kfkssgg/datasetscripts09.zip (3.11 kb)
Environment:
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/sitecustomize.py
#change default python system encoding
import sys
sys.setdefaultencoding("utf-8")
My sitecustomize.py. is included in the downloadable archive above. Backup your original file to sitecustomize.py.orig 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
./extractvna.py
if you cannot change permissions then you have to issue the following command in a terminal
python extractvna.py
3. Some possible errors
If you get errors like this:
Traceback (most recent call last):
File "anoncck09.py", 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 extractvna.py in a folder where the vna files will be saved. Let's say folder vna1.
5. Open extractvna.py 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
./extractvna.py
or
python extractvna.py
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 anoncck09.py in the same folder where you have the extracted vna files. The example above is vna1.
2. Open anoncck09.py in a text editor e.g. gedit then change the following values.
###CHANGEABLE 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
###END OF CHANGEABLE VALUES
3. open a terminal and issue the command
./anoncck09.py
or
python anoncck09.py
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 anoncck09union.py in the extracted vna folder.
2. Open anoncck09union.py in a text editor and change the following values
###CHANGE THESE 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
###END OF CHANGEABLE VALUES
3. open a terminal and issue the command
./anoncck09union.py
or
python anoncck09union.py
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 OpenOffice.org 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.
Python Scripts
Download the python scripts:
http://www.mediafire.com/file/u7mo4524kfkssgg/datasetscripts09.zip (3.11 kb)
Environment:
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/sitecustomize.py
#change default python system encoding
import sys
sys.setdefaultencoding("utf-8")
My sitecustomize.py. is included in the downloadable archive above. Backup your original file to sitecustomize.py.orig 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
./extractvna.py
if you cannot change permissions then you have to issue the following command in a terminal
python extractvna.py
3. Some possible errors
If you get errors like this:
Traceback (most recent call last):
File "anoncck09.py", 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 extractvna.py in a folder where the vna files will be saved. Let's say folder vna1.
5. Open extractvna.py 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
./extractvna.py
or
python extractvna.py
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 anoncck09.py in the same folder where you have the extracted vna files. The example above is vna1.
2. Open anoncck09.py in a text editor e.g. gedit then change the following values.
###CHANGEABLE 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
###END OF CHANGEABLE VALUES
3. open a terminal and issue the command
./anoncck09.py
or
python anoncck09.py
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 anoncck09union.py in the extracted vna folder.
2. Open anoncck09union.py in a text editor and change the following values
###CHANGE THESE 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
###END OF CHANGEABLE VALUES
3. open a terminal and issue the command
./anoncck09union.py
or
python anoncck09union.py
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 OpenOffice.org 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.
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.
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.
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 |
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 |
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.
By isolating the ego network (distance=1) we can see below that the teacher is only able to reach 6 students (50%) directly.
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.
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 |
![]() |
| ego network |
![]() |
| ego network in context |
Download toy graph dataset and open with Gephi:
http://www.mediafire.com/file/m4rq3eenkdb4949/toyego1.gephi (22.85 kb)
References:
Ego networks. Available at http://www.analytictech.com/networks/egonet.htm.
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 http://faculty.ucr.edu/~hanneman/ ). Available at http://www.faculty.ucr.edu/~hanneman/nettext/C9_Ego_networks.html.
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?
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 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.
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.
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.
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.
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.
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.
Download:
vna files of toy graphs (1.42 KB)
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 |
![]() |
| 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.
Download:
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
Chart 1: Comparison of number of participants in CCK09 and CCK08 Moodle forums
Table 2: Comparison of posts in CCK09 and CCK08 Moodle forums
Chart 2: Comparison of posts in CCK09 and CCK08 Moodle forums
Table 3: Comparison of isolates in CCK09 and CCK08 Moodle forums
Chart 3: Comparison of isolates in CCK09 and CCK08 Moodle forums
| 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 |
| 12 | 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 |
| 12 | 119 | |
| 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 |
| 12 | 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

















