Course Objectives

The objectives of this course are to:

  1. Introduce the core concepts and tools used in mobile application development.
  2. Develop technical skills in mobile app design, coding, and deployment.
  3. Familiarize students with the architecture and components of mobile applications.
  4. Provide hands-on experience in implementing mobile app features and integrating services.
  5. Highlight the ethical and legal implications of mobile application development.

 

Learning Outcomes

By the end of this course, students should be able to:

  1. Develop mobile applications using appropriate tools, languages, and frameworks for Android and iOS platforms.
  2. Apply UX and UI design principles to create intuitive and engaging user interfaces.
  3. Integrate common mobile app features, including push notifications, location-based services, and social media functionality.
  4. Test and debug mobile applications, ensuring functionality and reliability.
  5. Submit applications to app stores, meeting approval requirements and understanding the distribution process.
  6. Create marketing strategies to promote mobile applications effectively.
  7. Collaborate in a team environment to design, develop, and deploy mobile applications.
  8. Address ethical and legal considerations, such as data privacy and intellectual property, in app development.
Module 1: Foundations of Mobile Application Development

  • Introduction to Integrated Development Environments (IDEs)
  • Setting up development environments for Android and iOS

Module 2: UI/UX Design Principles

  • Designing mobile user interfaces (UI)
  • Creating wireframes and prototypes
  • Principles of user experience (UX) design

Module 3: Mobile App Architecture

  • Architecture of mobile applications
  • Model-View-Controller (MVC) pattern
  • Core application components (activities, fragments, services, broadcast receivers)

Module 4: Programming for Mobile Platforms

  • Introduction to programming languages:
    • Java and Kotlin for Android
    • Swift for iOS
  • Programming concepts: syntax, constructs, and basic logic

Module 5: Data Management in Mobile Apps

  • SQLite database integration
  • CRUD operations (Create, Read, Update, Delete)
  • Data storage techniques

Module 6: Advanced Features in Mobile Applications

  • Push notifications
  • Location-based services
  • Camera and gallery access
  • Social media integration

Module 7: Testing and Deployment

  • Testing mobile applications on emulators and real devices
  • Debugging tools and techniques
  • App store submission: approval requirements and distribution

Module 8: Marketing and Ethics in Mobile Development

  • Developing marketing and promotion strategies
  • Ethical considerations: data privacy, security, and intellectual property laws
  • Legal compliance in mobile application development

 

Teaching/Learning Methods

  • Lectures
  • Practical programming sessions
  • Group discussions and collaborative projects
  • Case studies on real-world mobile applications
  • Hands-on exercises in testing and debugging
  • Multimedia presentations

 

Modes of Assessment

  1. Continuous Assessment (quizzes, assignments, projects, participation): 40%
  2. Midterm Examination: 20%
  3. Final Examination: 40%

 

Reading List/References

Primary Texts (Essential Readings):

  1. Deitel, P. J., & Deitel, H. M. (2022). Android 11 Programming with Kotlin for Developers. Prentice Hall.
  2. Sadun, E. (2021). Swift Programming: The Big Nerd Ranch Guide. Big Nerd Ranch Guides.

Supplementary Texts (Recommended Readings):

  1. Korf, R., & Pedersen, J. (2022). Flutter and Dart: The Complete Mobile App Development Guide. Apress.
  2. Murphy, M. (2021). The Busy Coder’s Guide to Android Development. CommonsWare.

Online Resources:

  1. Android Developers Documentation: https://developer.android.com
  2. Apple Developer Documentation: https://developer.apple.com
  3. SQLite Tutorial: https://www.sqlite.org