#1
  1. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Aug 2011
    Posts
    2
    Rep Power
    0

    Teaching Programming In a Developing Country Using Mobile Devices


    Hello,

    Apologies if this is a strange question for the group.

    I work in a developing country with a University that is trying to teach computer science that has very limited conventional computer resources.

    However, mobile phones, like Nokia C3's, loads of Chinese models I have never heard of before (Nexian?) and others, are readily available. I had an idea to teach beginning programming skills, like simple logic and data structures, using the mobile phones.

    Can anyone suggest an application or run time environment where very simple programs can be run and print output to a file? Scripting languages are great. The point being that the phone can be used directly for programming. Do mobile phones usually support apps for such things?

    Any suggestions for information sources or platforms to look at will be greatly appreciated.

    Cheers,

    Brad
  2. #2
  3. No Profile Picture
    Lost in code
    Devshed Supreme Being (6500+ posts)

    Join Date
    Dec 2004
    Posts
    8,296
    Rep Power
    7170
    Do mobile phones usually support apps for such things?
    No, unfortunately there are quite a few things working against you in this respect:

    * Programming directly on a mobile phone is remarkably difficult because the syntax for most programming languages involves frequent use of special characters, which are difficult and time consuming to type on most mobile phones.

    * Until the relatively recent development of powerful smart phones (the iPhone/Android generation), mobile phones were simply not powerful enough to run interpreted scripting languages (and likewise not powerful enough to run a compiler on the phone).

    * Even for the most capable types of phones, almost all mobile application development is done on traditional computers and then transferred to the phone.

    * Since the target audience for cell phones does not generally need to be able to program their cell phones there has been almost no development in the area of programming languages designed to be written and run on the phone.

    * (At least in the US) Except for some high end smart phones, most mobile providers lock down their phones tightly to explicitly prevent people from running custom code on them. I think Apple might even place a restriction on the iPhone that prevents this entirely (which is why Flash is not available on the iPhone). I think this might be different in other parts of the world; I'm not sure about where you are of course.

    * There are a huge variety of different phone operating systems, which are mostly incompatible with one another.


    However, that said, it's not an impossible idea. I just checked the Android Market and I see two C compilers priced at $1.50 and a free Ruby interpreter. I suspect that Android phones will have better support for on-phone programming than any other phone due to their association with tech-culture and their relatively open nature. So, if you could get your hands on enough Android phones you could probably make do. Other phones possibly, but I doubt it.

    If you have access to graphing calculators you might be able to use those. Unlike cell phones, most graphing calculators are designed to allow on-calculator programming with some form of Basic.

    Another idea would be to set up a shared server where the programs are stored, compiled and executed. The server could be connected to a network, and the students could access it using the web browser on a phone. They could type in their program and submit to the server, where it could be compiled and executed, and the results displayed in the web browser. Obviously it's a security risk to allow the execution of remote code, however as long as the box is isolated and doesn't have any sensitive on it this would work pretty well. You could essentially use any programming language that you want.
    PHP FAQ

    Originally Posted by Spad
    Ah USB, the only rectangular connector where you have to make 3 attempts before you get it the right way around
  4. #3
  5. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Aug 2011
    Posts
    2
    Rep Power
    0
    Apologies for my late reply! Thanks for the response - I appreciate you taking the time to answer in such detail.

    Most people don't have the latest smart phone here. Like I mentioned before, Nokia C or E models are the usually the most advanced.

    You did give me a good idea to see if there is an HP calculator emulator app available. I have found one for the 48 G for a PC. Perhap I can find one for Nokia/symbian.

    Thanks again for the response.

    Brad

    Originally Posted by E-Oreo
    No, unfortunately there are quite a few things working against you in this respect:

    * Programming directly on a mobile phone is remarkably difficult because the syntax for most programming languages involves frequent use of special characters, which are difficult and time consuming to type on most mobile phones.

    * Until the relatively recent development of powerful smart phones (the iPhone/Android generation), mobile phones were simply not powerful enough to run interpreted scripting languages (and likewise not powerful enough to run a compiler on the phone).

    * Even for the most capable types of phones, almost all mobile application development is done on traditional computers and then transferred to the phone.

    * Since the target audience for cell phones does not generally need to be able to program their cell phones there has been almost no development in the area of programming languages designed to be written and run on the phone.

    * (At least in the US) Except for some high end smart phones, most mobile providers lock down their phones tightly to explicitly prevent people from running custom code on them. I think Apple might even place a restriction on the iPhone that prevents this entirely (which is why Flash is not available on the iPhone). I think this might be different in other parts of the world; I'm not sure about where you are of course.

    * There are a huge variety of different phone operating systems, which are mostly incompatible with one another.


    However, that said, it's not an impossible idea. I just checked the Android Market and I see two C compilers priced at $1.50 and a free Ruby interpreter. I suspect that Android phones will have better support for on-phone programming than any other phone due to their association with tech-culture and their relatively open nature. So, if you could get your hands on enough Android phones you could probably make do. Other phones possibly, but I doubt it.

    If you have access to graphing calculators you might be able to use those. Unlike cell phones, most graphing calculators are designed to allow on-calculator programming with some form of Basic.

    Another idea would be to set up a shared server where the programs are stored, compiled and executed. The server could be connected to a network, and the students could access it using the web browser on a phone. They could type in their program and submit to the server, where it could be compiled and executed, and the results displayed in the web browser. Obviously it's a security risk to allow the execution of remote code, however as long as the box is isolated and doesn't have any sensitive on it this would work pretty well. You could essentially use any programming language that you want.

IMN logo majestic logo threadwatch logo seochat tools logo