CS412: Mobile Applications Development

Course Syllabus for "CS412: Mobile Applications Development"

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.

Learning Outcomes

Upon successful completion of this course, the student will be able to:

  • Define mobile computing and the types of mobile devices.
  • Detail the history of mobile computing.
  • Explain the basic theory behind networks and cellular networks.
  • Write HTML and JavaScript code for mobile devices.
  • Discuss user interface design considerations.
  • Explain the differences between HTML5 and HTML.
  • Develop apps for Android devices.
  • Develop apps for IOS devices.

Course Requirements

In order to take this course, you must:

√    Have access to a computer.

√    Have continuous broadband Internet access.

√    Have the ability/permission to install plug-ins (e.g., Adobe Reader or Flash) and software.

√    Have the ability to download and save files and documents to a computer.

√    Have the ability to open Microsoft files and documents (.doc, .ppt, .xls, etc.).

√    Be competent in the English language.

√    Have read the Saylor Student Handbook.

√    Have completed the following course: CS305: Web Development

Course Information

Welcome to CS412!  Below, please find some general information on the course and its requirements. 
Course Designer: John Russo
Primary Resources: This course is comprised of a range of different free, online materials.  However, the course makes primary use of the following materials:

  • UC Berkeley: Erik Wilde’s “Mobile Application Design and Development”
  • YouTube: Indian Institute of Technology: S. Ghosh’s  “Networking”
  • The NewBoston Education: JavaScript Tutorial
  • W3Schools.com
  • Eurocom Sophia-Antipolis: Navid Nikaein’s Mobile Applications and Services: Design and Development Course
  • Harvard University OpenCourseWare: Computer Science E-76

Requirements for Completion: In order to complete this course, you will need to work through each unit and all of its assigned materials.  Pay special attention to Unit 1, as this lays the groundwork for understanding the more advanced, exploratory material presented in later units. 
You will also need to complete a Final Exam.  Please note that you will only receive an official grade on your Final Exam.  In order to “pass” the course, you must receive a grade of 70% or higher on the Final Exam.  Your score on the exam will be tabulated as soon as you complete it.  If you do not pass the exam, you may take it again.
Time Commitment: This course will take approximately 105 hours to complete.  Each unit includes a “time advisory” that lists the amount of time you are expected to spend on each subunit.  These should help you plan your time accordingly.  It may be useful to take a look at these time advisories and to determine how much time you have over the next few weeks to complete each unit, and then set goals for yourself.  For example, Unit 1 takes 8 hours to complete.  Perhaps you could sit down with your calendar and plan to complete the introduction through subunit 1.2 (a total of 3 hours) on Monday and Tuesday evenings, subunit 1.3 (a total of 45 minutes) on Wednesday evening, and so forth.