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


Module Specifications

Archived Version 2018 - 2019

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

Workload Full-time hours per semester
Type Hours Description
Tutorial21Face-to-face tutorials are held in DCU on Saturdays and Virtual Classroom tutorials on weekday evenings according to the timetable
Online activity16Interaction with tutor and fellow students
Independent Study469Reading, study, research and problem solving
Total Workload: 506

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


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

GETTING STARTED - THE ANDROID DEVELOPMENT FRAMEWORK Setting Up the Development Environment Installing Android Studio 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

APPLICATION FUNDAMENTALS Application Fundamentals App Components The Manifest File

ACTIVITIES Activity Class Activity Life Cycle Android Tasks Starting an Activity Your Turn: Tasks to Complete

INTENTS Intent Class Intents and Activities Intent Resolution Your Turn: Tasks to Complete

USER INTERFACE XMLAttributes View ClassButton TextView EditText CheckBox RadioButton Some Common View Operations ViewGroup: LayoutsLinear Layout Your Turn Tasks to Do Relative Layout Your Turn Tasks to Do ViewGroups: Adapters ListView and ListActivity Your Turn: Tasks to Complete

MOBILE USER INTERFACE DESIGN Style and themes Design Patterns Action Bar, Navigation Drawer 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

TESTING, DOCUMENTATION AND OPTIMISATION How do I test my code? Lesson 1: Setting Up Your Test Environment Your Turn Tasks To Complete: L Lesson 2: Creating and Running a Test Case Your Turn Tasks To Complete: Lesson 3: Testing UI Components Your Turn Tasks To Complete: Lesson 4 Unit Tests Your Turn Tasks To Complete: Lesson 5 : Creating Functional Tests Your Turn Tasks To Complete: 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)

UNIT 11:
FRAGMENTS, ACTION BAR , NAVIGATION DRWAWER 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

UNIT 12:
THREADS, ASYNCTASK CLASS Creating a new Asynchronous Task

UNIT 13:
STORAGE SharedPreferences 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 ContentProvider Cursor Loader

UNIT 14:
MULTIMEDIA Your Turn Tasks to complete: Playing Video Capturing Photo Request Camera Permission Recording Videos Simply, To Do Your Turn Performing Audio Capture

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

UNIT 16:
SERVICES AND RECEIVERS Creating a service: Broadcast Receivers

UNIT 17:
NETWORKS Sockets HttpURLConnection AndroidHttpClient JSON and XML JSON XML

UNIT 18:
SENSORS Finding Sensors and Sensor Capabilities Monitoring Sensor EventsSensor Coordinate System Best Practices for Accessing and Using Sensors

UNIT 19:
LOCATION: Location-Based Services (LBS) Location Providers Location Manager Retrieving Location Updates: Location Listener Google Maps How to install the Google Maps 2.0 environment: STEP 1: Set up the Google Play services SDKSTEP 2: Obtain an API key for Google Maps v2.0STEP 3: Specify settings in Application Manifest STEP 4: Add a path to the Google Map APIs.

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