Mobile Computing (2 hours/KV)

Course Information
Lecturer Ismail Khalil
Course No. 367008
Hours Block
Level
  • Bachelor Computer Science (521)
  • Diploma programme: Business Informatics (175)
  • Master Computer Science (921)
  • Master Web Science ()
Description / Goals
  • Brief Description
    Mobile computing is an emerging, and rapidly expanding computing environment that will allow users to perform their daily tasks by accessing data, information, or other logical objects from any device in any network while on the move.
    Advances in technology have enabled a proliferation of mobile devices - and mobility has enabled a broad spectrum of novel and out breaking solutions for new applications and services.

  • Objectives
    The objectives of this course is to give students the technical knowledge, the theoretical background and the hand-on experience needed to create their own mobile applications using the state of the art mobile technologies (e.g. iPhone, iPad, iPod touch, Android, etc.,) on different mobile platforms, OSs, and application frameworks. Focus of the course will be to give students the tools they need to become successful mobile application developers by learning how to build mobile Web apps and by using the same standards, techniques, and principles, learn how to create experiences for browsers, mobile devices, native applications, widgets, e-book readers, in-dash systems, gaming consoles, media centers, and so on that target the native features of the device as well.

  • Learning outcomes
    Upon completing this course, a student will be able to know:
    • What is mobile computing and how it is different from embedded, pervasive, wearable, and portable computing? What are the different dimensions of mobility? What are the enabling technologies, standards, business players?
    • How to classify mobile applications and services?
    • The different types of mobile applications and services' development platforms, OS, and applications frameworks.
    • How to develop mobile apps with Web technologies (HTML, CSS, and JavaScript) on the platform of your choice?
    • Using the same standards, techniques, and principles, how to create a mobile information campus for iPhone, iPod touch and iPad?
    • How to convert your mobile app into a native iPhone or Android app using the free PhoneGap framework.

  • Topics Overview
    Lecture 1 (Course Organization and overview of projects)

    Lecture 2 (Introduction)
    • what is mobile computing?
      • mobile vs. cellular vs. wireless
      • mobile vs. embedded, pervasive, wearable, portable
    • Dimensions of mobility
      • user
      • device
      • service
    • Mobile Computing Architecture
    • Mobile Platforms
      • Licensed (Java ME, BREW, Windows Mobile, LiMo)
      • Proprietary (Palm, BlackBerry, iPhone)
      • Open Source (Android)
    • Mobile Operating Systems
      • Symbian, Windows Mobile, Palm OS, Linux, OS X, Android
    • Mobile Applications Frameworks
      • Java ME, S60, BREW, Flashlite, Windows Mobile, Cocoa Touch, Android SDK, Web Runtimes (WRTs), WebKit, The Web
    • Applications and services (to be covered in lecture 3)
    • Standards
    • Players

    Lecture 3 (Applications & Services)
    • Types of Mobile Applications
      • Communication (voice, SMS, MMS,)
      • Mobile Web
      • Mobile Web Widgets
      • Mobile Web applications
      • Native Applications
      • Platform-independent mobile AD
      • App stores
    • Categories of Mobile A&S (sectors, types of users, profession,)
      • Information services (news, browsing, search, dictionary, encyclopedia, libraries, maps, guide books,
      • Location and Context
      • Games, gambling, entertainment
      • IM, Social networks
      • Financial services (contact-less payments)
      • health services
      • advertising, marketing
      • Music, video, TV
      • Utility, Productivity
      • learning

    Lecture 4 (Mobile Web Applications Development)
    • WebKit
    • Markup
    • XHTML
    • HTML5
    • CSS
    • JavaScript
    • DHTML
    • Ajax
    • Multitouch
    • Mobile Information Campus

    Lecture 5 (Native Applications Development: Android and iPhone)
    • Tools
    • Frameworks
    • Languages (& Runtime)
    • Android vs. iPhone
    • Tools and Libraries

    Lecture 6 (Cross-platform Applications Development)
    • Native vs. mobile web apps
    • Mobile RIA
    • JavaScript UI Libraries
    • Mobile Widgets
    • PhoneGap
    • Device detection
    • Geolocation

  • Coursework
    Course will combine lecture part where active participation is ensured by small exercises during the course. Practical work in lab examples elaborated by students during the middle of the course which can be done in team work

  • Grading
    Grading will be based on
    • active participation during the course
    • performance in exercises
    • min 50% of the course units must be attended in order to enable grading
    • course will give 3.0 ECTS
Further Information

Course Outline (Moodle Key required)

Timetable Link to KUSSS system