CSCE 546 Mobile Application Development Spring 2021

We are going to learn Hybrid Mobile application development using HTML5/CSS/Javascript. Why App? Why Hybrid App? Hybrid app is the fastest way to deploy cross-platform apps. You also learn the skills for web development too.

Application areas:
Mobile Apps for consumers and enterprises.

Department of Computer Science and Engineering
University of South Carolina

Course Meeting Time & Location

Meeting Time: TTH 02:50 PM - 04:05 PM
Lab time (Starting from 2nd week)
Classroom: Virtually online via zoom meeting. (Link will posted at

Required Textbooks

Ionic 4+: Creating awesome apps for iOS, Android, Desktop and Web
ISBN-10: 3945102529;

Instructor: Dr. Jianjun Hu
Machine Learning and Evolution Laboratory (MLEG)
Email: jianjunh AT
Office: 2223 Storey Innovation Center, 550 Assembly St.
Office Hours: TTH 1:20-2:20am or by Appointment.

Course Description This course will cover the techniques and topics Hybrid App development using cordova. It will prepare you with skills for working in companies such as Google, Microsoft, Amazon, IBM, and many other business intelligence enterprises.

Course Highlights Many interesting topics may be covered:

  1. Overview of Mobile App development, Native Apps vs. Hybrid Apps, iOS/Android/Windows Platforms, #Java/Swift/Javascript+HTML5
  2. Application development fundamentals
  3. Programming fundamentals including computer programs, languages, compilers
  4. SDKs, development tools, running sample apps and simulating it on PC or on phones
  5. Handling basic interactions
  6. Creating user-interface components –text fields and buttons
  7. Link GUI elements to their functions
  8. Language fundamentals
  9. Data types, methods, messaging
  10. Final project proposal
  11. Getting familiar with user-interface components
  12. Views, Sliders, Switch, Image view, listview, table view
  13. Human Interface
  14. Creating a great user interface, using system-provided GUI controls.
  15. Collections and utility app
  16. Model-View-Controller (MVC) paradigm
  17. Collections to hold data
  18. Utility App to display multiple views
  19. Table and List views
  20. Displaying rows, deleting, inserting rows
  21. Application Settings and Data Persistence
  22. Exploring file system, reading data from file, creating and deleting files and directories, #writing data to files
  23. Cloud storage for app development
  24. iCloud or Parse framework as example framework
  25. Midterm
  26. GPS locations
  27. Using GPS location of the mobile devices
  28. Audio and Accelerometer
  29. Audio – play sounds - Vibration – force device to vibrate - Getting device orientation (x, y, z axes) - Getting raw accelerometer data - Filtering accelerometer data
  30. Gestural Inputs and Camera
  31. Pinch, Swipe, new gestures
  32. Mobile App testing
  33. Deploying Apps to different mobile app platforms
  34. Presentation of final project and project report
  35. No final exam (final project is used instead)

Prerequisite You should be able to program using high-level language C/C++ or java.

If you have need overwrite request to enroll, check it here

803 777-7849 (phone) Storey Innovation Center 2nd floor
550 assembly street, Columbia, SC

Department of Computer Science and Engineering
College of Engineering and Computing
University of South Carolina
550 assembly street, Columbia, SC, 29201