Published in


How To Learn Coding on an iPad Pro


Coding on an iPad is hard.

Learning how to code on an iPad is even harder.

But some people still want to learn how to code on an iPad (including me).

This is how I learn to code on an iPad, and how you can too.

This is an image of an iPad Pro, and is meant to be used as a visual reference for my article about how I learn to code on an iPad Pro
Photo by Daniel Romero on Unsplash

What I Started With

Ok, I lied.

I didn’t completely start from scratch when I started coding on my iPad.

On an older laptop, I learned the very basics of Python and I watched a couple of coding tutorials on YouTube. I learned about things like variables, lists, and loops, but I didn’t know slightly more advanced topics like list comprehension and lambda functions.

I also learned some HTML and CSS, and I built a basic webpage while watching a YouTube tutorial.

So while I did have some prior knowledge about coding, I was by no means a programming expert.

My Goals With Coding on an iPad

I had (and still have) two main goals when I learn coding: to learn marketing automation with JavaScript and data science with Python.

As a digital marketer, automating certain tasks with JavaScript would help significantly reduce the amount of time I spend on managing advertising accounts.

As someone interested in statistics, learning data science with Python provides a set of tools to help me further analyze data past what I can do with basic introductory statistics.

Learning data science could also help with digital marketing, tying together both of my interests.

Try to keep these goals in mind when I talk about how I learn to code since my learning method is based on these goals.

My Method To Learn Coding on an iPad


This is what you’ve been waiting for. Here are the resources (in somewhat chronological order) that I use or have used while learning to code on an iPad:


One of the best resources by far is freeCodeCamp. As stated on their website, freeCodeCamp is “a nonprofit community that helps you learn to code by building projects.” I love that freeCodeCamp provides mini-challenges along with each lesson in their courses. These mini-challenges let me apply the ideas discussed in the lessons.

This is important to note for all learning resources (even outside of coding): Learning ideas is fine, but applying ideas is even better

For me, at least, I’ve probably had hundreds of instances where I watch a YouTube tutorial, but I completely forget everything the second I start coding. And judging by the millions of YouTube videos titled “Mistakes New Programmers Make” or “What I Wish I Knew Before I Learned Programming,” I’m not alone.

This is a pattern you’ll see throughout this article. Active learning resources are ranked high, while passive learning resources are ranked low.

YouTube Tutorials

As mentioned before, YouTube tutorials aren’t the best for learning how to code. While they can be good resources, you need to apply the information if you want to retain it. Otherwise, you’ll completely forget everything you watch.

Whenever I use YouTube tutorials, I like to have YouTube and a code editor open in split view, so that I can apply what I’ve just learned as I’m learning it.


Another great resource is DataCamp. Like freeCodeCamp, DataCamp has courses that test your knowledge with mini-challenges along the way. While DataCamp does have a premium plan, I like using the free one to practice data science skills.

The free plan gives you 1 lesson per day, which I find great for establishing a regular coding habit.

If you would like to go more in-depth into the DataCamp curriculum, you should probably get a premium subscription. However, I have not tried it and I’m not sure how good it is.


Kaggle is another active learning resource that I loved. Kaggle features mini-data science courses, where you can apply your knowledge to datasets. I went through a few courses, and it was a great learning experience.

My only issue is that I found Kaggle a bit too fast if you used it as your sole learning material. Information simply didn’t stick because of how much content there was. In fact, despite its mini-challenges, my learning through Kaggle quickly went from active learning to passive learning. I’m not sure why this happened, especially since Kaggle is similar to DataCamp and freeCodeCamp in structure, which didn’t have this issue.

Once I started building projects, however, I began to learn a LOT through Kaggle. I was able to analyze data that I found interesting, and it made me more engaged with learning data science.

I would recommend Kaggle courses for people interested in data science, but be sure to work on your projects along with the courses.


Like YouTube tutorials, Coursera courses were too passive for me to learn anything. The specific Coursera course I chose was a Data Science with Python course taught by the University of Michigan. While there were mini-challenges, there weren’t enough for me to thoroughly engage with the content. As a result, most of my learning was passive, not active.

For me, Coursera courses were too focused on learning information instead of applying information.


My favorite tool to learn to code on the iPad so far has been Codewars. For those who don’t know Codewars is a website with many challenges for programmers at any level. It’s a fun way to gamify learning how to code.

I found that I learned best through challenges on Codewars. The gamification made it fun to code, which reduced resistance for me to start coding. I’ve enjoyed it so much that I’ve made spending 30 minutes to an hour on Codewars part of my daily routine. This has helped me develop and apply my coding knowledge.

I also find that I learn about new concepts via Codewars challenges. I remember that when I did my first few challenges on Codewars, I solved the challenges with relatively basic solutions. When looking at other people’s solutions, I saw more advanced topics (for me, at least) like list comprehension and lambda functions.

Not knowing what these were, I would search for more information about how to use them. Once I learned some information, I applied what I learned to the same Codewars challenge, which helped me cement what I just learned.

This has easily been my favorite learning tool, and I highly recommend using Codewars to learn programming.


Above, I discussed the resources I use to learn coding on an iPad. Usually, finding these resources isn’t the tricky part. The tricky part is finding code editors and other programming tools. Here are the tools that I currently use or have used for coding on an iPad:


Like I mentioned previously, one of my goals was to learn marketing automation with JavaScript. Along with marketing automation, a subgoal was to also learn the basics of web development. Scrimba let me learn web development while using an iPad.

To my knowledge, creating an offline webpage on an iPad is impossible, but I’m not 100% sure. Nevertheless, I used Scrimba, an online code/web development platform, to build mini-web pages where I could apply knowledge of HTML, CSS, and JavaScript to make cool little projects.

Having fun with these projects was crucial for me since it made it easier for me to do work.

When learning any skill, having fun is important. On top of the fluffy “follow your passion” advice given out to people, I think having fun when doing work is important for improving your productivity. I feel like this point is why Scrimba and Codewars are some of my favorite tools to learn web development and coding on an iPad.


Carnets is, as of now, a free Jupyter notebook app that runs locally on iPads. Initially, Carnets was an important app that I used for learning Python. However, I shifted away from the Carnets app for a couple of reasons.

The main reason I left Carnets was because of a weird glitch that happened for me. For some reason, the enter key does not work for me when using Carnets, which makes coding difficult and tedious.

If I can fix the issue with the app, I’ll probably start using Carnets more often than I currently do.


I know mentioned Kaggle as a resource, but I also find Kaggle to be a great tool. Kaggle is great for building data science projects, and, as I mentioned before, Kaggle’s full potential is only unleashed when you start creating personal data science projects.

By being able to analyze data about topics I’m interested in (like analyzing the relationship between COVID outbreaks and Google Trends data), I’m able to have more fun. This ultimately helps me learn better and faster, making Kaggle a great tool for me.

Replit (

A new tool I’ve recently started exploring is Replit. From what I’ve seen, Replit is similar to Scrimba but features more programming languages. I may be taking a class on R this year, making it important for me to be able to have an online code editor for R.

While I haven’t had much time to use Replit, it looks like a great code editor so far.

These are the main tools I’ve used to learn coding on my iPad. While there are other tools like Pythonista, those tools are usually paid, so I tend to avoid them.

Why The iPad Is Sort of Ready For Coding

With the above information in mind, coding on an iPad is possible. And for some workflows, an iPad is all you need.

For example, someone who codes on Codewars for fun and codes as a hobby can use an iPad as their only coding device. Similarly, people working on basic or even somewhat advanced data science projects can work on Kaggle and Google Colab, an online coding environment. Since these applications can be run via the browser, they can be used on an iPad.

Personally, an iPad can be used as my only coding device for my goals of marketing automation and learning data science. Marketing automation is done in the browser via Google Ads, and data science can be done in Kaggle.

For other workflows, an iPad isn’t the best.

Computer science students at universities should NOT use an iPad as their only coding device. Yes, having an iPad helps, and yes, you can code on an iPad. However, there are some unique cases where an iPad will not work, and you’ll be in trouble if you find yourself in these circumstances.

For example, I’m considering taking a Statistical Computations course in the fall semester. However, I would need access to a code editor for R and SAS. While I can use Replit for R, SAS is a little different. SAS can be accessed via the browser, but the implementation on the iPad isn’t the best. So while I can technically use only my iPad, it’s best for me to have a laptop as a backup, just in case. Thankfully, I have an older laptop that can do basic code operations if I need to run a computer-only program.

If you are a computer science student that wants an iPad, consider buying a (relatively) cheap MacBook along with an iPad.

Buying a 12.9 inch iPad Pro (I would recommend the 12.9 inch version if you are using the iPad as your only device) would cost you $1099. Add the Magic Keyboard ($349) and Apple Pencil 2 ($129), and your total cost is $1577.

Buying a refurbished M1 MacBook Air ($849) and a refurbished 11 inch iPad Pro ($519) with an Apple Pencil 2 ($129) would cost you $1497.

At this point, I would recommend the second option for computer science students who are thinking of using their iPad as their only computer (or really any college student).

What The Future Holds

The iPad may become a coding device. After all, Apple is supporting an Xcode-like system in iPadOS 15, which will hopefully open up the iPad to more programming languages.

In my opinion, the iPad is the future of computing. It provides all the hardware that any futuristic computer needs: a touchscreen, a mouse, and a keyboard. All it needs now is the software.

We’ve been waiting on Apple to support advanced desktop software on the iPad for years.

Will it happen soon?

I don’t know.

For more weekly iPad content (and a FREE list of my top iPad apps), join Overoptimize!



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store