- From www.coursera.org
Programming Mobile Services for Android Handheld Systems: Concurrency
- Self-paced
- Free Access
- 6 Sequences
- Introductive Level
Course details
Syllabus
This MOOC is organized into the following sections (all of which contain a mixture of pre-recorded videos and all of which are subject to change):
- Section 0: Course Introduction
- Part 1: Course Organization and Topics
- Part 2: Course Prerequisites, Workload, and Learning Strategies
- Part 3: Concurrency Motivations
- Part 4: Concurrency Challenges
- Part 5: Overview of Patterns and Frameworks
- Part 6: Overview of Android Layers
- Section 1: Overview of Concurrency for Android and Java
- Part 1: Java Threading Mechanisms
- Part 2: Java Built-in Synchronization Mechanisms
- Part 3: Java Semaphores
- Section 2: Android Concurrency Frameworks: Programming
- Part 1: Overview of Android Concurrency Framework Classes
- Part 2: Overview of the Threaded Downloads Application
- Part 3: Overview of Handlers, Messages, and Runnables (HaMeR) Framework
- Part 4: Overview of the AsyncTask Framework
- Part 5: Evaluating Android Concurrency Frameworks
- Section 3: Android Concurrency Frameworks: Internals
- Part 1: Android Looper
- Part 2: Android Handler
- Part 3: Posting and Processing Runnables with the Android HaMeR Framework
- Part 4: Sending and Handling Messages with the Android HaMeR Framework
- Part 5: Blackbox and Whitebox Frameworks with AsyncTask
- Section 4: Communication Patterns in Android
- Part 1: Overview of Android Concurrency Framework Patterns
- Part 2: Coordinating Concurrent Access with the Monitor Object Pattern
- Part 3: Ensuring Only One Looper Per Thread with the Thread-Specific Storage Pattern
- Part 4: Passing Commands to Handlers with the Command Processor Pattern
- Part 5: Passing Messages to Handlers with the Active Object Pattern
- Part 6: Decoupling Synchronous and Synchronous Processing with the Half-Sync/Half-Async Pattern
Throughout this MOOC we'll focus on pattern-oriented software architecture, with an emphasis on concurrent programming in the context of Android middleware systems programming mechanisms, such as synchronous and asynchronous concurrency models. We illustrate by example how key pattern and framework concepts and relationships are applied in Android from both an application and infrastructure perspective. Many code examples are shown throughout using Java, with case study projects used to reify the key points throughout all the material in this MOOC.
The PDF versions of all the slides used in the MOOC will be available online as the videos become available on the MOOC website.
Prerequisite
Instructors
- - Electrical Engineering and Computer Science
Editor
Platform
Coursera is a digital company offering massive open online course founded by computer teachers Andrew Ng and Daphne Koller Stanford University, located in Mountain View, California.
Coursera works with top universities and organizations to make some of their courses available online, and offers courses in many subjects, including: physics, engineering, humanities, medicine, biology, social sciences, mathematics, business, computer science, digital marketing, data science, and other subjects.