Edit: January 2015
It is again that time of the year where we are getting ready to run our Begin Programming MOOC. I've been going through some of the guides I did and found that actually FutureLearn had listen to us and have improved functionality.
Now you can find replies to your posts! here is how.
Click on Replies as shown below
Tuesday, 23 September 2014
Saturday, 14 June 2014
#ocTEL2014 - Week 3 - Materials & Platforms for Learning Technology
This week's TEL One activity is to
Take the perspective of a learner and spend some time using:
- one resource from Khan Academy’s YouTube videos
- one resource from ElearningExamples e-learning games
- the iEthiCS simulation.
- What elements of these do you think are appealing to different learners?
- What learners, if any, would they be inappropriate for and why?
- How do each of these resources differ from that of the resources we’re using in ocTEL? Do they promote social learning, re-use of their materials, or open access?
- What ways can you see to improve the effectiveness or potential reach of these resources?
I looked at "Origins of algebra" and "Introduction to variables" videos on Khan Academy.
Khan Academy Logo from https://www.kastatic.org/images/missing-leaf.png |
To me, they seem to present material using a coherent story with attractive visual aids. However, beware that this can be a very biased view given the sample I have used is not at all representative of the thousands of videos also I am familiar with both topics.
I think this type of videos will be appealing to younger generation (say below 25) and would be good for introductory materials. From my experience in our FutureLearn course "Begin Programming:build your first mobile game", which attracted over 48 thousand entrants over two runs, many elderly participants preferred reading materials to videos. However, I am unable to back this up with evidence from post-course surveys as we have not got the demographic details captured in them. Nevertheless, during course discussions over and over again we saw that elderly participants (mostly leisure learners) many of whom were the Open University alumni preferred reading materials to videos.
* One good thing about these videos are they give you a "quick view" to the topic, serving a similar purpose like Wikipedia. However, does this encourage deep learning I don't know.
* These are stand alone resources - OERs. So there is no way to interact and ask questions. Well in a way you can use the comments.
* But as the Khan academy founder said in his TED talk, you can pause, replay and listen multiple time which is good for learners who may be struggling to grasp the subject matter or the language.
These pros/cons have been already discussed in the ocTEL forum by Teresa MacKinnon @warwicklanguage 's articulative post.
With my developing country research experience, one major problem with this type of resources is that they require large data volume downloads. During my PhD research I got to know that in Sri Lanka, the internet access centres set up by the government's Distance Education Modernization Project had blocked access to YouTube website because of bandwidth issues (You can read more about my findings in my blog "Using non-Personal Computers for eLearning" or the research paper "Using non-Personal Computers for eLearning: Sri Lankan Experience" published in the Journal of Education and Training Studies).
The resource being offered in video format reduces its reach to many learners who do not have good internet connectivity. I suppose one way to increase the reach for this resource could be to provide it in various formats: transcripts with illustrations;audio download and video.
I think this type of videos will be appealing to younger generation (say below 25) and would be good for introductory materials. From my experience in our FutureLearn course "Begin Programming:build your first mobile game", which attracted over 48 thousand entrants over two runs, many elderly participants preferred reading materials to videos. However, I am unable to back this up with evidence from post-course surveys as we have not got the demographic details captured in them. Nevertheless, during course discussions over and over again we saw that elderly participants (mostly leisure learners) many of whom were the Open University alumni preferred reading materials to videos.
* One good thing about these videos are they give you a "quick view" to the topic, serving a similar purpose like Wikipedia. However, does this encourage deep learning I don't know.
* These are stand alone resources - OERs. So there is no way to interact and ask questions. Well in a way you can use the comments.
* But as the Khan academy founder said in his TED talk, you can pause, replay and listen multiple time which is good for learners who may be struggling to grasp the subject matter or the language.
These pros/cons have been already discussed in the ocTEL forum by Teresa MacKinnon @warwicklanguage 's articulative post.
With my developing country research experience, one major problem with this type of resources is that they require large data volume downloads. During my PhD research I got to know that in Sri Lanka, the internet access centres set up by the government's Distance Education Modernization Project had blocked access to YouTube website because of bandwidth issues (You can read more about my findings in my blog "Using non-Personal Computers for eLearning" or the research paper "Using non-Personal Computers for eLearning: Sri Lankan Experience" published in the Journal of Education and Training Studies).
The resource being offered in video format reduces its reach to many learners who do not have good internet connectivity. I suppose one way to increase the reach for this resource could be to provide it in various formats: transcripts with illustrations;audio download and video.
Wednesday, 4 June 2014
PhD Experience: I wish I knew....
Recently I participated in a session for Post Doctoral Researchers on supervising PhD students. Along with me there were about 20 attending the workshop. One of the first activities we had was to list down the best and worst three experiences of our PhD journey (relating to supervision). I've said this before and I am saying this again, I had the best supervisory panel that a student could ask for. I started with two supervisors: Prof. Andrew Adams as my first supervisor and Prof. Naz Rassool as my second supervisor and ended with three: Prof. Shirley Williams as my first supervisor with Andrew and Naz as my second supervisors due to change of circumstances. All three supervisors are unique in their own ways and experts in their area. As I was working across disciplines it was so enlightening to have had such a brilliant combination of supervisors. They were so supportive through out and even after completing my PhD I am still collaborating with them on various publications. Given my extremely positive experience throughout, I found it very difficult to come up with 3 worst experiences.
CC Image by: Alfin Flare https://www.flickr.com/photos/alexnormand/8328050009 |
However, not everyone in the workshop has had such positive experiences;I felt sorry for some of the people who have had tough time. I did have difficulties during my PhD not due to supervision I received but due to my own personal circumstances, for example caring for baby twins.
Participants listed things that they thought would be helpful had they known it earlier. From my notes I am noting them here hoping that someone will benefit from them.
Year 1
Start writing early
Use your time off
There is nothing called criticism it is all feedback
It is not Nobel prize - it is an apprenticeship
Having right resources
Year 2
Time spent planning is never wasted
You don't have to do it - if you don't want to
It is OK to disagree with supervisor
Year 3
You never actually finish it - learn to write up - it is good enough
Think hard about disagreeing with supervisor (you may have missed the point)
PhD isn't the end
First chapter will be full of red ink
Wednesday, 21 May 2014
#ocTEL2014 - Approaches to Learning: deep, strategic, and surface
Learning styles is a contentious topic and #ocTEL does acknowledge it. However, Week -2 'if you only do one thing' activity is :
to think about the general idea of ‘approaches to learning’ in relation to online learning. Questions for consideration are:
I really liked the blog post by @chcoll on the lines "Deep" learning is not the ideal. I tend to change my style of learning all the time depending on what I want at that point. If I wanted to quickly learn something to do a task say I wanted to write a programme script for something in a language I am non familiar with, I would search to find a similar source code and modify it to my needs. I may not go into studying all the little details of the language but I would focus on what is needed at that point for me. Now is this a form of surface learning? Some may say that it is but, I see it as surface + strategic learning (extrinsic motivation to complete the task at hand).
As a creator/facilitator in a MOOC: I facilitated two runs of Begin Programming: build your first mobile game, a University of Reading MOOC on FutureLearn. In this beginner course we provide a game framework and explore various basic programming concepts each week by modifying the game. This video gives a brief overview of what we are doing.
In this course we used videos, articles, quizzes and discussions. When designing formative quizzes we used questions to check knowledge, the understanding they have and their ability to apply it to a different problem. In the 4th week (mid course) and at the end (7th week) we had dedicated discussion topics on reflection, in fact the 7th week of the course was all about consolidation, reflection and celebration. There is also a discussion in week 7 where we ask learners to think about one of the features in a game they like and try to deconstruct it - or think how programmers have developed the feature using building blocks that we teach in the course. This too in my view facilitates the higher order thinking skills that we expect from our learners. I think we sufficiently supported our learners to get knowledge, apply it, and reflect on their learning.
Now as a learner in a MOOC:
I am on a statistical programming course that runs these days on a popular MOOC site. I find the material to be good but even after you go through them you cannot do the assignment unless you have prior programming knowledge. The assignments are difficult and very vague (example, assignment explains 3 parts for the question and you are expected to submit answers to 10! to be fair on making this point in my blog, I asked one of my colleague at work to have a look at the assignment and and he found instructions to be 'appalling'). Submitting assignments is a total nightmare due to various technical difficulties. Once I submit the answers (somehow) I get told that the answer is 'Correct!' but I do not get full marks. As a learner I am interested to know even after my program identically matches the output required why it is not getting the full marks allocated (who would not?) - that is feedback. Then I would learn what I could have done better. But there is no mechanism to support that. (Also if I click and view feedback it says I have got 2.0/2.0 but when adding up I am only given 1.6/2.0 - inconsistency doesn't help either!) There may be technical difficulties but then could they not provide 'ideal solution' under the 'honour code' only for those who have submitted already? The course does not say a previous course run by the university is a prerequisite but then seem to 'assume' that everyone 'knows' them. To be fair, I've taken (and completed!) another MOOC on the same platform but in that too I observed similar issues. (I really hope not all MOOCs on this platform are like that and my experience is in the minority).
Biggs(1999) argues that
[g]ood teaching is getting most students to use the higher cognitive level processes that the more academic students use spontaneously (Biggs, 1999:58).
He suggests that to ensure learners reach the level of understanding generally achieved by 'academic Susan' (or learners who take deep approach to learning) teachers have to create more favourable and active learning opportunities for other ordinary learners. Not only that, he shows that assignments should align with teaching and that with the objectives set out in the course.
He shows that "[l]ack of alignment is a major reason why students adopt a surface approach to learning" (Biggs, 1999:69).
But sadly I think some MOOCs are not designed with these in mind - at least some of the ones I have taken. When this happens it may lead to unfavourable conditions for ordinary students while 'academic Susan' may still be able to excel.
References:Biggs, J. (1999). What the Student Does: teaching for enhanced learning, Higher Education Research & Development, 18(1), 57-75.
to think about the general idea of ‘approaches to learning’ in relation to online learning. Questions for consideration are:
- Have you seen any evidence of these different approaches in online contexts, e.g. in technology-enhanced courses you teach? How did these differences manifest themselves in terms of online learning behaviour?
- Are you leaning towards one approach in particular on ocTEL, and if so why might that be? Perhaps you are employing strategies from more than one approach?
- Are learners who tend to take a ‘surface’ approach likely to learn more or less effectively online versus face-to-face?
- How might we encourage ‘deep learning’ in online contexts?
I really liked the blog post by @chcoll on the lines "Deep" learning is not the ideal. I tend to change my style of learning all the time depending on what I want at that point. If I wanted to quickly learn something to do a task say I wanted to write a programme script for something in a language I am non familiar with, I would search to find a similar source code and modify it to my needs. I may not go into studying all the little details of the language but I would focus on what is needed at that point for me. Now is this a form of surface learning? Some may say that it is but, I see it as surface + strategic learning (extrinsic motivation to complete the task at hand).
As a creator/facilitator in a MOOC: I facilitated two runs of Begin Programming: build your first mobile game, a University of Reading MOOC on FutureLearn. In this beginner course we provide a game framework and explore various basic programming concepts each week by modifying the game. This video gives a brief overview of what we are doing.
In this course we used videos, articles, quizzes and discussions. When designing formative quizzes we used questions to check knowledge, the understanding they have and their ability to apply it to a different problem. In the 4th week (mid course) and at the end (7th week) we had dedicated discussion topics on reflection, in fact the 7th week of the course was all about consolidation, reflection and celebration. There is also a discussion in week 7 where we ask learners to think about one of the features in a game they like and try to deconstruct it - or think how programmers have developed the feature using building blocks that we teach in the course. This too in my view facilitates the higher order thinking skills that we expect from our learners. I think we sufficiently supported our learners to get knowledge, apply it, and reflect on their learning.
Now as a learner in a MOOC:
I am on a statistical programming course that runs these days on a popular MOOC site. I find the material to be good but even after you go through them you cannot do the assignment unless you have prior programming knowledge. The assignments are difficult and very vague (example, assignment explains 3 parts for the question and you are expected to submit answers to 10! to be fair on making this point in my blog, I asked one of my colleague at work to have a look at the assignment and and he found instructions to be 'appalling'). Submitting assignments is a total nightmare due to various technical difficulties. Once I submit the answers (somehow) I get told that the answer is 'Correct!' but I do not get full marks. As a learner I am interested to know even after my program identically matches the output required why it is not getting the full marks allocated (who would not?) - that is feedback. Then I would learn what I could have done better. But there is no mechanism to support that. (Also if I click and view feedback it says I have got 2.0/2.0 but when adding up I am only given 1.6/2.0 - inconsistency doesn't help either!) There may be technical difficulties but then could they not provide 'ideal solution' under the 'honour code' only for those who have submitted already? The course does not say a previous course run by the university is a prerequisite but then seem to 'assume' that everyone 'knows' them. To be fair, I've taken (and completed!) another MOOC on the same platform but in that too I observed similar issues. (I really hope not all MOOCs on this platform are like that and my experience is in the minority).
Biggs(1999) argues that
[g]ood teaching is getting most students to use the higher cognitive level processes that the more academic students use spontaneously (Biggs, 1999:58).
He suggests that to ensure learners reach the level of understanding generally achieved by 'academic Susan' (or learners who take deep approach to learning) teachers have to create more favourable and active learning opportunities for other ordinary learners. Not only that, he shows that assignments should align with teaching and that with the objectives set out in the course.
He shows that "[l]ack of alignment is a major reason why students adopt a surface approach to learning" (Biggs, 1999:69).
But sadly I think some MOOCs are not designed with these in mind - at least some of the ones I have taken. When this happens it may lead to unfavourable conditions for ordinary students while 'academic Susan' may still be able to excel.
References:Biggs, J. (1999). What the Student Does: teaching for enhanced learning, Higher Education Research & Development, 18(1), 57-75.
Tuesday, 20 May 2014
#ocTEL Week 2 Explorer - Learner Diversity
Try to find one example from your own practice, or an example or resource from elsewhere, that you think exemplifies good practice in taking a technology-enhanced approach to addressing a key aspect of learner diversity.
I am a team member of the Begin Programming: Build your first mobile game on FutureLearn platform (see a short video what we do here ). We offered our MOOC twice now and third run is scheduled for October 2014. In designing the MOOC we adapted good practice guides to cater to differently-abled students. We provided transcripts for all videos, made them accessible by reducing graphics and basically adhered to all the adviced we received from the platform.
However, in the first run of the course we realised that our participants who were hard of hearing had difficulty with videos because on introduction video for each week a background music was being played. We had about 18% of over 55s in our first run and this was a distraction for lot of them. The team got the videos redone for second run without music but this time we had a different issue. We had a colour blind learner with us and as you may have seen from the video above, the game framework we provide creates an app that is green and red - the worst colours for colour blind people as she put it. Luckily it was only a matter of customisation to change colours of the app and I answered her query for help within couple of minutes. But this showed us that despite adhering to guidelines of best practices still we can potentially exclude learners had our game not being customizable.
In the same course we had a different forms of exclusion due to learners being residing on countries/areas where either internet access was monitored and access to some sites were blocked or broadband access was not available. For example a learner from Cambodia complained that he was not allowed to download Java software from the website. We had other learners with narrow band internet access trying desperately to access videos. We were able to allow them access to download them but due to platform guidelines we were not able to offer them a low resolution version of the videos. Here where I live now (Reading, UK) broadband internet access is taken for granted. But that is not the case in most areas of the developing countries and in some rural parts of the developed countries. We have tried our best to feed our learners concerns and feedback to the platform and we hope there will be a solution to at least the video download problem in our third run.
Sunday, 11 May 2014
#ocTEL2014: Activity 0.1 Big and Little Questions about Technology Enhanced Learning
I joined #ocTEL MOOC by Association for Learning Technology (ALT). However as always I am late! But this time not only because I was busy at work but also because I am doing another MOOC with Coursera that also run concurrently - actually two but due to the difficulty of accessing materials on my mobile I gave up one of them. Two weeks behind I am trying to catch up.
Week 0 we are asked to
I come from a developing country where access to technology is scares (not merely physical access but also skills, language etc). My PhD work was also on this topic and with that background I always question the accessibility of learning materials when technology is involved. Don't get me wrong that I am against the use of educational technology - far from it.
Reading Sue Buckingham's post I think she poses a very important question.
But thinking about what question matters to me most I realised my big question still is 'access'. By access I mean motivational, material, skills and usage accesses as defined by van Dijk in his book 'Deepening Divide'. So my big question is actually an umbrella question covering a lot of ground.
Week 0 we are asked to
reflect on your work experience and ambitions for developing your teaching
and
Can you identify the most important question about TEL that matters to you?I am currently working as a Research Assistant, heavily involved in creating, facilitating, and researching MOOCs. I do a little bit of teaching now but I have experience as a lecturer as well as a Teaching Assistant in Higher Educational settings. Apart from my professional work I enjoy exploring how children learn and my subjects are my preschool twins.
I come from a developing country where access to technology is scares (not merely physical access but also skills, language etc). My PhD work was also on this topic and with that background I always question the accessibility of learning materials when technology is involved. Don't get me wrong that I am against the use of educational technology - far from it.
The big question in the sky by Kevin Dooley - https://farm3.staticflickr.com/2672/3983181467_0c36538d82_z_d.jpg |
Reading Sue Buckingham's post I think she poses a very important question.
"Why when there is now so much evidence that our future graduates need to develop a range of digital skills and understand how to use these alongside social media to communicate and collaborate, do we not see all courses embedding opportunities for students to learn how to confidently and effectively develop digital literacies?"Another question is how do we keep up to date with the technology changes and get our students to do the same. In order to support students to gain the skills and develop the kind of digital literacies required of them educators need to be educated.
But thinking about what question matters to me most I realised my big question still is 'access'. By access I mean motivational, material, skills and usage accesses as defined by van Dijk in his book 'Deepening Divide'. So my big question is actually an umbrella question covering a lot of ground.
Thursday, 1 May 2014
Dipping my toes in the sea of 'Learning Analytics'
This morning I received data from our second run of Begin Programming: build your first mobile game. The data from previous run of the course was already with me but I had not been able to dig into them. So today I took my first steps into using RapidMiner for data analysis (using the knowledge I gathered from the FutureLearn Academic Network Workshop) and managed to run a process for sentiment analysis on user reflections.
The process showed me that out of the 300 comments I analysed 248 were positive and 25 were negative, which can be interpreted to say the majority of comments on course reflections were positive.
Image by: DigitalRalph https://farm8.staticflickr.com/7422/12938324815_a21c70e832_b_d.jpg |
However, as a researcher when analysing qualitative data, I do love to 'see' all of my data. I want to read the comments and get the minute details that may be 'lost' otherwise. But when the amount of data to be analysed is huge, for example data from a MOOC with many thousands of participants, these software tools provide an invaluable help.
My colleagues and I are doing a comparative analysis of our two runs of the Begin Programming MOOC. Now that I have taken my first steps into using RapidMiner may be I could use it as a tool to support us in our exploration. Now it is time for a hot chocolate....!
Saturday, 5 April 2014
#FLMobiGame - Learner Community
It is the final week of FLMobiGame 2nd run. We got almost 38,000 registered in our course and facilitating this course would have been impossible if it was not for the fantastic support offered by our 'FLMobiGame Alumni' and 2nd run participants, so a great big thank you for all of you.
The platform is being built and not a lot of support is offered for discussions (you know what I mean!). But even with all these limitations our participants took time to read through posts, look at others code (sometimes posted in code sharing sites and sometimes in discussions itself) and support them with their experience, sharing what helped them and in some instances directing them to other posts where similar issues were discussed. Some of our participants created blog posts showing how they enhanced the game for example to introduce sound effects (see Robert Last's blog here http://www.robsbots.org.uk/flmobigame/) while others introduced web resources, books etc that they found useful.
I think we have had great community support in the course. Looking at University of Reading's other Open Online Course data we can see a difference in our course. We as researchers are really interested in exploring how a community forms surrounding a course, what we (the educators) can do to support it effectively, and why some courses seem to have an effective community while others well... don't seem to have that effect.
Please take a minute to check here to support our work.
The platform is being built and not a lot of support is offered for discussions (you know what I mean!). But even with all these limitations our participants took time to read through posts, look at others code (sometimes posted in code sharing sites and sometimes in discussions itself) and support them with their experience, sharing what helped them and in some instances directing them to other posts where similar issues were discussed. Some of our participants created blog posts showing how they enhanced the game for example to introduce sound effects (see Robert Last's blog here http://www.robsbots.org.uk/flmobigame/) while others introduced web resources, books etc that they found useful.
I think we have had great community support in the course. Looking at University of Reading's other Open Online Course data we can see a difference in our course. We as researchers are really interested in exploring how a community forms surrounding a course, what we (the educators) can do to support it effectively, and why some courses seem to have an effective community while others well... don't seem to have that effect.
Please take a minute to check here to support our work.
Friday, 4 April 2014
Who Participates in MOOCs?
Massive Open Online Courses (MOOCs) are elearning courses that do not charge a fee to take part (at least for the basic offering) and generally no restrictions are imposed on student numbers. They have become very popular among online learners. Ideally MOOCs are accessible by 'anyone anywhere in the world'. So who takes these online courses?
Some interesting findings are here based on a survey on Coursera platform users (who have participated in University of Pennsylvania courses). The courses that were considered here included humanities, business, math and science, social science and policy courses.The results are from a large scale survey of with 34,779 responses.
The study reports that there is "significantly more males (56.9%) than females take MOOC courses (p<0.001)". Carefully observing the table shows it clearly. In the US there is slightly more females taking part in the courses but everywhere else there is a huge gap between the genders. Especially in the case of BRICS (Brazil, Russia, India, China, and South Africa). Another recent study (Ho et al 2014) on edX MOOCs have reported similar findings (for example the Circuits class only 13% females). Overall, in HarvardX and MITX courses only about 28% of participants were females.
Looking at the age group of females taking up MOOCs from the above table, it shows that in the developing countries it is mainly the young females who take part in courses. This could be due to them being more digitally literate and proficient in international languages than the older generation. But the trend is reversed in the case of US and OECD countries. What would explain this? Could this mean there is a widening gap between girls and boys in terms of digital literacy, computer skills, and/or access to the Internet in the developed world? Or could it be something else? The lack of awareness of such opportunities or their lack of interest in learning online? A recent post 'The girl with the thorn in her side – why aren’t there more girls in Computer Science?' claims that lot of female students in Computing in the UK are foreign students. There are lot of ourreach efforts especially for girls.
One could suggest that this is mainly due to Science, Technology and Maths subjects being offered by these institutions and even in the traditional enrollments females are under represented in these subjects or it could be females not responding to the questionnaire? But even then these are free courses so if someone is not sure whether it is really for you, may be MOOCs will be a good taster class or test drive. So why not try a MOOC?
At university of Reading we are offering a range of open online courses, including a course on Begin Programming: build your first mobile game (#FLMobiGame) a 7 Week MOOC. This is a fun but challenging course introducing basic programming concepts using Java and an Android mobile game. Each week you will learn a new concept in programming and will apply it to the basic game framework that we will provide you to create your very own personalized game. I created this video to show what we will be teaching each week. But you can change the background, images and may be create a space invader game or your puppy chasing rabbits!
When we trialed this course in October 2013 on FutureLearn BETA platform the 10,000 places in the course were filled within 24 hours. But only about 23.5% (of the people who responded to pre-course questionnaire) were female. At the moment we have over 37,000 enrollments on its second run. We are offering its third run October 2014 and if you are interested you can join here, remember it is FREE and all are welcome :)
References:
Christensen, G., Steinmetz, A., Alcorn, B., Bennett, A., Woods, D., & Emanuel, E.J. (2013). The MOOC Phenomenon: Who Takes Massive Open Online Courses and Why?, Retrieved from http://papers.ssrn.com/sol3/papers.cfm?abstract_id=2350964
Ho, A. D., Reich, J., Nesterko, S., Seaton, D. T., Mullaney, T., Waldo, J., & Chuang, I. (2014). HarvardX and MITx: The first year of open online courses (HarvardX and MITx Working Paper No. 1), Retrieved from http://papers.ssrn.com/sol3/papers.cfm?abstract_id=2381263
Some interesting findings are here based on a survey on Coursera platform users (who have participated in University of Pennsylvania courses). The courses that were considered here included humanities, business, math and science, social science and policy courses.The results are from a large scale survey of with 34,779 responses.
Who Takes MOOCs? (Christensen et al 2013, p10) |
Looking at the age group of females taking up MOOCs from the above table, it shows that in the developing countries it is mainly the young females who take part in courses. This could be due to them being more digitally literate and proficient in international languages than the older generation. But the trend is reversed in the case of US and OECD countries. What would explain this? Could this mean there is a widening gap between girls and boys in terms of digital literacy, computer skills, and/or access to the Internet in the developed world? Or could it be something else? The lack of awareness of such opportunities or their lack of interest in learning online? A recent post 'The girl with the thorn in her side – why aren’t there more girls in Computer Science?' claims that lot of female students in Computing in the UK are foreign students. There are lot of ourreach efforts especially for girls.
One could suggest that this is mainly due to Science, Technology and Maths subjects being offered by these institutions and even in the traditional enrollments females are under represented in these subjects or it could be females not responding to the questionnaire? But even then these are free courses so if someone is not sure whether it is really for you, may be MOOCs will be a good taster class or test drive. So why not try a MOOC?
At university of Reading we are offering a range of open online courses, including a course on Begin Programming: build your first mobile game (#FLMobiGame) a 7 Week MOOC. This is a fun but challenging course introducing basic programming concepts using Java and an Android mobile game. Each week you will learn a new concept in programming and will apply it to the basic game framework that we will provide you to create your very own personalized game. I created this video to show what we will be teaching each week. But you can change the background, images and may be create a space invader game or your puppy chasing rabbits!
When we trialed this course in October 2013 on FutureLearn BETA platform the 10,000 places in the course were filled within 24 hours. But only about 23.5% (of the people who responded to pre-course questionnaire) were female. At the moment we have over 37,000 enrollments on its second run. We are offering its third run October 2014 and if you are interested you can join here, remember it is FREE and all are welcome :)
References:
Christensen, G., Steinmetz, A., Alcorn, B., Bennett, A., Woods, D., & Emanuel, E.J. (2013). The MOOC Phenomenon: Who Takes Massive Open Online Courses and Why?, Retrieved from http://papers.ssrn.com/sol3/papers.cfm?abstract_id=2350964
Ho, A. D., Reich, J., Nesterko, S., Seaton, D. T., Mullaney, T., Waldo, J., & Chuang, I. (2014). HarvardX and MITx: The first year of open online courses (HarvardX and MITx Working Paper No. 1), Retrieved from http://papers.ssrn.com/sol3/papers.cfm?abstract_id=2381263
Tuesday, 25 March 2014
#FLMobiGame: Introduction to solving complex problems
Introduction to solving complex problems
Hide30 comments
So far we’ve looked at solving simple problems using conditional and looping constructs. But what if there is a complex problem where a combination of conditional and looping constructs have to be used? Or, multiple conditions and multiple looping constructs have to be used? In this tutorial we’ll cover how to tackle some of these problems by applying what you have learnt so far in the course.
Consider a grading system with four different grades: A, B, C and D - where A is the highest grade and D the lowest. The system of grades is defined as shown below:
Grade | Marks |
---|---|
A | marks > 75 |
B | 50 < marks <= 75 |
C | 35 < marks <= 50 |
D | marks <= 35 |
The algorithm to determine the grade when a mark is given should go something like this:
- Line 1: Begin
- Line 2: Check marks
- Line 3: If mark is greater than 75 then Grade A
- Line 4: Otherwise,
- Line 5: if mark is greater than 50 but less than or equal to 75, then Grade = B
- Line 6: Otherwise,
- Line 7: if mark is greater than 35 but less than or equal to 50, then Grade = C
- Line 8: Otherwise, Grade = D
- Line 9: End
This algorithm has several conditional statements. First it needs to be checked whether the mark is greater than 75. If the mark is not greater than 75, there are many possibilities. So there are two more conditional checks within the ‘Otherwise’ part of the first conditional statement. Because these conditional statements are inside one another they are described as ‘nested’ conditions.
Implementing this in a Java program using ‘if’ statements would look like this:
int mark;
String Grade;
if ( mark > 75 )
Grade = "A";
else {
if ( (mark <= 75) && (mark > 50) )
Grade = "B"; /*in the above condition you do not need to check (mark <= 75) as we only get to this point if it is so. We have shown it here for clarification*/
else {
if ( (mark <= 50) && (mark > 35) )
Grade = "C"; /*similar to previous condition check we do not need (mark<= 50) here as execution gets here only if that is true*/
else
Grade = "D";
}
}
Now can you improve this program to check whether the value of ‘mark’ is non-negative? Not greater than 100?
To check the non-negativity you will have to add an additional condition
if ( mark >= 0 )
To check whether the mark is less than 100 you will have to add another condition
if ( mark < 100 )
But if you want to make sure the mark is non-negative AND less than 100 you can use this condition:
if ( ( mark >= 0 ) && ( mark < 100 ) )
Nested looping
Here’s an example of nested looping: Suppose we have the marks for a class of four students and we want to sort these into ascending order. An algorithm can be used to design a program to do this.
First, you need to identify the steps required to rearrange the marks into ascending order.
The array, representing the marks of the four students, should start out like this:
0 | 70 |
1 | 60 |
2 | 26 |
3 | 9 |
After sorting the elements into ascending order the array should look like this:
0 | 9 |
1 | 26 |
2 | 60 |
3 | 70 |
Pass 1:
0 | 70 |
1 | 60 |
2 | 26 |
3 | 9 |
Step 1: Compare the element at index 0 with element at index 1 (in this example 70 and 60). Then swap them over to sort the two values in ascending order.
0 | 60 |
1 | 70 |
2 | 26 |
3 | 9 |
Step 2: Compare the element at index 1 and index 2. That is 70 and 26. Now switch them around.
0 | 60 |
1 | 26 |
2 | 70 |
3 | 9 |
Step 3: The element at index 2 is compared with element at index 3. That is 70 and 9. Because 70 is greater than 9 you will have to swap them over.
0 | 60 |
1 | 26 |
2 | 9 |
3 | 70 |
At this point the largest value of all has reached its correct position. So in the next pass you don’t need to compare the last element.
Pass 2:
0 | 60 |
1 | 26 |
2 | 9 |
3 | 70 |
Step 1: Compare the element at index 0 with the element at index 1; 60 and 26 and swap them over.
0 | 26 |
1 | 60 |
2 | 9 |
3 | 70 |
Step 2: The next comparison is between the element at index 1 and the element at index 2; 60 and 9. Swapping is done to achieve ascending order.
0 | 26 |
1 | 9 |
2 | 60 |
3 | 70 |
At this point the next largest value (60) has also reached its correct place in the sequence.
Pass 3:
0 | 26 |
1 | 9 |
2 | 60 |
3 | 70 |
Step 1: the elements at index 0 and 1 ( 26 and 9 respectively) are compared and swapped.
0 | 9 |
1 | 26 |
2 | 60 |
3 | 70 |
The marks are now arranged in ascending order, so no more swapping is required.
Implementing nested looping
Two loops (nested loops) can be used to implement this program.
First, these values need to be stored in the program. The marks are whole numbers between 0 and 100, so you can choose from
short
, int
orbyte
as the data type. The byte
data type requires the least memory and, as it is sufficient to store this range of numbers, it would be the best choice here.
Four separate variables could be used to store this data, but this would be cumbersome. Because this data is of the same type, a single array can be used to store all of the marks. This would also allow this particular program to be easily reused for classes of different sizes.
‘n’ number of elements will be needed in the array where the ‘n’ is equal to the number of students. A byte array called
myArray
can be used to hold these values:for (int index1 = 0; index1 < 3 ; index1++) {
for (int index2 = 0; index2 + index1 < 3 ; index2++){
if ( myArray[index2] > myArray [index2+1]){
/*this means we need to swap the two elements*/
byte tempValue = myArray[index2];
/*store myArray[index2] in tempValue variable*/
myArray[index2] = myArray[index2+1];
/*assign myArray[index2+1] value to myArray[index2]*/
myArray[index2+1] = tempValue;
/*now assign myArray[index2]’s original value that was temporarily stored in tempValue to myArray[index2+1]*/
}/*end of if section*/
}/*end of for with index2*/
}/*end of for with index1*/
Pass 1:
index1 = 0
(Throughout Pass 1, index1 is equal to ‘0’)index2 = 0
0 | 60 |
1 | 70 |
2 | 26 |
3 | 9 |
index2 = 1
0 | 60 |
1 | 26 |
2 | 70 |
3 | 9 |
index2 = 2
0 | 60 |
1 | 26 |
2 | 9 |
3 | 70 |
Pass 2:
index1 = 1
(Throughout Pass 2, index1 is equal to 1)index2 = 0
0 | 26 |
1 | 60 |
2 | 9 |
3 | 70 |
index2 = 1
0 | 26 |
1 | 9 |
2 | 60 |
3 | 70 |
Pass 3:
index1 = 2
index2 = 0
0 | 9 |
1 | 26 |
2 | 60 |
3 | 70 |
The program has finished executing and the marks are now in ascending order. By creating an algorithm first each of the steps that were required to sort the marks into ascending order could be identified and a program could be created that performed these steps.
This sorting problem uses two nested
for
loops. It also has a conditional statement within a loop. These constructs can be used in a wide range of combinations to solve different types of programming problems.
When you use nested constructs it is a lot easier to make mistakes. When programs are not producing the desired output, you can use a debugger to check through the code to find where it is going wrong.
Subscribe to:
Posts (Atom)