I am little conversant with Linux environment and have installed GNUDebianRoot app from play store.
Is it possible to complete the courses on only mobile? I am being able to do almost everything right now, which a desktop can perform.
The phone has 2GB RAM and screen size is 5".
You can get a cheap Chromebook for $200, stick Ubuntu on it (https://www.lifewire.com/install-linux-on-chromebook-4125253), and finish both those EdX courses, probably before you can even get R and Python running on your phone. Plus you will be more motivated to finish the courses, having spent $200 and therefore proven your commitment.
If even $200 is too much, I guess you have to ask what you're doing with your life... maybe getting a stable job should take priority.
also, while I could buy a Chromebook definitely, hundreds of millions of people are not as much previleged as myself, but so many of them would have this burning desire to build something new, to learn programming. can they do it?
But it is going to be much, much harder to learn how to program anything with any decent level of complexity. Writing everything in a single file? Sure. Writing a java app which has 20 classes? Sounds like hell.
And while linux terminal isn't really programming, sending key combos like ^d sounds terrible on a phone keyboard.
Something else that PCs are much better at is context switching. Being able to alt+tab to documentation, or having that documentation on another monitor would be way better than having to switch back and forth. Although that can be remedied somewhat by using a book as a reference.
Something as simple as typing a constant in Java becomes much more difficult on a phone
private static final SOME_RANDOM_VARIABLE = RandomVariableFactory.getRandomVariable();
is not easy to write on most phone keyboards.
I think the biggest area that you'll struggle is that there isn't really any good IDE, or even editor out there.
I watch videos all the time on my phone which help me with programming. Those are easy. It's the actual doing and writing the code that will be a PITA on a phone.
May I ask why you're trying to program on a smartphone rather than picking up something like a cheap netbook?
Cheers!
Terminal apps like termux supplement the phone keyboard with a pane atop it with tab,ctrl,pipe buttons. Should be usable.
>there isn't really any good IDE, or even editor out there.
Vim and others are available as packages in gnuroot, etc. A shell and editor split with tmux should work.
Still very uncomfortable programming on a phone ofcourse.
the assignment i believe would not require typing very long and complex programs and may be if they do, i would try to do it in batches.
Once a person has learnt programming on a smartphone, she could graduate to work on an actual laptop or desktop.
But this is an experiment or a research project kind of thing, and it is too early to count the chickens.
Your phone is a terrible way to program...you will type 20x slower and see 10x less than a real screen. And you won't be able to quickly switch tabs, search Google, etc.
Just get a cheap laptop.
Also won't be able to debug responsive web apps, setup break points in chrome or firefox debugger etc etc. Will be quite a nightmare doing this on a smart phone, even if you have a bluetooth keyboard to speed up the typing...
For full-blown development, it's not really suitable. Your phone is best used for reading technical material and watching video content.
Even if you can program on mobile, it's going to be painful. Perhaps less so with an external keyboard and SSH into a cheapo VPS instance, but you're still going to take a substantial productivity hit.
May I ask why you're going this route?
For what it's worth, there's quite a few apps that teach programming or serve as reference. Some of them can run live code inline.
Just get a cheap desktop and keyboard on Craigslist. I've found ones for as little as 20USD. Or you might be able to use a Raspberry Pi, if you're into that.
And using termux+vim is definitely an IDE, but has a pretty damn steep learning curve.
You'll definitely want a keyboard
One thing to note probably is, he started very young. And in young ages people can learn very easily. I don't think I can learn programming in a smartphone in my current age. But for kids, whole different game.
You're not going to find the best algorithm in terms of computational complexity by coding. - Leslie Lamport
Clarke's Second Law: The only way of discovering the limits of the possible is to venture a little way past them into the impossible. - Arthur C. Clarke
... quotes from http://github.com/globalcitizen/taoup
and yes, thanks for the offer to, but it would cost you a lot to ship it all the way where I live.
but also, this is an experiment in pedagogy and Mobile learning. If tomorrow, I am staying at a place where bombs are exploding everywhere, it would be so much trouble to run with Bluetooth keyboard and the mobile both, rather than only mobile :-)
But I honestly don't know why they would do this because the incentives aren't extremely strong here. The vast majority of developer population across the world already has access to the tools mentioned earlier. If you are talking about the populations of the developing world who don't have access, then the companies in question would rightly ask what is the incentive for the effort required to target these populations when it's unclear how many of them would want to participate in this sort of activity.
That said I'd love to see mobile devices with environments as configurable as desktop linux, while giving you full control over the hardware, including even the radio reciever (if not the transmitter).
certainly no incentive for biggies here because time spent creation in mobile means, time not spent consuming which is ulterior to their motive.
Also I used Pythonista years ago and it was pretty cool. Looks like they’ve done a nice job of keeping it up to date.
- Pythonista 3 $10. Supports Python 2.7 & 3.5, stepthrough debugging, popular modules, and apparently it can access some iOS things like photos and sensors now too.
Website: http://omz-software.com/pythonista/
App Store: https://itunes.apple.com/us/app/pythonista-3/id1085978097
Can passion overcome constraints?
I just checked out the edx website now (never heard of it till now) but some of their courses look interesting, might check them out.
I doubt either SoloLearn or edx can make you a python or r master, but if you want to program in python, going over them + a few other tutorials and writing some test programs doesn't seem like a bad way to get started.
EdX courses are in truth, God send, hundreds of millions of people around the world have only mobile as a computer, if they can access EdX courses and simultaneously, in some way do those programming exercises on mobile itself, they would be so much better off.
I would definitely try out Termux, thanks so ever much!
If you hooked up a keyboard, used emacs or vim as an editor, you would likely be able to program enough to pass a intro to programming course (with significantly more difficulty than anyone on a computer). In theory you could do a fair bit of development work on your phone, but in practice it would be far too much friction to develop any real (i.e. more complex than intro to programming assignments) software.
hundreds of millions of people have only a smart-phone as a computer.
Don't do it.
pedagogical approach for mobile has to be completely different than the classroom ones, and that's what I am after.
Seeing that you have access to the internet I would second @rl3's suggestion about trying a (free or cheap) VPS service and SSHing to the machine, especially for snapshots, networking and better performance.
Also, if you can afford a vm in the cloud you could probably get an ssh client for your phone to log into it.
If you hook a Bluetooth keyboard to the phone you might just be able to really pull it off.
Edit; good luck :)