Programming Mobile Applications for Android Handheld Systems

Provided by:
6/10 stars
based on  13 reviews
Provided by:
Cost FREE
Start Date TBA
Programming Mobile Applications for Android Handheld Systems

Course Details

Cost

FREE

Upcoming Schedule

  • TBA

Course Provider

Coursera online courses
Coursera's online classes are designed to help students achieve mastery over course material. Some of the best professors in the world - like neurobiology professor and author Peggy Mason from the University of Chicago, and computer science professor and Folding@Home director Vijay Pande - will supplement your knowledge through video lectures. They will also provide challenging assessments, interactive exercises during each lesson, and the opportunity to use a mobile app to keep up with yo...
Coursera's online classes are designed to help students achieve mastery over course material. Some of the best professors in the world - like neurobiology professor and author Peggy Mason from the University of Chicago, and computer science professor and Folding@Home director Vijay Pande - will supplement your knowledge through video lectures. They will also provide challenging assessments, interactive exercises during each lesson, and the opportunity to use a mobile app to keep up with your coursework. Coursera also partners with the US State Department to create “learning hubs” around the world. Students can get internet access, take courses, and participate in weekly in-person study groups to make learning even more collaborative. Begin your journey into the mysteries of the human brain by taking courses in neuroscience. Learn how to navigate the data infrastructures that multinational corporations use when you discover the world of data analysis. Follow one of Coursera’s “Skill Tracks”. Or try any one of its more than 560 available courses to help you achieve your academic and professional goals.

Provider Subject Specialization
Humanities
Sciences & Technology
4721 reviews

Course Description

Handheld systems, such as smartphones and tablets are now the most common way for people to access and interact with computing services. The demand for application development skills is therefore growing at a breathtaking pace. These skills, however, are multi-­‐ faceted, requiring students to master computer science and engineering principles, to learn the details of specific mobile application platforms, and to design artistic and engaging user interfaces that respond to how, where and why handheld applications are used. This course will cover the fundamental programming principles, software architecture and user experience considerations underlying handheld software applications and their development environments. To bring these concepts alive, the course will involve in-­‐depth, hands-­‐on examples, implemented in the Android Platform, the fastest growing segment of the handheld system user base. Students will apply these teachi... Handheld systems, such as smartphones and tablets are now the most common way for people to access and interact with computing services. The demand for application development skills is therefore growing at a breathtaking pace. These skills, however, are multi-­‐ faceted, requiring students to master computer science and engineering principles, to learn the details of specific mobile application platforms, and to design artistic and engaging user interfaces that respond to how, where and why handheld applications are used. This course will cover the fundamental programming principles, software architecture and user experience considerations underlying handheld software applications and their development environments. To bring these concepts alive, the course will involve in-­‐depth, hands-­‐on examples, implemented in the Android Platform, the fastest growing segment of the handheld system user base. Students will apply these teachings, also using the Android Platform, in laboratory projects and in a large-­‐scale semester project. **Note: This course is part of a Coursera Specialization** This course and two others, led respectively by Drs. Douglas Schmidt and Jules White of Vanderbilt University, have been designed to complement each other. Click here to find out more about the [Mobile Cloud Computing with Android (MoCCA) Specialization](https://www.coursera.org/specialization/mobilecloudcom puting/2). Therefore, some of the programming assignments and the course project for these courses will be coordinated. This course focuses on handheld systems and the design of user-facing applications, and will be taught first. The first Vanderbilt University course, [Pattern-Oriented Software Architectures: Programming Mobile Services for Android Handheld Systems](https://www.coursera.org/course/posa) will focus on systems programming topics, such as middleware services and background processing. The second Vanderbilt University course, [ Programming Cloud Services for Android Handheld Systems](https://www.coursera.org/course/mobilecloud) will focus on connecting Android mobile devices to cloud computing and data storage resources, essentially turning a device into an extension of powerful cloud-based services on popular cloud computing platforms, such as Google App Engine and Amazon EC2. Nevertheless, each of these courses stands alone. Students are not required to take all of them. Those who do, however, will gain a much more detailed, end- to-end understanding of handheld systems and their applications.
Reviews 6/10 stars
13 Reviews for Programming Mobile Applications for Android Handheld Systems

Ratings details

  • 5 stars
  • 4 stars
  • 3 stars
  • 2 stars
  • 1 stars
  • 5 stars
  • 4 stars
  • 3 stars
  • 2 stars
  • 1 stars
  • 5 stars
  • 4 stars
  • 3 stars
  • 2 stars
  • 1 stars

Rankings are based on a provider's overall CourseTalk score, which takes into account both average rating and number of ratings. Stars round to the nearest half.

Sort By
Mario Fernando Rosales Reyes profile image
Mario Fernando Rosales Reyes profile image
6/10 starsTaking Now
  • 1 review
  • 0 completed
3 years, 11 months ago
I has a medium level programmer in Java, and i was a newbie on android programming. The course was little bit difficult for me. The examples were so easy and very introductory and the assigments level was very different. I think must exist another courses with more deep contents.
Was this review helpful? Yes0
 Flag
Dean Schulze profile image
Dean Schulze profile image
4/10 starsCompleted
  • 2 reviews
  • 2 completed
4 years, 10 months ago
This course suffers from a fundamentally flawed approach to teaching Android development. It tries to teach Android development by having students listen to lectures and take quizzes instead of writing Android applications. While the production quality of these lectures is high, they are nearly useless for learning Android development. Learning to write Android applications is mostly learning the Android API. It is a rich, complex API and just like learning any other API such as JPA, JSF, or Swing you have to write code to learn it. While this course does have programming assignments, Coursera defeats the learning process by distributing Android applications that are more than 90% complete with a few TO DO blocks in them for students fill in with a few lines of code. The few lines of code in the TO DO blocks are then peer graded. This approach is useless. What is needed is to have students write entire Android application... This course suffers from a fundamentally flawed approach to teaching Android development. It tries to teach Android development by having students listen to lectures and take quizzes instead of writing Android applications. While the production quality of these lectures is high, they are nearly useless for learning Android development. Learning to write Android applications is mostly learning the Android API. It is a rich, complex API and just like learning any other API such as JPA, JSF, or Swing you have to write code to learn it. While this course does have programming assignments, Coursera defeats the learning process by distributing Android applications that are more than 90% complete with a few TO DO blocks in them for students fill in with a few lines of code. The few lines of code in the TO DO blocks are then peer graded. This approach is useless. What is needed is to have students write entire Android applications. In a MOOC applications from thousands of students could only be graded by an autograder, but Coursera would not spend the money needed to develop an Android autograder. Hence the over-emphasis on lectures and quizzes which are much easier to do, but ineffective. The Princeton courses on algorithms by professors Sedgewick and Wayne have a very impressive autograder that could serve as a model for Coursera's Android courses. The professors specify an API that the application has to implement and the autograder gives detailed feedback on the implementation. There will be some challenges for an autograder for Android applications. It may not be possible to autograde an app that plays an audio or video file. Someone would have to watch and listen to see if it is played back correctly. Peer grading would probably be needed in these cases. Coursera is responsible for this failed approach. During the second course in this specialization (taught by Professor Douglas Schmidt) some of us were lamenting the lack of an autograder. Professor Schmidt responded that there was no way to develop an autograder since they had no budget for the two courses. This course alone provided over $400,000 in revenue to Coursera, but they didn't invest any of it back into the course. Coursera ate all of the seed corn. Professor Porter probably did the best he could with what he had to work with. It is up to Coursera to provide the resources (money) to create the technology needed to teach this course effectively. Startups are supposed to create new technology, not repackage centuries-old techniques and deploy them on the web. Get with it, Coursera.
Was this review helpful? Yes0
 Flag
Mashimo profile image
Mashimo profile image
6/10 starsCompleted
  • 4 reviews
  • 4 completed
5 years, 2 months ago
The course is good as an introduction to the Android platform: all main classes are (briefly) described and references to dig deeper are given. Of course is a bit superficial, the subject is too big to be handled in few weeks. The assignments are not really engaging (you just have to fill ToDo parts in existing but incomplete programs) but just after the course I started to make small apps - one for every topic - and this helped a lot to further expand what I learned. If you think it as a kick-off to start learning Android is a good course, just do not think it will make you immediately an Android programmer.
Was this review helpful? Yes1
 Flag
Jeanne Boyarsky profile image
Jeanne Boyarsky profile image
6/10 starsCompleted
  • 33 reviews
  • 29 completed
5 years, 6 months ago
I thought this class had a lot of potential. It felt as if multiple people created it. The weekly emails were encouraging and a good summary. The lectures explained concepts (although there was a bit too much of “watch me do this.” The PDFs each week were good. The quizzes largely had you looking up things in the manual. Or the examples. The examples were helpful to have. But sometimes the quizzes didn’t match the examples as far as project names. Then there were the assignments. I wanted the labs/assignments to reinforce the material and make it hands on. That wasn’t what happened. The labs felt like magic. There were typos. It was unclear exactly what was needed. I found myself relying on the walkthrus from other students to get them done. Wasting time on undocumented assumptions didn’t seem like a good way to spend time.. I did like that there were unit tests so you could watch the emulator drive the code. Overall, the class was f... I thought this class had a lot of potential. It felt as if multiple people created it. The weekly emails were encouraging and a good summary. The lectures explained concepts (although there was a bit too much of “watch me do this.” The PDFs each week were good. The quizzes largely had you looking up things in the manual. Or the examples. The examples were helpful to have. But sometimes the quizzes didn’t match the examples as far as project names. Then there were the assignments. I wanted the labs/assignments to reinforce the material and make it hands on. That wasn’t what happened. The labs felt like magic. There were typos. It was unclear exactly what was needed. I found myself relying on the walkthrus from other students to get them done. Wasting time on undocumented assumptions didn’t seem like a good way to spend time.. I did like that there were unit tests so you could watch the emulator drive the code. Overall, the class was fair. If it wasn’t part of a three part series, I probably would have dropped it. And I certainly wouldn’t have done the final project.
Was this review helpful? Yes4
 Flag
Mario Gómez Martínez profile image
Mario Gómez Martínez profile image
7/10 starsCompleted
  • 3 reviews
  • 3 completed
5 years, 5 months ago
I took this introductory course with some previous knowledge of the topics and got 100% score. Overall, a solid MOOC with the right scope, nice presentations, but a bit lacking in the practical side. Videolectures: I think the videolectures for this course are quite professional. The presenter (Adam Porter) does a great job, the videos are very informative, clear and concise. I think the range and depth of the topics covered are appropriate, and the number and duration of the videos is appropriate Code examples and Exercises: this course includes a lot of code examples. However, I think there are too many projects, sometimes with just a few differences, so it is a bit tedious to look for specific content in those examples. I would say the amount of code is right, but it is too scatered. The coding exercises are all of the "fill in the gaps" kind. This kind of exercise seems appropriate for beginners, even with no previous knowledge o... I took this introductory course with some previous knowledge of the topics and got 100% score. Overall, a solid MOOC with the right scope, nice presentations, but a bit lacking in the practical side. Videolectures: I think the videolectures for this course are quite professional. The presenter (Adam Porter) does a great job, the videos are very informative, clear and concise. I think the range and depth of the topics covered are appropriate, and the number and duration of the videos is appropriate Code examples and Exercises: this course includes a lot of code examples. However, I think there are too many projects, sometimes with just a few differences, so it is a bit tedious to look for specific content in those examples. I would say the amount of code is right, but it is too scatered. The coding exercises are all of the "fill in the gaps" kind. This kind of exercise seems appropriate for beginners, even with no previous knowledge of Java. Final project: whitouth doubt this was the worst aspect of this course. Not only the code in this project is full of issues, as many students reported. My main criticism is the fact that this is another "fill in the gaps" kind of exercise. Being the final project and the ontly exercise using a peer review evaluation, I expected this final project to be something else, something to be developerd from scratch.
Was this review helpful? Yes1
 Flag
Roman Shapovalov profile image
Roman Shapovalov profile image
7/10 starsCompleted
  • 7 reviews
  • 7 completed
5 years, 6 months ago
Having completed this course, I have somewhat mixed feelings about it. On the one hand, I learned the basic concepts (like Activity lifecycle or ContentProviders), on the other hand I don’t feel ready to write more or less serious application from scratch. It seems fine overview course, but the practical part is weak. Lectures. I agree with the others who think that the lectures can be more engaging. Every lecture has a predefined pattern: 1) discuss a concept, 2) show the example application, 3) show the code how it is done. From those three, only the first point is necessary. Examples are predictable, so you don’t need to spend that much time to watch them, the code is in contrast shown quickly, so you cannot really get into that (yes, you can stop the video, but in practice I did not often want to). Said that, the set of example applications used in the course is amazing (and you can download them). May be the lecturer could skip ... Having completed this course, I have somewhat mixed feelings about it. On the one hand, I learned the basic concepts (like Activity lifecycle or ContentProviders), on the other hand I don’t feel ready to write more or less serious application from scratch. It seems fine overview course, but the practical part is weak. Lectures. I agree with the others who think that the lectures can be more engaging. Every lecture has a predefined pattern: 1) discuss a concept, 2) show the example application, 3) show the code how it is done. From those three, only the first point is necessary. Examples are predictable, so you don’t need to spend that much time to watch them, the code is in contrast shown quickly, so you cannot really get into that (yes, you can stop the video, but in practice I did not often want to). Said that, the set of example applications used in the course is amazing (and you can download them). May be the lecturer could skip that part in the lectures and ask students to explore the applications, providing a quiz to make sure they understood what the particular lines of code do. Quizzes. They either require documentation lookup, or bring up the details from lectures, which I often forgot since the lectures were quite boring (see above). Not really useful. Assignments. You needed to fill some lines of code and run tests. While that improved towards the end of the course, I often could guess what to insert without full understanding of that code. The latter assignments provided more freedom, but still not enough to require deep understanding. This seems like a constraint of an automated testing. Final project. Complete disappointment. I allocated a whole day thinking that it would require some creative effort (it was peer-graded), but it was once again a fill-line assignment. Since it was hard to go the wrong way, the peer grading turned out to be formal and unnecessary: I gave out the maximum score to all peers. To summarize, in my opinion the course should spend less time on lectures and instead provide more challenging assignments/projects where you need to implement a significant part of an application. Personal/group projects would be very useful.
Was this review helpful? Yes1
 Flag
Robert Davis profile image
Robert Davis profile image
8/10 starsCompleted
  • 16 reviews
  • 16 completed
5 years, 4 months ago
This class was a good introduction to Android programming concepts. I think the professor did a good job of presenting the material. The only negative that I have is in regards to the forums. Apparently no one was moderating them because there was rampant cheating taking place in plain sight. Overall I recommend this class. It was fun and pretty easy if you have any OO programming experience.
Was this review helpful? Yes0
 Flag
Ekaterina Rumyantseva profile image
Ekaterina Rumyantseva profile image
4/10 starsDropped
  • 6 reviews
  • 5 completed
5 years, 5 months ago
I'd dropped the course after I discovered that the first 3 weeks of the course = about 100 lessons at a website. It's kind of learning integrals on the 3 math lesson.
Was this review helpful? Yes0
 Flag
Roger Weiss profile image
Roger Weiss profile image
4/10 starsTaking Now
  • 1 review
  • 0 completed
5 years, 7 months ago
Firstly my background: Been a programmer for 20 years on various platforms. I know enough java to get things done and this is my first formal course on the Android Platform. The good: Great overview of all the main classes you'll be using in creating an Android App. All the examples used in the videos are available for download. The bad: As said in "The good", its just an overview. You don't go into any detail of any of the components. The lecturer just drones through the very verbose slides and doesn't make them interesting. I eventually resorted to fast forwarding the videos to double speed! Too many videos have be watched in a week. Then 1 assignment is used to test the basics of some of the classes mentioned the lecture. They seemed to focus on quantity rather than quality. How it could be improved. # Make the course longer, reduce the number of videos per week # For each topic, have a dedicated assignment for that topic to help ... Firstly my background: Been a programmer for 20 years on various platforms. I know enough java to get things done and this is my first formal course on the Android Platform. The good: Great overview of all the main classes you'll be using in creating an Android App. All the examples used in the videos are available for download. The bad: As said in "The good", its just an overview. You don't go into any detail of any of the components. The lecturer just drones through the very verbose slides and doesn't make them interesting. I eventually resorted to fast forwarding the videos to double speed! Too many videos have be watched in a week. Then 1 assignment is used to test the basics of some of the classes mentioned the lecture. They seemed to focus on quantity rather than quality. How it could be improved. # Make the course longer, reduce the number of videos per week # For each topic, have a dedicated assignment for that topic to help solidify the concepts learnt for that topic. This helps re-inforce what is just learnt, instead of wading through a few hours of lectures and then doing an assignment at the end. # It started off well with diagrams on Activity Lifecyle. The rest just became monotonous very wordy slides. # They just barely skim the surface of a concept and then move on # The assignments are just about filling in a couple of lines of code in their predefined locations denoted by their TODO comments in the skeleton source code. Nobody ever learnt anything by filling in code via TODO statements. Conclusion: I had a lot of excitement for the Android platform prior to starting this course. I would have dropped the course but I paid for the signature track up front, so I'm reluctant to simply throw my money away. I've done many courses in my 20 year programming history and I have to say this one is forgettable. You will most likely get more value from another course or by picking up a book and doing it the old fashioned way. Sorry for the negative review. I realize it must be a mammoth task to package a course of such a rich framework in just a 2 months. Be that as it may, this is my perception having done the 80% of the course so far. A mentioned I think that is the very problem: you can't condense a course of this nature into 2 months.
Was this review helpful? Yes6
 Flag
Xiang Ji profile image
Xiang Ji profile image
8/10 starsTaking Now
  • 10 reviews
  • 5 completed
5 years, 7 months ago
A pretty good class actually. The lecturer might be a bit old-fashioned but at least he presents the contents methodically and with familiarity. He explains almost evey basic aspect of android applications, including underlying structure, four classes(activity, contentprovider, Broadcastreceiver, Service), UI, async operations, networking, touching, location services etc and have all corresponding labs and quizzes to help you learn them. Having someone experienced to guide you through is definitely much better than dully reading through the official documents and stuff. After the class you should be able to dish out an android application with ease. I don't understand the people complaining. It seems to me many of them don't have the required programming background(it says you have to have at least about sophomore level) and then can't understand the contents and then blame the lecturer. Come on, this is serious programming, not a ch... A pretty good class actually. The lecturer might be a bit old-fashioned but at least he presents the contents methodically and with familiarity. He explains almost evey basic aspect of android applications, including underlying structure, four classes(activity, contentprovider, Broadcastreceiver, Service), UI, async operations, networking, touching, location services etc and have all corresponding labs and quizzes to help you learn them. Having someone experienced to guide you through is definitely much better than dully reading through the official documents and stuff. After the class you should be able to dish out an android application with ease. I don't understand the people complaining. It seems to me many of them don't have the required programming background(it says you have to have at least about sophomore level) and then can't understand the contents and then blame the lecturer. Come on, this is serious programming, not a child's game. Go take some intro to programming before returning and fantasizing about making an app without spending any effort. If you want some "courses" which claim to teach something but in the end just bluffs its way through with seemingly funny but totally contentless stuffs, this is not for you and we're happy to have you leaving anyways. The deadline changess are probably about "signature track", which i doubt has more to do with coursera than the lecturer anyways. Some others complain about the massive reading one has to do besides of the lecture videos to finish the assignments and fashion out a real application. But this is how you learn. Lectures are always just a summary and guide. It can’t replace reading. If you don’t even have this basic notion then you probably shouldn’t be doing CS at all. Bottom line: There’s simply NO course which can MAGICALLY turn you into a competent Android programmer by just lecturing. And this course this already doing great it what it can.
Was this review helpful? Yes3
 Flag
Gabriel Candal profile image
Gabriel Candal profile image
4/10 starsCompleted
  • 18 reviews
  • 14 completed
5 years, 7 months ago
As a CS student, I ended up finding this course useful, even though it is clearly below the level of most MOOCs on Software. It is more of an overview of Android's features rather than a place where you could learn this stuff in a solid manner. Even though the lectures are well organised and the instructors are available on forums, the quizzes are too easy and you will learn little from it (this was half-solved during the course, when they introduced extra exercises), since they're based on filling TODO's with just a few sentences. It is not easy to identify what went wrong, but even as someone who completed everything until ~week 5, I do not feel I do comfortably know Android by know, besides an overall knowledge on what can it do. Despite all this, it is great material to keep around (mainly for future reference, to consult while you develop).
Was this review helpful? Yes2
 Flag
Student profile image
Student profile image

Student

1/10 starsTaking Now
5 years, 7 months ago
This course is extremely disappointing. The lectures are dry and all look exactly the same. The material is presented in the least interesting way possible...a powerpoint that just drones on and on about classes and methods to perform abstract functions within Android. The "example applications" are not interesting and don't get you excited. Often times the lab exercises are disjointed from the lecture, don't reinforce the concepts, have typos, and are really not informative. Many students complain of spending hours for very little return. There also appears to be something wrong that is triggering the instructor to react by changing deadlines, reducing the number of graded exercises, etc. I suspect that so many people are jumping ship that he is doing anything he can to keep people on board. Having taken many other courses on Coursera, I'm disappointed with this offering as are many of the students active on the discussion forum.
Was this review helpful? Yes2
 Flag
Connie profile image
Connie profile image
10/10 starsTaking Now
  • 10 reviews
  • 9 completed
5 years, 7 months ago
Prior Experience: A Java developer already learning Android Programming since last July. Already completed "Creative, Serious, Playful Android" course. This is a good course because instructor provided tons of source codes for student to download before the course began in late January. He also put key points in slides that I constantly refer to when taking quizzes and doing labs. Because of this course, I finally understand the usage of BroadcastReceiver, Notification area and Handler class. I am looking forward to week 8 where Service and Content Provider are covered: advanced topics that I am confused of after reading as many online tutorials as I can find. The labs are manageable with practical values, for example, Todo Manager lab in week 3 and Twitter App in week 5. I paid for the signature track for the first time because I am so impressed with the quality of course materials and instructor's teaching method. Thank you instruc... Prior Experience: A Java developer already learning Android Programming since last July. Already completed "Creative, Serious, Playful Android" course. This is a good course because instructor provided tons of source codes for student to download before the course began in late January. He also put key points in slides that I constantly refer to when taking quizzes and doing labs. Because of this course, I finally understand the usage of BroadcastReceiver, Notification area and Handler class. I am looking forward to week 8 where Service and Content Provider are covered: advanced topics that I am confused of after reading as many online tutorials as I can find. The labs are manageable with practical values, for example, Todo Manager lab in week 3 and Twitter App in week 5. I paid for the signature track for the first time because I am so impressed with the quality of course materials and instructor's teaching method. Thank you instructor.
Was this review helpful? Yes0
 Flag

Rating Details


  • 5 stars
  • 4 stars
  • 3 stars
  • 2 stars
  • 1 stars
  • 5 stars
  • 4 stars
  • 3 stars
  • 2 stars
  • 1 stars
  • 5 stars
  • 4 stars
  • 3 stars
  • 2 stars
  • 1 stars

Rankings are based on a provider's overall CourseTalk score, which takes into account both average rating and number of ratings. Stars round to the nearest half.