"Coding is the #1 skill you ABSOLUTELY NEED TO LEARN in 2023"—a random guy I saw on Twitter
You've probably heard someone talk about why coding is important, so let's skip that and jump straight into the cool stuff.
Quick note: I'm still pretty new to coding (what's a linked list?), so some of the technical info on this page may be slightly wrong
Replit
The Replit app is probably one of the coolest iPad coding apps out there.
It lets you create Repls, which are files used to write code.
On top of using Repls to write code in a certain language (like Python or JavaScript), you can also Repls to build/host websites and web apps, create games, build bots for Discord and Telegram, use graphics, and test out different frameworks.
I love using Replit to write little Python scripts in my free time.
Carnets
Carnets is a Jupyter Notebook but for iPads.
Unlike many of the other apps/websites on this list, Carnets doesn't need an internet connection.
Carnets also has many pre-installed packages, including Numpy, Matplotlib, Pandas, lxml, and more. Carnets also has another app version that offers scipy, seaborn, and scikit-learn.
I don't use Carnets now, but it was an important tool when I was first learning how to code.
Swift Playgrounds
The Swift Playgrounds app is pretty freaking cool.
Back in 2021, Apple announced that people would be able to create apps on the iPad. As I watched WWDC during my summer school history class, I start jumping up and down inside my head.
I was super happy.
While there were obviously limitations, I still think it's a pretty powerful tool. In the future (especially over this summer), I'm planning to start messing around with the app more often.
GitHub
When I first started learning how to code, I started learning about this weird site called GitHub (to me, it felt like Reddit but for coding)
At first, I was completely overwhelmed (wtf is a pull request?). The GitHub website was confusing for me, and the trackpad/keyboard input from my iPad didn't always go through.
With a design meant for iPads, the GitHub app flattened the learning curve.
GoodNotes
Disclaimer: you (obviously) can't code by using GoodNotes
Instead, you can code with GoodNotes
As I've mentioned hundreds of times, GoodNotes is the best note-taking app out there. It has a huge template community, audio recording capabilities, a variety of tools, and even has a new flashcard system that's actually pretty cool.
If you're learning how to code, GoodNotes gives you the space to really think about the code you're writing.
Usually, I use GoodNotes to sketch out my plan to solve different coding problems. Whenever I work on cool side projects, I'll also use GoodNotes to come up with creative ways to solve whatever real-world issue I'm solving.
edX
While I'm a big fan of the "learning by doing" philosophy, I also think it's important to have a good theoretical foundation before you start practicing.
edX offers a variety of CS courses, including the world-famous CS50 course (Harvard's Intro to CS).
Some of the courses on edX also offer practice problems, suiting students who like to learn by doing.
freeCodeCamp
I'm sorry, I lied. The next two "apps" are actually websites.
I included them because they're so good that I couldn't leave them out.
Along with edX, freeCodeCamp is another one of my favorite learning platforms.
On top of a vast library of videos on YouTube, freeCodeCamp also offers some pretty cool courses that use the "learning by doing" philosophy.
Each of the courses has short explanations of different topics as well as a practice problem that helps you understand what's going on.
Codewars
Codewars is probably my favorite coding website. That's because it essentially gamifies learning how to code.
It has a huge library of different puzzles you can solve through code. Each problem you code gives you a certain number of points based on difficulty, and you level up as you get more points.
If you're learning how to code, I highly, HIGHLY, HIGHLY recommend Codewars. If you already know the pure basics, Codewars + self-learning is a powerful combo that'll take you far.
Final Thoughts
I'm still new to coding, so you should probably ignore this post if you have some experience in coding.
But if you are completely new to programming, I hope this post has helped you identify ways to practice and perfect your skills.
Thanks for reading!
Adi