Showing posts with label #FLMobiGame. Show all posts
Showing posts with label #FLMobiGame. Show all posts

Saturday, 15 March 2014

#FLMobiGame: Linking to a Post on FutureLearn Forums


At the moment FutureLearn does not provide functionality to search forums other than the browser search facility. So there are difficulties to locate useful posts in the forums.
As a remedy we have asked our participants to 'like' the post if they found it useful. So that by sorting on likes, useful posts can be found.

I see that in many posts participant's say "I found XXX's post useful" but unfortunately without the ability to search this does not help much. So I thought of doing this blog to show how to provide a 'link' to a useful post in the forums.

(Edit: 1st June 2015)
This is what you can do:

1. Right-click on flag mark  below the post that you want to link to (shown below)
Right-click on flag


2. Now select 'Copy Link Address' from the pop-up menu

3. Paste the link on to the comment you are making
Paste the copied link to your post

4. Now delete the bit at the end of the link that says '/moderation_reports/new'.
Remove '/moderation_reports/new' at the end of the address URL
5. Now post your comment and it will have a link to the post you wanted to link to.

Wednesday, 12 March 2014

#FLMobiGame - Karsten Lundqvist wins Technological Innovation in Teaching Excellence Award

We all are delighted that our colleague, #FLMobiGame lead educator, Karsten Ă˜ster Lundqvist won 'Technological Innovation in Teaching Excellence Award' for his effort to flip the classroom in his 2nd year Java Module.

Unlike other teaching awards that are awarded by institutions, this award was offered by the RUSU (Reading University Students Union) and the nominations were made by students.

I managed to capture Karsten with his award at his office.



Wednesday, 4 December 2013

#FLMobiGame - Functions

On Week 6 we are discussing functions in #FLMobiGame. The function we are using in the game is quite lengthy so I thought I would show a small function in a java file to show where they are positioned. I will use blank functions to make the code shorter.

Line1: public class TheGame extends GameThread{
Line 2:          //Here all variables used in the game with 'm' prefix will be defined
Line 3:         //from here onward the functions will be defined
Line 4:         public TheGame(GameView gameView) {
Line 5:         }
Line 6:        public void setupBeginning() {
Line 7:        }
Line 8:       //there will be lot more code in between
Line 9:      //Collusion control between mBall and another big ball
Line 10:    private boolean updateBallCollusion(float x, float y) {
Line 11:       return true; //we are not doing anything but returning true here
Line 12: }
Line 13:}//this is the End curly bracket from Line 1

This Java tutorial explains returning values from methods. In #FLMobiGame we were looking at basics of programming, so we did not talk about Object Oriented Concepts. If you are interested in knowing more about Object Orientation you can have a look at these tutorials: OOConcepts; Classes and Objects

Monday, 2 December 2013

#FLMobiGame - Nested Loops in Programming

Nested constructs in programming are a powerful tool for a programmer. However, understanding them in the first instance is not the easiest thing. Here I am trying to explain a specific question that we have used in FLMobiGame which participants found difficult.

Line 1: int myInt = 0; 
Line 2: for (int index1 = 0; index1 < 3 ; index1++) { 
Line 3:   for (int index2 = 0; index2 < 3 ; index2++){ 
Line 4:       myInt = myInt +1; 
Line 5:       if (myInt == 7) 
Line 6:            myInt = 0; 
Line 7:     } 
Line 8: }

This example is written in Java and there are two loops one inside the other (nested loops). If condition is also within the inner loop.

Let us look at the execution of this programme now.
If the code was
Line 1: int myInt = 0; 
Line 2: for (int index1 = 0; index1 < 3 ; index1++) { 
Line 3:   
Line 4:       myInt = myInt +1; 
Line 5:      
Line 6:          
Line 7:      
Line 8: }

It would have been easier to understand.
This is the familiar one for loop that increments a counter inside it. So at the start index1 = 0 and until index1 < 3 it loops and increments myInt by one each time the loop is run. Here the loop will run when index = 0, index = 1, and index = 2; that is three times incrementing myInt to 3. That was easy. Now let us look at what happens when the second loop comes along.

Line 1: int myInt = 0; 
Line 2: for (int index1 = 0; index1 < 3 ; index1++) { 
Line 3:   for (int index2 = 0; index2 < 3 ; index2++){ 
Line 4:       myInt = myInt +1; 
Line 5:      
Line 6:          
Line 7:     } 
Line 8: }

Here inside the first for loop with index1 there is another for loop with index2.
Let us look at how this execute.
At the beginning in Line1 myInt is assigned a zero.
At Line 2 execution of first For loop commence. Now index1 is equal to zero and the condition index1 <3 is satisfied. So it goes into the for loop to execute the loop body or the block of code within this for loop.
When loop body begins execution there is another for loop (Line 3). So now the execution starts working on this inner for loop with index2.
At this point if we look at the problem in a different angle we are again faced with the familiar single loop

Line 3:   for (int index2 = 0; index2 < 3 ; index2++){ 
Line 4:       myInt = myInt +1; 
Line 5:      
Line 6:          
Line 7:     }

index2 starts with zero and as long as index2 is less than 3 the loop executes by incrementing myInt.
When the loop ends myInt will be incremented to 3 because this inner loop runs 3 times.
When we come to Line 7 after finishing the execution of the loop we again have to look at the bigger picture.

 Line 1: int myInt = 0; 
Line 2: for (int index1 = 0; index1 < 3 ; index1++) { 
Line 3:   for (int index2 = 0; index2 < 3 ; index2++){ 
Line 4:       myInt = myInt +1; 
Line 5:      
Line 6:          
Line 7:     } 
Line 8: }

When we get to Line 8 because we know it is the finish of first iteration of index1 for loop we need to go back to index1 loop again to check the condition. 
In this iteration index1 = 1 and index1<3 so we do the whole thing again. That is we go into the body of the index1 for loop and execute it. In this body we find the index2 loop and once again we execute this loop three times. Now myInt is 6 and we have finished index2 for loop execution for the second time round.
We go back to Line 8.
This shows that we are in the block of index1 for loop so we come back to Line 2 and now index1 is equal to two.
index1 is still < 3 so we go into the body of the for loop and find the index2 for loop.
We execute index2 for loop again in full and reach Line 8 for the third time. Now myInt has a value of 9.
This time round index1 is equal to 3 and then the condition index1<3 fails and the execution of the for loop finishes.
At this point we  have myInt with value 9.

I hope that the execution of nested for loops is now clear. 

But wait, our program has an if condition within the index2 for loop. We ignored it this whole time. Now let's put that in place too.

Line 1: int myInt = 0; 
Line 2: for (int index1 = 0; index1 < 3 ; index1++) { 
Line 3:   for (int index2 = 0; index2 < 3 ; index2++){ 
Line 4:       myInt = myInt +1; 
Line 5:       if (myInt == 7) 
Line 6:            myInt = 0; 
Line 7:     } 
Line 8: }

Both index1=0 and index1=1 iterations of the outer for loop myInt value does not get incremented to 7. Because at the end of second iteration of the index1 for loop myInt was equal to 6. 
In the next iteration - that is index1 = 2 iteration myInt gets incremented to seven.
Let's consider this iteration more closely.

We reach Line3 in the third iteration of index1 loop with index1 = 2 and myInt having a value of 6.
Line 3 for loop begins to execute.
When the index2 loop begins execution with index2=0 inside the body of index2 loop myInt gets incremented to 7 (Line 4). Now in Line 5 the 'if' condition is satisfied and myInt gets a value zero assigned to it.
Next iteration of index2 loop in this run increments myInt to 1 and third iteration increments myInt to 2.

index1 = 0
    index2 = 0; myInt = 1
    index2 = 1; myInt = 2
    index2 = 2; myInt = 3
index1 =1
    index2 = 0; myInt = 4
    index2 = 1; myInt = 5
    index2 = 2; myInt = 6
index1 = 2
    index2 = 0; myInt = 7 --> goes into if condition and gets reset to zero --> myInt = 0
    index2 = 1; myInt = 1
    index2 = 2; myInt = 2
So at the end of this program myInt has a value of 2.

Thursday, 14 November 2013

#FLMobiGame Unzipping Files on Windows

We found that some of our participants had difficulties with unzipping compressed (zipped) files. So again here I am doing a blog hoping that it will be of help. The guide here shows it for Windows operating system.

Step 1: 
Check whether you have a software installed to unzip files. You can do this by right clicking on the zipped (compressed) file and seeing the options available. In the right click menu if you do not get a software that you can use to unzip the file- probably you do not have a software installed for unzipping. If you do have a software then you can proceed to Step 3.

Some participants of the course complained that when they try to unzip passwords for unzipping was asked. For those of you we recommended using 7 Zip because it managed to do the trick. I use 7 Zip so I will show you how you can do it with 7 Zip.

Step 2: 
Download a software that is capable of unzipping files and install it in your computer.

Step 2.1: I am using 7 Zip (it is a free software) so here are the steps for that. Download 7 Zip from here http://www.7-zip.org/ Make sure you select the correct bit version either 32 bit or 64 bit.

Step 2.2: Now double click on the downloaded file to install it

Step 2.3: You may be prompted with a security alert asking whether you want to execute the program. Select 'Allow'

Step 2.4: You will see a screen similar to this. Select where you want to install the program (using browse button) - I use the default path. Then click 'Install'. Follow any screens necessary to install the software.
7-Zip Installation Screen
Step 3: Now you have a software capable of unzipping files installed in your system. Again right click on the compressed (zipped) file you want to unzip. You will be presented with a menu similar to this
Right click Menu
Step 4: Selecting 7-Zip will give you another menu to select from. I select 'Extract To' option where it will create a folder and extract (unzip) the contents of the zipped file into it.
Using Extract To option
Step 5: Now your compressed file should be unzipped.

Tuesday, 12 November 2013

#FLMobiGame Team Meeting Internet Pioneer - Dr. Vint Cerf

Dr. Vint Cerf (Google Vice President and Chief Internet Evangelist) paid a short visit to the School of Systems Engineering, University Reading today (12th Nov 2013). Despite Dr. Cerf's busy schedule, #FLMobiGame team and some of the research students got the rare opportunity to meet him after he met the staff at the School. The whole #FLMobiGame team was delighted to meet him and even more excited when he said that he would enroll on our MOOC on FutureLearn for the next run! Karsten started off the discussion by explaining what the MOOC was about. Here are some photos of the event (Photo courtesy: Helen Fisher)
Karsten Describing #FLMobiGame

Karsten answering questions
#FLMobiGame Mentor Maitreyee asking a question

Saturday, 2 November 2013

#FLMobiGame: Sharing Screenshots or images on FutureLearn Beta

At the moment FutureLearn Beta does not support uploading images in comments. However, because of the nature of our MOOC our participants may want to share their screenshots with us especially when we start programming concepts next week and the IDE starts complaining of errors. So we are going to propose a work around for the time being.

We are going to use a website called Postimage.org to store the images and use a link in comments to link to them. This website unlike many other photo sharing sites (such as Flicker) does not require an account. However, they do keep track of IP addresses and can track someone if the uploaded content is inappropriate (or copyright violated). In this blog I am going to describe how to use this site to upload your images and how to link to them in FutureLearn course comments.

Step 1:
Visit http://postimage.org/ website. You should see a screen similar to this:
Postimage.org website



Step 2:
Now Select the image to upload using the 'Browse' button.

Select the file to upload
Step 3:
For the purpose of demonstration I am uploading an image file name 'Untitled.JPG'. Once the file is selected you need to declare the image content. Select 'FAMILY safe'. Now click the 'Upload It!' button.

Select image content to upload
Step 4: 
Now you will be taken to a screen similar to this. At this point you are offered the option to create an account. But you do NOT need to create an account.

Copy Direct Link to Clipboard
Step 5: 
Click on the 'Copy to clipboard' button next to the 'Direct Link'. Now the link to your image is copied to the clipboard. When it gets copied for a split second a message is displayed as below.
Copied! Message shown for split second
Step 6:
In the FutureLearn forum where you want to include the image paste this link (CTRL+V) and post the comment.
Making the link available in FutureLearn comment
 Now using this link anyone can access the picture you have uploaded.

#FLMobiGame: Installation Guide and Corrections

We received lot of comments from our participants asking for a document guide on installation. In response to them we have created this guide (working document) in a hurry and sent the link via email to you on Friday (1st Nov 2013) afternoon. However, there was an error in the URL for downloading Game Framework and two of the screenshots have not been properly converted to PDF from the Word document. We are grateful for the participants for pointing them out to us and we have corrected this working document. However, currently we are unable to upload the document retaining the original URL to the platform so this blog will be used to direct our participants to the correct version of the install/setting up guide.

You can get the latest version of install/setting up guide from here.

Friday, 1 November 2013

#FLMobiGame: Using GitHub to share your source code

In a previous blog I described how to use Pastebin to share your source code. In this blog I am going to describe how to use GitHub Gists to share your source code. We need this work around because at the moment FutureLearn platform is in Beta release and does not support source code sharing in comments.

Step 1: 
Visit https://gist.github.com/
You will see a web page similar to this
GitHub Gists Website
Step 2: 
Select the source code that shows errors in your program and copy it (CTRL+C). Now paste it in the text box (CTRL+V). It would look something like this:
Paste your source code here
Step 3: 
You will notice that even though we see Java syntax highlighted in eclipse IDE here it is not. It is much easier to read the source code if syntax is highlighted. So let us make it so. Click on the down arrow near to 'Language' (shown in next figure). This will give you a drop down list. Select 'Java' from the drop down list because we are coding in Java.
Select Source code language
Step 4: 
Notice the syntax highlighting.
Syntax highlighted source code
Step 5: 
Now click on the 'Create Public Gist'.
Click Create Public Gist
Step 6: 
Now click on the 'Create Public Gist'. It will take you to the following screen
Copy Gist Link
Step 6: 
Now click on the select the whole text in 'Link to this gist' text box. (You can do this by clicking on text box and doing a CTRL+A). Now copy this link (CTRL+C).

Step 7: 
In your FutureLearn post (or comment) paste the link to your code.
Comment with GitHub Gist link
I hope this guide was useful, feel free to leave your comments.

Thursday, 31 October 2013

#FLMobiMOOC: Using Pastebin to share your source code

In this blog post I am going to describe you how to use Pastebin.com to share your code. At the moment FutureLearn is in Beta release and it does not provide the facility to share code snippets (also called sections of source code, parts of programmes etc) by pasting it to comments. But when we move on to Week2 onward on the MOOC we will be doing bit of coding, which unfortunately can go wrong and leave us with errors to correct. If the code that gives the error can be shared with us we would be able to resolve the issues more easily so in this blog I will describe using Pastebin as a workaround for the time being.

Step 1:
Go to www.pastebin.com
You will see an interface like this.

Step 2:
Now copy the code segment that gives you errors in your programme. Highlight the statement(s) and copy them to clipboard (you can press CTRL and C keys to copy). Now paste this code in the box highlighted in the below diagram. (You can press CTRL and V keys to paste).




Step 3:
I am going to paste some code and show it in the next illustration.



Unlike the code we see in Eclipse IDE this code block does not have syntax highlighted. But it is much easier to read code when the syntax is highlighted. So let's make the syntax highlighting now.

Step 4:
Click the down arrow in Syntax Highlighting. A drop down menu will appear. From this select 'Java'.







Step 5:
Leave other options as they are and click 'Submit'



Step 6:
Submitting the code will take you to a screen similar to this. Notice that the code you have pasted has its syntax highlighted. Now copy the URL by highlighting and pressing CTRL and C




Step 7:
In your comment on FutureLearn paste the URL copied from Pastebin



Now by clicking the given Pastebin URL participants and helpers can access the code.

Hope this guide helps you in using the tool Pastebin to share your code with others.

#FLMobiGame: Our MOOC facilitation team

University of Reading's first MOOC Begin Programming: Build your first mobile game on FutureLearn platform commenced on 28th October 2013. There are almost 10,000 people in the course and already we have seen thousands of posts in the virtual class. This looks like a truly global virtual class with participants from all continents: from Oceania, Europe, South and North Americas, Asia, Middle East and Africa. We will be able to share more details of the demographic distribution of our participants when we get the details from FutureLearn.

This being a programming course for beginners and first week dedicated for setting up software, we have so many queries and help requests from our participants. In facilitating our MOOC, we have a fantastic team of student helpers from upper years of the School of Systems Engineering, University of Reading supporting our learners.

Weekly we are meeting on Wednesdays to formulate a plan of activities and to discuss our experience with the MOOC. On our Week 1 meetup  Prof. Shirley Williams, who is overseeing the MOOC, brought us chocolate brownies to make sure we keep our energy levels high :)

I thought it is best to share a group photograph of our fantastic team. I am sure our participants too would like to see who is helping them in the virtual classroom.


(From the left: Front row - Maitreyee, Tharindu (me), Shirley, Agnieszka Second row - Charles, Karsten, Marcus, Alex, Last row - Plamen  and Ravi)

Wednesday, 30 October 2013

#FLMobiGame: Using FutureLearn Platform - Viewing Comments

In this blog post I am going to share some tips about using FutureLearn platform comments. These I found to be useful in keeping an eye on what is happening in the MOOC.

Edit : This post was edited January 2015 to accommodate the changes in FutureLearn user interface

Viewing all recent activity:

Click on 'Activity'.

Click on Activity

Once the Activity is clicked it will show all recent activity in the course. So this view is what I use mostly to keep track of all help requests and other comments made.


Viewing all comments made by you:

Well.. almost all comments (as of 20th Nov 2013 only 100 comments are shown).
Click on your profile on the top right corner.

This will give a menu and from this menu select 'My Profile'

It will show all posts you have made in the course

This will be easier way to keep track of your posts.

Viewing replies to your posts:

Click on Replies
Click on replies

Tuesday, 29 October 2013

#FLMobiGame: Download Begin Programming MOOC's Videos

Edit Oct 2014 -The FutureLearn Platform has been upgraded and the blog on newer instructions can be found here

Begin Programming: Build Your First Mobile Game MOOC offered by University of Reading went live yesterday. We had lots of comments from our participants. Many of them felt it would be useful to download our videos, especially with slow internet connections it can be very frustrating to watch videos online.

We requested FutureLearn and they have given us the functionality already. So in this blog I am going to explain how you can download videos from our MOOC.

In order to do this you must be logged into your account with FutureLearn.

Step1:
Go to the video you want to download. In this example I am using the first video in activity 1.1 - Welcome to Week 1.
Step 2:
Select 'Download this video' link to download it. If you want to save it, right click and select 'save as'.

Now your connection speed will determine how quickly you can download the video :)

Monday, 7 October 2013

Story Behind My Engagement with University of Reading MOOC


In one of my previous Blogs I talked about Planning and Creating a MOOC. The first MOOC offered by University of Reading is Begin Programming: build your first mobile game. Despite wanting to blog about our MOOC I had to be abide by an embargo on publicizing too much information before the launch event. Since the FutureLearn launch event was held 18th September now I am free to blog about our MOOC, Begin Programming: build your first mobile game.
We had submitted our MOOC Systematic Review to IRRODL and shared it within the University among our colleagues. Actually it was Prof. Shirley Williams who initiated this sharing and discussion. At the same time the University was interested in MOOCs and because everyone now knew that we had an interest on MOOCs we got the chance to get closely involved in the University's MOOC work. Several departments/schools within the University were interested in offering MOOCs but with strong leadership of Prof. Williams the School of Systems Engineering team got the chance to go ahead with the first MOOC.

Then came the painful task of creating content, which I along with Dr. Karsten, who is the lead lecturer in our Begin Programming MOOC did. We had various templates to fill in, create content, get involved in the quality assurance process and so on. We met at least twice a month, I think, to monitor the progress and the back stage content was developed. All the time Shirley was there with us providing guidance. Then we started the video shooting. Luckily for us Luke Micallef in the Digital Development team at the University came to our aid. With the University venturing into MOOCs, he became the dedicated Open Online Course Developer at the University and we got lot of help from him. Karsten was great in front of the camera and you can see that from this course trailer. Almost all the scenes were videoed in front of a green screen as you can see here. Luke did all the nice graphics etc to make these videos.

So this is our MOOC team from the left it is Prof. Shirley Williams, Luke Micallef, Myself and Dr. Karsten Lundqvist.



(Official Group Photograph: UoR Begin Programming MOOC team)

FutureLearn is still in its Beta stage. Since launching MOOC on 18th September within a day our Begin Programming MOOC has hit the target and now the we are offering registration for 2014 to people who could not get registered in for 2013 run. Now we are looking forward to meeting our MOOC participants and facilitating their learning from 28th October 2013.

Monday, 22 July 2013

Planning and Creating a MOOC

I have taken part in 3 Massive Open Online Courses so far and have been thinking how much of an effort would the course creators have had to put into the course to get all the resources prepared for running a MOOC.

I am lucky to be in one of the teams at the University of Reading creating MOOCs to be offered under the FutureLearn partnership. At the School of Systems Engineering - University of Reading I am working in Prof. Shirley Williams’ team along with Dr. Karsten Lundqvist and Luke Micallef (from the University’s Digital Development team) to create a MOOC.

It has taken us a lot of time to plan this course.  We recently recorded the first video for our MOOC and I managed to capture a few moments on my iPhone.


This recording was done in the state-of-the-art filming studio owned by the University’s Department of Film, Theatre & Television. I was more than impressed by the facility but had little idea how to operate any of the equipment. Luke did all the technical stuff while Karsten was the ‘star’ in the video.