DCU Home | Our Courses | Loop | Registry | Library | Search DCU


Module Specifications

Archived Version 2014 - 2015

Module Title
Module Code

Online Module Resources

NFQ level 8 Credit Rating 20
Pre-requisite None
Co-requisite None
Compatibles None
Incompatibles None

This module covers a variety of key topics in software development including, XML, testing, documentation, version control, server and network communication, User Interface and User Experience design, developing using APIs and SDKS, developing for platforms with constrained resources, using input from sensors, and presentation of developed work to others in written and oral modes. Students will learn fundamental principles, methodologies and design patterns and apply them using Java and the Android mobile application development platform.

Learning Outcomes

1. Evaluate and select strategies for differentiating and porting between mobile platforms
2. Use XML to model data
3. Use design patterns to create event driven user interfaces for mobile applications
4. Debug and optimise a mobile application
5. Unit Test applications using appropriate tools
6. Document programmes using appropriate tools
7. Demonstrate, in designing and building applications, how to accommodate the key forces and constraints acting on handheld devices
8. Use version control to develop software
9. Develop applications that are capable of interfacing with smart phone hardware e.g. camera, compass, accelerometer and global positioning system (GPS) receiver.
10. Create network enabled applications for smart phone devices that are capable of connecting to the Internet and interacting with web services.
11. Develop smart phone applications with integrated support for multimedia.
12. Create applications that can persist, retrieve and share data.
13. Use the various features of the android development framework including UI, resources, security, multimedia, location, etc.
14. Demonstrate and present the results of work in written form
15. Present and discuss the results of work orally

Workload Full-time hours per semester
Type Hours Description
Total Workload: 0

All module information is indicative and subject to change. For further information,students are advised to refer to the University's Marks and Standards and Programme Specific Regulations at: http://www.dcu.ie/registry/examinations/index.shtml

Indicative Content and Learning Activities

Full listing of the subjects covered in the module notes and videos
UNIT 1: INTRODUCTION TO THE ANDROID PLATFORMAndroid Architecture UNIT 2: VERSION CONTROL WITH GIT Using the Command Line (Bash Shell) Getting a GitHub Student Account Install Git` Create a repository Cloning a remote repository Working with files and repositories Further required reading on Git version control fundamentals Optional further reading UNIT 3: GETTING STARTED - THE ANDROID DEVELOPMENT FRAMEWORK Setting Up the Development Environment Installing the Android ADT Bundle Building your first Project Setting up an Android Device (phone or tablet) for Development Creating an Android Virtual Device (AVD) Android Developer Tools Accelerators Your Turn: Tasks to Complete UNIT 4: APPLICATION FUNDAMENTALS Application Fundamentals App Components The Manifest File UNIT 5: ACTIVITIES Activity Class Activity Life Cycle Android Tasks Starting an Activity Your Turn: Tasks to Complete UNIT 6: INTENTS Intent Class Intents and Activities Intent Resolution Your Turn: Tasks to Complete UNIT 7: USER INTERFACE XML Attributes View Class Button TextView EditText CheckBox RadioButton Some Common View Operations ViewGroup: Layouts Linear Layout Your Turn Tasks to Do Relative Layout Your Turn Tasks to Do ViewGroups: Adapters ListView and ListActivity Your Turn: Tasks to Complete UNIT 8: MOBILE USER INTERFACE DESIGN Style and themes Design Patterns Action Bar Notifications and Feedback Designing for Different Devices Fragments Internationalisation Architectural Design Patterns: MVC Using the tools of Mobile Interface Design Sketching and Wireframes Screen Map Prototypes UNIT 9: TESTING, DOCUMENTATION AND OPTIMISATION How do I test my code? Lesson 1: Setting Up Your Test Environment Your Turn Tasks To Complete: Lesson1 Lesson 2: Creating and Running a Test Case Your Turn Tasks To Complete: Lesson2 Lesson 3: Testing UI Components Your Turn Tasks To Complete: Lesson3 Lesson 4 : Creating Unit Tests Your Turn Tasks To Complete: Lesson4 Lesson 5 : Creating Functional Tests Your Turn Tasks To Complete: Lesson5 Code Documentation : JavaDoc Hierarchy Viewer Your Turn Tasks to Complete Optimising your UI UNIT 10: PERMISSIONS Using Permissions Your Turn: Tasks to complete Declaring and Enforcing Permissions (Custom Permissions) Your Turn: Tasks to Complete UNIT 11: FRAGMENTS, ACTION BAR AND MENUS Fragments Fragment Lifecycle Lifecycle Events Add a Fragment to an Activity at Runtime Menus Setting up the Menu in the Action Bar Action Bar and Tabs Your Turn Tasks To Complete UNIT 12: THREADS, ASYNCTASK CLASS Creating a new Asynchronous Task Your Turn Tasks to Complete: UNIT 13 STORAGE Shared Preferences Data Management Preference Fragment Using the Internal Storage Using the External Storage Using Databases Manipulating a SQLite database in Android: Content Providers Creating a Custom Content Provider Cursor Loader Your Turn Tasks to Complete: UNIT 14: MULTIMEDIA Your Turn Tasks to complete: Playing Video Capturing Photos Request Camera Permission Recording Videos Simply To Do Your Turn Performing Audio Capture Your Turn Tasks to Complete: UNIT 15: NOTIFICATIONS AND FEEDBACK Let’s Make some Toast Your Turn Tasks To do. Dialogs: Specialised Input Dialogs Introducing Notifications: Notify demo app Creating a Notification in To Do your Turn: Your Turn Tasks to Complete: UNIT 16: SERVICES AND RECEIVERS Creating a service: Your turn tasks to do Broadcast Receivers Your Turn Tasks To Complete Your Turn Tasks to Complete: UNIT 17: NETWORKS Sockets HttpURLConnection AndroidHttpClient JSON and XML JSON XML Your Turn Tasks to Complete: UNIT 18: SENSORS Finding Sensors and Sensor Capabilities Monitoring Sensor Events Sensor Coordinate System Best Practices for Accessing and Using Sensors Your Turn Tasks to Complete: UNIT 19: LOCATION: Location-Based Services (LBS) Location Providers LocationManager Retrieving Location Updates: LocationListener Google Maps How to install the Google Maps 2.0 environment: STEP 1: Set up the Google Play services SDK STEP 2: Obtain an API key for Google Maps v2.0 STEP 3: Specify settings in Application Manifest STEP 4: Add a path to the Google Map APIs. Your Turn Tasks to Complete:

Assessment Breakdown
Continuous Assessment% Examination Weight%
Course Work Breakdown
TypeDescription% of totalAssessment Date
Reassessment Requirement
Resit arrangements are explained by the following categories;
1 = A resit is available for all components of the module
2 = No resit is available for 100% continuous assessment module
3 = No resit is available for the continuous assessment component
Indicative Reading List

  • Deitel: 2014, Android for Programmers An App-Driven Approach, Pearson, 9780133570922
Other Resources

Programme or List of Programmes