“Programming is how you get computers to solve problems.”
Programming is a creative task: there is no right or wrong way to solve a problem, in the same way that there is no right or wrong way to paint a picture. There are choices to be made, and one way may seem better than another, but that doesn’t mean the other is wrong! With the right skills and experience, a programmer can craft software to solve an unlimited number of problems – from telling you when your next train will arrive to playing your favourite music. The possibilities are constrained only by your imagination.
One option to start learning programming is with Scratch. A mobile friendly alternative from the makers of Scratch is https://octostudio.org/en/.
With Scratch, you can program your own interactive stories, games, and animations — and share your creations with others in the online community. Scratch helps young people learn to think creatively, reason systematically, and work collaboratively — essential skills for life in the 21st century. Scratch is designed, developed, and moderated by the Scratch Foundation, a nonprofit organization. It is provided free of charge.
Another alternative (also a complementing resource) is https://code.org/students. You can explore this site and start with a course. Or complete this 20 hour Course https://studio.code.org/s/20-hour. Try to complete Lesson 2: The Maze and Lesson 5: The Artist. If you are enjoying the activities, do complete the entire course!
Avoid Scratch if you can? Scratch teaches programming using what is called Drag-and-Drop style programming. However, most/all programming is done by written instructions following a specific syntax. Even after learning Scratch, to fully understand programming, you have to transition to programming using written instructions.
Note: Code.org also adopts Drag-and-Drop style programming to teach the basics but this platform offers much more.
A good option to avoid such transitions is to start your journey right away with Processing. Processing is a flexible software sketchbook and a language for learning how to code within the context of the visual arts. Since 2001, Processing has promoted software literacy within the visual arts and visual literacy within technology. There are tens of thousands of students, artists, designers, researchers, and hobbyists who use Processing for learning and prototyping.
Start with reading “Creative Coding for Beginners” by Tariq Rashid. This book is available on Amazon India as a Kindle Version. The book gives detailed instructions on using a Processing environment on web. So, all you need is a browser!
If you loved Processing, you can buy the same author’s more advanced book “Make your own Algorithmic Art“. But if your objective is to just appreciate programming, the first book is more than enough.
What next?
Programming with Processing should have given you a very good perspective into how computer programming works. You would have learned:
- Instructions in a program are executed in a Sequence
- Programs allow Selection (if statements) so you can respond to contexts
- Iteration allows you to repeat a block of code n times
- You use functions with parameters to organize your code and make it readable and reusable
If you are a High School or Under Grad/Grad student and have Python or Java as part of your syllabus, you can head to one of these learning paths: Learn Python, Learn Java.
If you are adult learner and wish to take the next step, start with learning Python. Check out https://projects.raspberrypi.org/en/collections/python.
Additional Resources
https://projects.raspberrypi.org/en/codeclub – learn with mini-projects
https://ricos.site/ – check https://ricos.site/needlestack