Skip to content

sut-mobile-spring2024/sut-mobile-spring2024.github.io

Repository files navigation

layout title nav_exclude permalink seo
home
MP Course
true
/:path/
type name
Course
Mobile Programming

Mobile Programming Course

This course is designed for students interested in the development of mobile applications for Android and iOS platforms. Throughout the course, students will explore core concepts and modern patterns in mobile programming, learning to design and develop applications that are functional, efficient, and adaptable to different mobile environments. The course focuses on setting up development environments, designing intuitive user interfaces, handling data management, and leveraging platform-specific technologies like sensors, location services, and media management. Students will gain hands-on experience in both Android and iOS ecosystems, with a deep dive into the Android Studio and Xcode development environments, as well as working with Java and Swift programming languages.

Course Breakdown:

  • Introduction to Android Development: Setup of Android development environment, introduction to Android Studio and Android SDK, debugging, and building basic applications.
  • User Interface Design: Understanding UI patterns like MVP, creating custom UI components, dynamic layout management, and best practices in UI design for mobile applications.
  • Data Management and Localization: Techniques for data storage and retrieval using shared preferences, SQLite databases, and implementing localization (l10n) and internationalization (i18n).
  • Memory and Threading in Android: Exploring Android’s memory model, application lifecycle, and asynchronous tasks with AsyncTask.
  • Android Services and Sensors: Working with location-based services, notifications, camera management, sensors, and handling in-app purchases.
  • Introduction to iOS Development: Setup of the iOS development environment with Xcode, introduction to storyboards, and working with the MVC pattern.
  • Programming with Swift: Fundamentals of Swift, including data types, classes, optionals, generics, protocols, error handling, and memory management.
  • iOS Development Technologies: Utilizing key iOS technologies like UIKit, Core Graphics, Core Animation, game development with Sprite Kit and Game Kit, data management with Core Data, and media handling with AV Foundation.
  • Mobile Security: Identifying mobile security threats, using obfuscation tools, and conducting static and dynamic security analysis to ensure app security.

By the end of the course, students will be able to design and develop sophisticated mobile applications for Android and iOS platforms, effectively handle data, memory, and threading, and apply security best practices to ensure that their applications are reliable and secure.