Mobile Applications and Development
Completion requirements
Course Objectives
The objectives of this course are to:
- Introduce the core concepts and tools used in mobile application development.
- Develop technical skills in mobile app design, coding, and deployment.
- Familiarize students with the architecture and components of mobile applications.
- Provide hands-on experience in implementing mobile app features and integrating services.
- Highlight the ethical and legal implications of mobile application development.
Learning Outcomes
By the end of this course, students should be able to:
- Develop mobile applications using appropriate tools, languages, and frameworks for Android and iOS platforms.
- Apply UX and UI design principles to create intuitive and engaging user interfaces.
- Integrate common mobile app features, including push notifications, location-based services, and social media functionality.
- Test and debug mobile applications, ensuring functionality and reliability.
- Submit applications to app stores, meeting approval requirements and understanding the distribution process.
- Create marketing strategies to promote mobile applications effectively.
- Collaborate in a team environment to design, develop, and deploy mobile applications.
- Address ethical and legal considerations, such as data privacy and intellectual property, in app 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
- Continuous Assessment (quizzes, assignments, projects, participation): 40%
- Midterm Examination: 20%
- Final Examination: 40%
Reading List/References
Primary Texts (Essential Readings):
- Deitel, P. J., & Deitel, H. M. (2022). Android 11 Programming with Kotlin for Developers. Prentice Hall.
- Sadun, E. (2021). Swift Programming: The Big Nerd Ranch Guide. Big Nerd Ranch Guides.
Supplementary Texts (Recommended Readings):
- Korf, R., & Pedersen, J. (2022). Flutter and Dart: The Complete Mobile App Development Guide. Apress.
- Murphy, M. (2021). The Busy Coder’s Guide to Android Development. CommonsWare.
Online Resources:
- Android Developers Documentation: https://developer.android.com
- Apple Developer Documentation: https://developer.apple.com
- SQLite Tutorial: https://www.sqlite.org