Stepping into Programming & Android Development: Can Online Courses Cut it?
Android is a wonderful platform: the sheer flexibility of the mobile OS is the main reason we all choose to use it instead of its competitors. Because Android is so flexible, it leaves plenty of room for developers to create a wide number of applications and services.
As a lover of all things Android, I have always aspired to obtain the skills necessary to become an app developer. But alas, the complexity of Java and time requirements of engineering school kept me from pursuing the knowledge needed to properly develop. I needed to find a course that was approachable and that can adjust to my time table, rather than the other way around. That is where Stackskills came in. They approached us at XDA to check out one of their many courses, to see if they were worthwhile, so we did. Jumping at the opportunity, I picked out a course and began as soon as I could.
They do offer a wide range of courses, and the prices vary depending on what you get. The course I chose was “The Complete Android Developer Course” by Rob Percival; it appears very robust, offering lessons from starting with Java all the way until submitting your apps to the Play Store, and how to make a simple website to promote said apps.
The course is stated to be geared towards beginners, and that is almost exactly what I am. I have attempted to teach myself how to start developing for Android, but have always gotten discouraged with the complexities involved, such as learning a whole new language (Java), and mastering the Android Studio Program by myself. The absolute maximum of coding I have ever properly done is with HTML and CSS in a high school IT class (Thanks Mr. Steffens!), so as far as app development goes, I have little to no experience.
Lessons cover a wide selection of all things needed to become a competent Android Developer. I have spent the last two and a half weeks taking his course, and already feel very confident about the amount of information I am receiving for the time and listed price. To put it in perspective, I’m only 20% through the lectures, and already have 4 basic apps under my belt, not including method demonstrations and sample code.
So far the lessons have covered the basics of the Android Development world. They are broken up by lectures on individual topics, and each topic is presented in video form, with a download link to Rob’s example files so you can compare his builds with yours.
The first lesson was an introduction to Android Studio, and how to use it properly to create your apps. The basics are covered; how to start projects, add in UI elements, link buttons through basic code, and summon toast messages. The next lesson was a ‘Java Deep Dive’ where Rob focused on teaching us about the programming language and its basics. The lesson covered how to setup a basic Java document, understanding variables, understanding arrays and maps, if/else statements, for and while loops, and classes and objects. Rob will guide you along, and provide a brief explanation for each line of code produced in the lessons.
The third lesson, the one I am currently on, covers media in an app. So far we’ve covered layouts in apps, how to import videos and audio into an app, as well as how to set up basic media controls for said apps.
At the end of each lesson, Rob asks you to make a full app to apply the knowledge provided so far. The final app of the first lesson is a basic Currency Converter that is coded to convert US Dollars to Euros. The second lesson has two apps that were created, a number guessing game, and an app that will tell a user if the number they input is triangular or square. The number guessing game is a good example of how integers and numbers work in Java, as well as a great example of if/else statements. The Triangular/Square number app is another great example of the concepts used in the number guessing game.
The first app for the lesson I’m currently on is a ‘Connect 3’ game, which mixes Connect 4 with Tic-Tac-Toe (Nots and Crosses, as Ron calls it), which showcases a lot of what I’ve learned so far. It includes examples of Image linking, moderate Java Logic, animations and transitions, layout methods, button linking, and simple pop ups. This app has given me the most in terms of opening my eyes as to what it’s like to put an app together, even if it’s very a simple app. All of this is extremely basic, but for a couple of weeks of time with limited availability due to family, school, and work, it feels like progress.
A huge advantage to these lessons being offered online is the ability to put down and pick up the classes whenever you want. In my two and a half weeks, I was working 20+ hours a week at a day job, taking full time college classes, and taking care of a family at home. The ability to view the lessons and practice my developing skills at my own pace has certainly helped in keeping me from feeling burnt out on the tasks.
Mobility is another plus to online courses. The videos are available through a browser website, meaning you can open the lectures on any device with a browser. I watched the videos on my old laptop, and was able to keep up with the course while traveling across a 400 mile stretch of Tennessee.
Having a good instructor is also a large benefit, although largely hit-or-miss. The way Rob conducts his course is very similar to how my engineering classes are conducted. He will show you how to implement a method via example and definitions, and will give you a challenge after each video to task your abilities to apply what was taught. At the end of each lesson he will test you by asking you to develop a full app, sometimes asking you to go out and learn a small part of the lesson he might have purposely skipped.
It definitely feels like Rob is successful in explaining how to develop apps, as well as stimulating me as a student to think independently and problem solve on my own. There is no way for me to submit my apps to Rob, rather I pause the lecture, attempt the app on my own, then resume the video to see Rob’s answer on how to build the app — each person’s experience will be different depending on how they plan to approach the course, and how much they want to challenge themselves.
When the question is asked, “Can you really learn how to be a full app developer by taking an online class?” most will be quick to call out, “no”. But so far in my time with Rob I have high optimism that I will be able to come out of the course ready to develop various types of apps with relative ease.
Learning Android developing through a lesson is only the beginning of a journey, and your mileage in any course will vary depending on your experience and dedication. Many people can develop apps on their own and learn on their own, but having a central and tidy set of resources and lessons can be very valuable, especially for those with various other responsibilities or time restraints. It’s not for everybody, but it’s not bad for those who need it.