
Ask HN: teaching basic coding and web design offline, solely via iOS devices? - benbreen
My wife recently began working with incarcerated young adults and the coordinator of the program she&#x27;s volunteering for is very enthusiastic about her potentially teaching the inmates web design and basic programming skills. The problem, however, is that the only devices available are 3rd gen iPads and there&#x27;s no internet access. I&#x27;m wondering if anyone has had experience teaching in an environment like this, and if any good options exist specifically for teaching basic coding and web design skills offline and on iOS. (I&#x27;m guessing that the most attainable goal for this project would be teaching them how to create and customize a Wordpress site, but more ambitious suggestions are welcome).
======
kayman
I recommend taking an analog approach. Use paper and pencil to teach them the
concepts. Use the computer as a way to demonstrate those concepts.

Old ipads without internet access will not provide the playground to create a
wordpress site. It's possible with external keyboard and some finaggling
around but you'll find you're spending too much time fighting technology.

Use pen and paper to teach them the architecture and first principles. Use the
ipads as a way for them to play with/write html code. For example use web
inspector tools to change a webpage on the fly and see the changes.

------
anandkulkarni
Ben - fascinating problem, and kudos to your wife for looking at this
question. There are analogous programs that have led to successful outcomes
here – ie, [https://thelastmile.org/](https://thelastmile.org/) These may have
useful learnings.

It's quite possible to teach sophisticated computer science without computers
at all, so the first question is what the most useful skillset will be. Basic
frontend engineering is probably the most in-demand skill today and allows
individuals to see their product on the web right away. Young inmates may also
be interested in coding as a path towards entrepreneurship and this can be
bundled into a curriculum.

You can code with just a text editor and view results in a web browser without
internet access.

Here are two apps that may prove useful as text editors:

1) [https://itunes.apple.com/us/app/diet-
coda/id500906297?mt=8](https://itunes.apple.com/us/app/diet-
coda/id500906297?mt=8)

2)
[https://itunes.apple.com/us/app/codetogo/id382677229?mt=8](https://itunes.apple.com/us/app/codetogo/id382677229?mt=8)

It may also be possible to take the iPads out and upload the content to the
web yourself, provided staff review & clear the content. This can lead to
effective outcomes.

-Anand

------
kristopolous
So I'm curious as to whether these were donated or whether there was some
state program which paid for them and if it was the latter, how the heck such
a purchase was justified.

iPads have the lowest productivity to cost ratio of any computing device -
probably up there with video game systems or burning bundles of money in large
piles.

Even if they were donated, I'd try to quickly sell them on the market and get
cheap traditional computers that can be used to teach real skill. You can get
working used laptops from ebay for $25 a piece with shipping; ~core2 with ~1GB
of ram and ~40GB of disk. Perfectly adequate machines.

That's ~40 computers for the cost of 1 iPad.

You could teach everything from how to type and use a word processor to
haskell and emacs on any of those.

~~~
thearn4
> iPads have the lowest productivity to cost ratio of any computing device -
> probably up there with video game systems or burning bundles of money in
> large piles.

I've generally been feeling the same way about tablets in general. Yet I see
so many schools around me using funds to procure them for the classroom. Is
there some educational use case for ipads that I've been missing?

~~~
seanmcdirmid
Textbook replacement. Turns out tablets are quite economical compared to dead
trees that become outdated or worn out fairly quickly. Not to mention tablets
are much easier on students' backs. Ignoring any computational aspect, tablets
are still a big win.

~~~
escherize
So, iPads are a physically lighter, and a better value than printed out text
books. So what? Netbooks are a better value prop there hands down. They weight
about the same, and obviously can display drm'd pdfs without a problem.

My guess is the non-technical people involved with ordering them think iPads
are sexy and cool.

~~~
helen842000
Having supported thousands of netbooks across 50+ schools I can say they are
an awful teaching tool.

They require constant maintenance and updates and installing software is a
nightmare. Remember these are being bought by schools where there probably
isn't even a full time I.T Technician on site and there is rarely the
infrastructure in place to automate any of the work.

Getting young children to simply log into a netbook can sometimes take most of
a lesson. After swapping out netbooks that have keys torn off, ones that
haven't been charged and ones that don't have the software installed - the
kids are frustrated and the lesson is over.

Fleets of iPads are much easier to manage. It takes 5 minutes for a teacher to
push out an app via an MDM platform to all iPads. The latest educational apps
out there are being built for iOS first. Best of all they are relatively virus
free. Also kids recognise them as being an expensive piece of equipment and
treat them with more care and are more enthused to use them.

iPads let you get straight into the content and the technology just gets out
of your way.

------
spdustin
For programming in Python, Pythonista is an amazing thing to behold:
[https://appsto.re/us/P0xGF.i](https://appsto.re/us/P0xGF.i)

As mentioned by another, Coda would be great for general web work:
[https://appsto.re/us/5KZ2D.i](https://appsto.re/us/5KZ2D.i)

A worthy endeavor, thanks for telling us about it.

------
legostormtroopr
I hate to rain on your parade by why not just teach basic math?

Its going to be much more useful than Web dev skills in the long run. Not all
the kids will get into tech, but they'll all need some basic math later in
life.

~~~
kbart
"Math" is a scary word for most of non-geeks, so it's hard to persuade people
to learn in. It's probably way easier to convince people by saying: "let's
learn making some cool webpages everyone can see (and earn tons of money(0))"
than "let's learn trigonometric algebra, you might need it sometime".

0\. or so they've heard

~~~
legostormtroopr
You aren't going to teach anyone anything of value about web development using
an iPad, especially one with no web access.

~~~
kbart
iPad is definitely a bad choice here (unless external keyboard is hooked up),
but you can teach basics even on paper just fine. Yes, probably you are not
going to teach them enough to make a living, but the key of inmate courses is
mostly to give them hope and show the other way of life, so when they are
released from prison, they would want to seek a proper education themselves.

------
digerata
I have mentored two middle schoolers in an independent study using Codea.
[https://codea.io/](https://codea.io/) It's great for that immediate feedback
loop when starting out.

If you weren't using iOS, love2d is great, as well.

------
BWStearns
One thing to think about with iOS devices is that you might be out of luck
with some good coding apps because of their App Store policies. I looked at
trying to get a python interpreter app on my iPad somewhere around a year and
a half ago (maybe two?) and at least then all of the apps had to be IDEs that
sent input to a remote server for execution because the App store didn't allow
arbitrary user input code execution in apps on the device. I wanted offline
operation so I was out of luck at the time, I wish you better luck.

~~~
epaga
Then you are in for a treat! Pythonista is AMAZING and I have no clue how Ole
Zorn got it past the App Store reviewers.
[https://itunes.apple.com/us/app/pythonista/id528579881?mt=8](https://itunes.apple.com/us/app/pythonista/id528579881?mt=8)

~~~
stevetrewick
By reading and understanding the guidelines. There isn't now - and hasn't been
for quite a while - a general ban on interpreters.

Relevant sections of the (current Feb 2016) guidelines : _2.7 Apps that
download code in any way or form will be rejected 2.8 Apps that install or
launch other executable code will be rejected_ [0]

There are a bunch of interpreters in the store for various languages. The only
problem is if you download arbitrary code. In theory anyway. In reality the
review process is indistinguishable from arbitrary and capricious.

[0][https://developer.apple.com/app-
store/review/guidelines/#fun...](https://developer.apple.com/app-
store/review/guidelines/#functionality)

------
eru
Just a question: how are you going to get anything onto the iPads without
internet access?

Or, I guess, she can upload stuff to the iPads and use them online, but the
inmates can't?

I can't say anything about iPads themselves, but depending on how much
motivation they have, just look at how European universities taught computer
science before they had cheap access to computers: use a book and pen-and-
paper; if you want to run a program, you'll have to wait for a few days for
the results to come back.

Of course, iPads are powerful enough, that with the right software you can
program on the directly: eg [https://itunes.apple.com/us/app/scheme-
programming-language/...](https://itunes.apple.com/us/app/scheme-programming-
language/id500474368?mt=8)

(I have no clue whether that app is any good, I just googled for "Scheme for
iPad". Edit: oh just read, this app needs internet connection. Alas.

A bit of searching should yield some that run purely locally. Perhaps
[https://itunes.apple.com/us/app/iluabox/id398073834?mt=8](https://itunes.apple.com/us/app/iluabox/id398073834?mt=8))

In any case, if you can get the lads to treat programming like math, you can
get pretty far with just book and pen/paper alone. If you can keep them
interested.

~~~
jarcane
For Scheme, Lisping is probably a far easier and more tablet friendly
interface. [http://slidetocode.com/lisping](http://slidetocode.com/lisping)

------
johncs
If there's a network/intranet available that you can connect to, that just
can't access the internet, you should definitely check out Khan Academy Lite:
[https://learningequality.org/ka-lite/](https://learningequality.org/ka-
lite/).

It has much more than just basic coding and web design too :).

------
wprapido
[http://computableapp.com/](http://computableapp.com/) a great python teaching
resource for ipad. like someone already mentioned. try replacing them for
proper laptops. damn, even if they were US$100 android tablets they would be
more useful as a teaching tool, given android can run a web server, a database
server, etc. cheers for the endeavour!

~~~
escap
Unfortunately "As of March 2015, [the developed has] pulled Computable from
the App Store because of ongoing stability issues."

~~~
wprapido
bummer. :( i was using it a bit over a year ago to teach someone programming
basics

------
hluska
I just downloaded and tried out an app called "Time to code - learn HTML, CSS
and JavaScript." I have never used it to teach (and only downloaded it in
response to this Ask HN). But, what I have seen is actually quite good! It
might get a bit boring for teenagers, but as a learning tool, it seems pretty
decent.

(Also note that I'm 38 so I'm not a very good judge of what teenagers would
enjoy.)

------
soyiuz
My friends run Rikers Bot. Get in touch.

[http://xpmethod.plaintext.in/public-
discourse/rikersbot.html](http://xpmethod.plaintext.in/public-
discourse/rikersbot.html)
[https://github.com/xpmethod/rikersbot](https://github.com/xpmethod/rikersbot)

------
0942v8653
Not sure about Wordpress, but there's a Python IDE I recommend, and it also
supports HTML syntax highlighting: Pythonista
([https://itunes.apple.com/us/app/pythonista/id528579881?mt=8](https://itunes.apple.com/us/app/pythonista/id528579881?mt=8))

------
dcw303
There's no Internet access, but is there a local network? If the end goal is
create a Wordpress site, it would help a lot if the sites could be uploaded to
a server, even if it's a local one.

~~~
cylinder714
Bring in a laptop and set up an ad-hoc WiFi network.

------
vmorgulis
There is Love (but it's not webdesign):
[https://love2d.org/](https://love2d.org/)

------
cheez
Start with logic games, then fun algorithms with python. Lego mindstorm has a
cool game.

------
joshmn
Hmm.

Offline code.org, anyone?

------
returnbuyer
Why do they want to do it?

Focus on their reasons why, rather than just teaching them to code so they can
code. What's the benefits? And I don't think just having a job is a good
enough incentive.

Try to instill some passion in them, and then like suggested above... All you
need to do is show them some books and let them write it out on pen and paper.

