Author Topic: Mobile Android Development: Beginner to Professional  (Read 11698 times)

Offline Paul

  • Administrator
  • double
  • *****
  • Posts: 3473
  • Developer
    • View Profile
    • PaulsCode.Com
Mobile Android Development: Beginner to Professional
« on: October 05, 2012, 09:15:33 PM »
I've been trying to think of a good project to put on kickstarter, and today it occurred to me that people are always asking me how to become an Android developer.  What if I were to create a training course for beginners to learn the skills needed to be professional Android developers.

I would work on the training course in my free time, and plan to finish it in say six months.  The money would be a financial fall-back for me and my family, and would give me the stability to be able to spend more time on my for-fun projects, as I meet the short-term deadlines of the training course.


UPDATE:

>> Kickstarter Campaign Now Live!



As society becomes more and more mobile, a huge demand is opening up for developers with the skills needed to create professional Android apps.  Companies are paying big bucks to get their products and services to users on-the-go.  But if you've never programmed before or have programmed before but not with Android, wouldn't it be great to have all the information you need to go from a complete beginner to a professional possessing these highly prized skills?  And not just a series of tutorials, but a complete course with exercises and tests, through which you will write several of your own professional demo apps to show off to potential employers?  That's what I want to create!

There are tons of resources for learning Android, but few of them are really practical, and they often spend so much time going over every optional variation or parameter that readers wind up skimming, often missing what's important.  I want to create a course book with a companion website that teaches each required skill from beginner to professional, through practical, interesting exercises.

Some of the topics I'm planning to cover:

- Familiarization with Java programming
- Familiarization with XML
- Setting up a development environment
- Familiarization with the Android SDK
- Troubleshooting and Debugging strategies
- Memory and Battery management strategies
- Backwards compatibility
- Utilizing locational data and Google maps (build a geolocation demo)
- Linking with online web services and databases (build an interactive demo)
- Using the accelerometer (build a multi-user "bump" demo)
- Sharing data (via Facebook, Twitter, email, etc)
- Dynamic 2D graphics (build a demo game)
- Utilizing multi-touch
- Adding audio
- Utilizing a 3rd-party 3D graphics engine (build a 3D demo game)

This is more than just an e-book; it will be a full course with exercises and tests (and an answer key) to make sure you understand each concept in practice, not just in theory.  There will be lots of sample code that you can copy and use in your own future projects.  The companion website will have a support forum for questions, as well as downloadable source code for all the examples, exercises, tests, and demos.

The course book itself will take around six months to write, and I expect it to be around 500 pages.  But this won't just be something I finish writing and then abandon.  Feedback from students will be used to improve the course over time (primarily to better emphasize sections that folks report having difficulty with).  Everyone enrolled in the course will have free access to all future revisions, and direct support via the companion website.
Stretch Goals

In the event that the initial goal of $24,000 is greatly exceeded, I will write extensions to the main course, to teach even more mobile-related development skills.  I will create these additional courses after I finish the main course, so they will not affect the estimated delivery dates I have listed for the rewards.  Additionally, all the rewards earned for the main course will also be extended to these additional courses if the stretch goals are met, so you'll get a lot more for your money!

$48,000 - PhoneGap Sister Course :: This will be a second course on app development, mirroring the main course.  However, instead of teaching native Android app development, it will instead focus on the skills needed to develop cross-platform apps through the PhoneGap framework (see phonegap.com).  Upon completion of the course, you will be able to build apps for any mobile platform, including Android, Blackberry, iPhone, iPad, and Windows Phone!

$60,000 (or $36,000 - $47,999) - Unity Follow-up Course :: This shorter course will focus on the skills needed to develop a cross-platform 3D demo game through the Unity framework (see unity3d.com).  Learn to create awesome 3D games that can be run not only on mobile devices, but also web, PC, Mac, and even consoles!
« Last Edit: October 10, 2012, 05:29:19 PM by Paul »
Device: Samsung Galaxy Nexus i515
CPU: TI OMAP4460, 1.2 GHz (dual core, ARM Cortex-A9)
GPU: PowerVR SGX540, 307 MHz
RAM: 1 GB
Resolution: 720 x 1280
Rom: omni-4.4.4-20141014-toro-FML KitKat 4.4.4, rooted

Device: Eee PC 1015PEM
CPU: Intel Atom N550, 1.5 GHz (dual core, x86)
GPU: Intel GMA 3150, 200 MHz (dual core)
RAM: 2GB
Resolution: 1024 x 600
Rom: android-x86-4.3-20130725 Jelly Bean 4.3, rooted

Offline shuy3n

  • long
  • ***
  • Posts: 111
    • View Profile
Re: Mobile Android Development: Beginner to Professional
« Reply #1 on: October 06, 2012, 08:18:48 AM »
I'll chip in some ideas as soon as I get some paul, but just wanted to comment to say this is an awesome idea

Offline Paul

  • Administrator
  • double
  • *****
  • Posts: 3473
  • Developer
    • View Profile
    • PaulsCode.Com
Re: Mobile Android Development: Beginner to Professional
« Reply #2 on: October 06, 2012, 09:58:33 PM »
Here's what I've come up with so far for possible awards:

Pledge $5 or more
A personal thank you from me, plus your name listed in the backers section of the website

Pledge $25 or more
All the above, plus full access to the course at a special low price.  Includes a digital (PDF) copy of the course book, tests, and answer keys, access to the companion website and support forum, and free downloads of all future revisions of the course material.

Pledge $50 or more
All of the above, plus get listed in the course book in the appendix, as an official sponsor, along with your website's URL or a short URL-length message.

Pledge $100 or more
All of the above, plus paperback tests and answer key.

Pledge $150 or more
All of the above, plus a photo or logo and a full paragraph listed in the sponsors section of the website.

Pledge $200 or more
All of the above, plus an autographed, first edition, paperback course book.

Pledge $300 or more
Same as above, except the course book is an autographed, first edition hardcover.

Pledge $500 or more
    limit 8
Same as above, plus have a photo or logo along with a full paragraph listed in the front of the course book.
« Last Edit: October 06, 2012, 10:06:21 PM by Paul »
Device: Samsung Galaxy Nexus i515
CPU: TI OMAP4460, 1.2 GHz (dual core, ARM Cortex-A9)
GPU: PowerVR SGX540, 307 MHz
RAM: 1 GB
Resolution: 720 x 1280
Rom: omni-4.4.4-20141014-toro-FML KitKat 4.4.4, rooted

Device: Eee PC 1015PEM
CPU: Intel Atom N550, 1.5 GHz (dual core, x86)
GPU: Intel GMA 3150, 200 MHz (dual core)
RAM: 2GB
Resolution: 1024 x 600
Rom: android-x86-4.3-20130725 Jelly Bean 4.3, rooted

Offline trev186

  • int
  • **
  • Posts: 97
    • View Profile
Re: Mobile Android Development: Beginner to Professional
« Reply #3 on: October 07, 2012, 12:31:00 AM »
would it be possible to do a limited run say live online session for a lesson or 2?

You have some higher tiers for that

Offline Paul

  • Administrator
  • double
  • *****
  • Posts: 3473
  • Developer
    • View Profile
    • PaulsCode.Com
Re: Mobile Android Development: Beginner to Professional
« Reply #4 on: October 07, 2012, 10:31:10 PM »
I've started setting up the kickstarter project.  I still need to do a promotional video and wait for Amazon to verify my payment account (up to 7 days).

A preview of what I have so far is available HERE (EDIT -- link removed).

Still open to suggestions for goals, awards, or stuff for the main page.
« Last Edit: October 10, 2012, 05:21:08 PM by Paul »
Device: Samsung Galaxy Nexus i515
CPU: TI OMAP4460, 1.2 GHz (dual core, ARM Cortex-A9)
GPU: PowerVR SGX540, 307 MHz
RAM: 1 GB
Resolution: 720 x 1280
Rom: omni-4.4.4-20141014-toro-FML KitKat 4.4.4, rooted

Device: Eee PC 1015PEM
CPU: Intel Atom N550, 1.5 GHz (dual core, x86)
GPU: Intel GMA 3150, 200 MHz (dual core)
RAM: 2GB
Resolution: 1024 x 600
Rom: android-x86-4.3-20130725 Jelly Bean 4.3, rooted

Offline trev186

  • int
  • **
  • Posts: 97
    • View Profile
Re: Mobile Android Development: Beginner to Professional
« Reply #5 on: October 07, 2012, 11:11:42 PM »
Looks great Paul!

I will back you for sure!

Hoping this is a success so you can earn some well deserved cash !


Offline Paul

  • Administrator
  • double
  • *****
  • Posts: 3473
  • Developer
    • View Profile
    • PaulsCode.Com
Re: Mobile Android Development: Beginner to Professional
« Reply #6 on: October 09, 2012, 06:51:56 PM »
I did a little tweaking and added stretch goals and a promotional video.  I've submitted the project for review and should be able to go live in a couple days.  If anyone has some last minute suggestions or edits, let me know.  I'll let everyone know and post a link to the actual campaign once it goes live.
« Last Edit: October 09, 2012, 06:53:41 PM by Paul »
Device: Samsung Galaxy Nexus i515
CPU: TI OMAP4460, 1.2 GHz (dual core, ARM Cortex-A9)
GPU: PowerVR SGX540, 307 MHz
RAM: 1 GB
Resolution: 720 x 1280
Rom: omni-4.4.4-20141014-toro-FML KitKat 4.4.4, rooted

Device: Eee PC 1015PEM
CPU: Intel Atom N550, 1.5 GHz (dual core, x86)
GPU: Intel GMA 3150, 200 MHz (dual core)
RAM: 2GB
Resolution: 1024 x 600
Rom: android-x86-4.3-20130725 Jelly Bean 4.3, rooted

Offline Paul

  • Administrator
  • double
  • *****
  • Posts: 3473
  • Developer
    • View Profile
    • PaulsCode.Com
Re: Mobile Android Development: Beginner to Professional
« Reply #7 on: October 10, 2012, 01:07:06 AM »
A person from Kickstarter got back with me and had a couple of changes she wanted me to do (writing more in the Risks and Challenges section, increasing the video volume).  I've taken care of those, and re-submitted for approval.  I was actually pretty surprised how quickly they reviewed the project, so chances are I'll probably be going live sometime tomorrow if they give me the green light.
Device: Samsung Galaxy Nexus i515
CPU: TI OMAP4460, 1.2 GHz (dual core, ARM Cortex-A9)
GPU: PowerVR SGX540, 307 MHz
RAM: 1 GB
Resolution: 720 x 1280
Rom: omni-4.4.4-20141014-toro-FML KitKat 4.4.4, rooted

Device: Eee PC 1015PEM
CPU: Intel Atom N550, 1.5 GHz (dual core, x86)
GPU: Intel GMA 3150, 200 MHz (dual core)
RAM: 2GB
Resolution: 1024 x 600
Rom: android-x86-4.3-20130725 Jelly Bean 4.3, rooted

Offline Paul

  • Administrator
  • double
  • *****
  • Posts: 3473
  • Developer
    • View Profile
    • PaulsCode.Com
Re: Mobile Android Development: Beginner to Professional
« Reply #8 on: October 10, 2012, 05:24:31 PM »
Kickstarter Campaign now live!

Spread the word!  If you or anyone you know might be curious about writing Android apps, here's your chance to learn how!
Device: Samsung Galaxy Nexus i515
CPU: TI OMAP4460, 1.2 GHz (dual core, ARM Cortex-A9)
GPU: PowerVR SGX540, 307 MHz
RAM: 1 GB
Resolution: 720 x 1280
Rom: omni-4.4.4-20141014-toro-FML KitKat 4.4.4, rooted

Device: Eee PC 1015PEM
CPU: Intel Atom N550, 1.5 GHz (dual core, x86)
GPU: Intel GMA 3150, 200 MHz (dual core)
RAM: 2GB
Resolution: 1024 x 600
Rom: android-x86-4.3-20130725 Jelly Bean 4.3, rooted

Offline Paul

  • Administrator
  • double
  • *****
  • Posts: 3473
  • Developer
    • View Profile
    • PaulsCode.Com
Re: Mobile Android Development: Beginner to Professional
« Reply #9 on: October 14, 2012, 03:00:31 PM »
I added some new lower-tier rewards that should get more people interested in supporting the campaign:

- Everyone who pledges $35 or more will get to vote on an app that I will create (can be anything!)  You'll get it for free when it is completed (depending on what it is, it could retail for $5.99 or so on Google Play!)

- Everyone who pledges $40 or more will get access to the chapters of the course material as I write them!  You'll be able to provide feedback and have a huge impact on the course.

- Everyone who pledges $45 or more will get a tutorial on how to create the app that was picked for the $35 tier!

A couple of backers already increased their pledges to take advantage of these new rewards, so I think this should help boost the campaign a little.  I'm also looking at an advertising campaign through Social Pixels.

Another thing I'm looking into, is getting the word out to the OUYA community.  Since the OUYA SDK is based on Android, my course would be the perfect starting point for the OUYA fans who want to write apps for the console but don't have any programming experience.
Device: Samsung Galaxy Nexus i515
CPU: TI OMAP4460, 1.2 GHz (dual core, ARM Cortex-A9)
GPU: PowerVR SGX540, 307 MHz
RAM: 1 GB
Resolution: 720 x 1280
Rom: omni-4.4.4-20141014-toro-FML KitKat 4.4.4, rooted

Device: Eee PC 1015PEM
CPU: Intel Atom N550, 1.5 GHz (dual core, x86)
GPU: Intel GMA 3150, 200 MHz (dual core)
RAM: 2GB
Resolution: 1024 x 600
Rom: android-x86-4.3-20130725 Jelly Bean 4.3, rooted

Offline Paul

  • Administrator
  • double
  • *****
  • Posts: 3473
  • Developer
    • View Profile
    • PaulsCode.Com
Re: Mobile Android Development: Beginner to Professional
« Reply #10 on: October 14, 2012, 08:36:54 PM »
I posted this in an update on kickstarter, but in case anyone missed it, I wrote some examples to demonstrate my basic teaching style.

This first example is what I envision for the first chapter of the course book, which will be teaching XML. This would be the first page of that chapter, and you can see that it makes no assumptions about the student's prior experience. The topic is related to a real-world concept before introducing anything technical:

http://www.paulscode.com/projects/android_course/example_lesson_context.pdf

My second example would be much later in the book, demonstrating my style of explaining the concept clearly before diving into the code. This would be toward the end of the chapter.  Obviously by this point in the course, the student will be familiar with Java, so the code parts will be very simple to follow and relate back to the concept being taught:

http://www.paulscode.com/projects/android_course/example_lesson_decisions.pdf
Device: Samsung Galaxy Nexus i515
CPU: TI OMAP4460, 1.2 GHz (dual core, ARM Cortex-A9)
GPU: PowerVR SGX540, 307 MHz
RAM: 1 GB
Resolution: 720 x 1280
Rom: omni-4.4.4-20141014-toro-FML KitKat 4.4.4, rooted

Device: Eee PC 1015PEM
CPU: Intel Atom N550, 1.5 GHz (dual core, x86)
GPU: Intel GMA 3150, 200 MHz (dual core)
RAM: 2GB
Resolution: 1024 x 600
Rom: android-x86-4.3-20130725 Jelly Bean 4.3, rooted

Offline shuy3n

  • long
  • ***
  • Posts: 111
    • View Profile
Re: Mobile Android Development: Beginner to Professional
« Reply #11 on: October 15, 2012, 08:06:28 AM »
Re-posted this in few places today  :) hope it atleast leads to something

Offline Paul

  • Administrator
  • double
  • *****
  • Posts: 3473
  • Developer
    • View Profile
    • PaulsCode.Com
Re: Mobile Android Development: Beginner to Professional
« Reply #12 on: October 15, 2012, 08:39:56 AM »
This being my first kickstarter campaign, I am definitely learning a lot with it.  I think I set my initial goal too high.  This was necessary to fund this particular project because it is so large, but it isn't something that a lot of the general population are interested in.  If the campaign fails, I will still have learned some useful information, though.  The biggest things I've learned so far:

1) For something with multi-parts, break it into smaller pieces, fund the first piece, and add the rest as stretch goals.  For this particular project, I should have started with an e-book and initial goal of $9,000 with a longer projected completion date.  Then add stretch goals to decrease the completion date projection, create the quizzes and tests, printing, and so on up to the $24,000 needed for the entire thing.  That way, at least the project is funded to some extent, if not fully.  Future campaigns could be run to raise capital for the remaining pieces.

2) Think about lots of creative rewards in the lower range ($25 - $100), which are cumulative (so a $45 pledge also gets you the $30, $25, etc. rewards).  Make sure these are in place before launching the campaign, because you get a surge of backers near the beginning who pledge a low amount.  For this project, once I added the $35 - $45 reward tiers, lots of new backers started selecting the $45 reward (where before they would have gone with $25).

3) Google Adwords is useless for promoting a kickstarter campaign (at least for a project like mine).  The numbers are working out to getting new pledges around %200 of the money put into the ads.  In other words, to fund a $24,000 kickstarter goal using only Google Adwords, you would need to invest in $12,000 of ads.  Obviously that isn't a very productive ratio.

4) Research and find communities that might be interested in the project before launching.  For this project, I should have taken a few weeks to get into various communities and talk with members to see if there is any interest.  Then I wouldn't have ended up frantically searching for new networks to spread the word to, once the numbers started stalling after launching the campaign.
Device: Samsung Galaxy Nexus i515
CPU: TI OMAP4460, 1.2 GHz (dual core, ARM Cortex-A9)
GPU: PowerVR SGX540, 307 MHz
RAM: 1 GB
Resolution: 720 x 1280
Rom: omni-4.4.4-20141014-toro-FML KitKat 4.4.4, rooted

Device: Eee PC 1015PEM
CPU: Intel Atom N550, 1.5 GHz (dual core, x86)
GPU: Intel GMA 3150, 200 MHz (dual core)
RAM: 2GB
Resolution: 1024 x 600
Rom: android-x86-4.3-20130725 Jelly Bean 4.3, rooted

Offline Prodian

  • bit
  • Posts: 8
    • View Profile
Re: Mobile Android Development: Beginner to Professional
« Reply #13 on: October 17, 2012, 09:20:48 PM »
After project is complete,  how much would it cost to get the material?  The same as the backing tiers?

Offline Paul

  • Administrator
  • double
  • *****
  • Posts: 3473
  • Developer
    • View Profile
    • PaulsCode.Com
Re: Mobile Android Development: Beginner to Professional
« Reply #14 on: October 17, 2012, 09:55:24 PM »
Well, the reward prices for folks who pledge early on kickstarter are intentionally a lot lower than what I will be selling the completed course for.  The price will of course be adjusted over time, depending on its popularity, but here's what I'm considering for a starting point:

$150  ::  Course enrollment.  This provides full, lifetime access to digital copies of all course materials (including all future revisions) and the support forum

$25 + S&H  ::  Paperback quizzes/test booklet and answer key

$100 + S&H  ::  Paperback course book

$200 + S&H  ::  Hardcover course book

If the course does well, I'll probably also set up e-lectures that students can sign up for.  I'd probably shoot for a number that adds up to a net profit close to what I would normally make as a freelance app developer.  So, the more students in the classes, the lower the application cost would be.  Obviously, that one is hard to estimate a cost for at this point.
Device: Samsung Galaxy Nexus i515
CPU: TI OMAP4460, 1.2 GHz (dual core, ARM Cortex-A9)
GPU: PowerVR SGX540, 307 MHz
RAM: 1 GB
Resolution: 720 x 1280
Rom: omni-4.4.4-20141014-toro-FML KitKat 4.4.4, rooted

Device: Eee PC 1015PEM
CPU: Intel Atom N550, 1.5 GHz (dual core, x86)
GPU: Intel GMA 3150, 200 MHz (dual core)
RAM: 2GB
Resolution: 1024 x 600
Rom: android-x86-4.3-20130725 Jelly Bean 4.3, rooted