Topic outline

  • Course Introduction

    Technology continues to evolve and provide us with increasingly powerful mobile devices.  As a result, applications that can run on a browser must also be written such that they are compatible with mobile devices, the majority of which are now web-enabled.  Meanwhile, there is an increasing demand for native applications that can be downloaded to and run on mobile devices.  This course will address these trends, teaching you to think about the unique design and deployment issues that must be taken into consideration when developing applications for mobile devices.

    This course will expand upon what has been covered in CS305: Web Development.  We will specifically look at the tools used to design mobile applications.  We will learn about mobile platforms, mobile browsers, native applications, and best practices in terms of test usability.

    Page: 1
  • Unit 1: Introduction to Mobile Application Development

    In this unit, we will take a broad look at mobile application development.  We will learn about the different types of mobile devices, from mobile computers to smartphones, and we will compare web-based applications to native applications.  Finally, we will study methods of transport, as well as Internet protocols for mobile applications.

    Page: 1
  • Unit 2: Infrastructure

    In this unit, we will look at the mechanics that enable web-based mobile applications to run.  We will first start with basic networking capabilities, such as how a device connects to the Internet, and then discuss routing and proxies.  We will also learn how a browser on a mobile device accesses the network and how a server receiving a request routes it to the appropriate logic in order to process that request.

    Page: 1
  • Unit 3: HTML/CSS/DOM and Scripting

    This unit will review some of the material that was covered in CS305: Web Development, such as HTML, CSS, the Document Object Model, and JavaScript.  This unit will be helpful to those students who have not taken CS305 and will provide a refresher for those whose skills are rusty in these areas.  We will look at basic web page design using HTML and review how cascading style sheets are used.  The unit will conclude with a basic overview of JavaScript.

    Page: 1
  • Unit 4: JQuery and Structured Data

    In this unit, we will take a brief look at JQuery, a mechanism for direct access to the document object model within a script.  Since mobile applications often need to interact with a service, we will also look at how data between the service and the mobile application is exchanged using either Extensible Markup Language (XML) or JavaScript Object Notation (JSON).  We will compare and contrast both formats.

    Page: 1
  • Unit 5: Scripting with Server Access

    Thus far in this course, we have taken a brief look at scripting from the client side.  We will now discuss scripting from the server side, which is more secure and offers increased functionality.  Asynchronous JavaScript and XML (AJAX) allow the server to access scripting code within Dynamic HTML through the use of an XMLHTTPRequest object.  In this unit, we will study AJAX and learn how it is implemented.  This is a particularly important consideration for mobile apps, since AJAX will enable data to be refreshed on a browser or application screen without requiring that the entire screen be refreshed.  In essence, the data is reloaded from the server based on user interaction.

    Page: 1
  • Unit 6: Designing Mobile User Interfaces

    Since mobile devices have screen size and memory limitations, one must really think carefully before designing a user interface.  In this unit, we will discuss usability, learning how to ascertain what the user needs through task and contextual analysis.  We will then apply this information as we discuss various approaches to building good user interfaces.  The unit will also cover rapid prototyping and testing and will explain how all of the traditional UI design principles apply--to some degree--to mobile application development as well.  Finally, we will look at the different types of user interfaces for mobile devices.

    Page: 1
  • Unit 7: Mobile Application Evaluation and Mobile Browsers

    Once a mobile application has been developed, you will want to test it for usability.  In this unit, we will talk about ways of evaluating mobile apps.  We will also look at the differences between traditional browsers and mobile browsers and identify the elements that must be taken into consideration when designing an application for deployment on a mobile browser.

    Page: 1
  • Unit 8: Mobile Platforms

    In this unit, we will take a look at the differences between native and web-based mobile applications.  We will discuss HTML5 as a means to fill the gap between native and web-based mobile apps.  We will also learn about some hybrid approaches, such as PhoneGap, FlashLight, and JavaFX.

    Page: 1
  • Unit 9: Storage and Geolocation

    In this unit, we will learn how mobile applications store persistent data.  We will also look at how we could develop applications that utilize device location.

    Page: 1
  • Unit 10: Android Development

    In this unit, we will look at how to develop applications in one popular platform for phones and tablets, the Android.  In order to complete this unit, it is assumed that the student has had some experience with Java programming, although a brief review of Java will be included.

    Page: 1
  • Unit 11: iPhone/iPad Development

    In this unit, we will look at how to develop applications in one popular platform for phones and tablets, iOS.  In order to complete this unit, it is assumed that the student has had some experience with programming.

    Page: 1
  • Optional Course Evaluation Survey

    Please take a few moments to provide some feedback about this course at the link below. Consider completing the survey whether you have completed the course, you are nearly at that point, or you have just come to study one unit or a few units of this course.

    Link: Optional Course Evaluation Survey (HTML)

    Your feedback will focus our efforts to continually improve our course design, content, technology, and general ease-of-use. Additionally, your input will be considered alongside our consulting professors' evaluation of the course during its next round of peer review. As always, please report urgent course experience concerns to contact@saylor.org and/or our Discourse forums.

  • Final Exam

    Quiz: 1