1 / 36

Mobile Computing Course Overview: Android Programming

Learn the essentials of Android app development in this undergraduate course exploring mobile devices and programming. Explore Android platform, Java fundamentals, and various APIs to create innovative applications.

earline
Download Presentation

Mobile Computing Course Overview: Android Programming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Computer Engineering Department Islamic University of Gaza ECOM 5341 Mobile Computing(Mobile Devices Programming-Android) Undergraduate Course Spr. 2017-2018 Prof. Dr. Eng. Mohammad A. Mikki Computer Engineering Department Chair College of Engineering Islamic Universoity of Gaza, Gaza, Palestine Email: mmikki@iugaza.edu.ps Homepage: http://site.iugaza.edu.ps/mmikki Tel.: +970-08-2644400 Ext. 2883 Skype ID: Mohammad.mikki

  2. Lecture 1 Syllabus & Course Overview

  3. Instructor’s Info. Prof. Dr. Eng. Mohammad A. Mikki Computer Engineering Department Chair College of Engineering Islamic Universoity of Gaza, Gaza, Palestine Email: mmikki@iugaza.edu.ps Homepage: http://site.iugaza.edu.ps/mmikki Tel.: +970-08-2644400 Ext. 2883 Skype ID: Mohammad.mikki

  4. Where to find me Admin. Building Room B323

  5. Office Hours Sat-Wed. 11-12 and by Appointment

  6. Teaching Assistants • Section 101: Eng. Mohammed Al-Ashqar (engashqar_work@hotmail.com) • Section 201: Eng Lamia Shashaa

  7. Course Information Course Code: ECOM 5341 Course Name: Mobile Computing (Mobile Devices Programming-Android) Official Course Name: Mobile Computing (Undergraduate Course) Number of credits: 3

  8. Why you should take this course • Career Opportunities • A formal and systematic study of smartphone programming • Java Basics • You will need to learn more about Java, but just a small step • Have fun!!!

  9. Course Description Mobile devices are becoming ubiquitous along with the high demand for mobile applications serving corporates and millions of end-users. In this course, students will learn programming skills for developing mobile applications on Android platform, which is the fastest growing mobile operating system. Android is open source and includes many libraries that can help developers easily implement rich and complex applications. Students in this course will learn how to create, test and deploy Android applications. Solid skills of Java programming and application development are necessary for a successful completion of this course. Topics will include, but are not limited to, installing Android development tools, creating user interfaces, and utilizing location based services.

  10. What you’ll learn • Programming environment • Android Studio: project configuration, emulator setup, … • Android basic components • Manifest configuration • Activity, broadcast receiver, …

  11. What you’ll learn • Graphics • Animations, canvas drawing • Network connections • Location service and Google map • Sensors and gestures

  12. What you’ll learn • Some general knowledge • Java multi-threading • Data parsing (e.g., xml) • Network programing (TCP/IP) • Use third party APIs, e.g., Google Map, Twitter, Facebook, Dropbox, and etc.

  13. Tentative List of Topics • Installing Android SDK and other development tools • Android Studio and a Simple App • Manifest and activity lifecycle • Understanding activities and linking them with intents • Fragment interaction • Understanding the layout components of a screen and handling screen orientation • Designing the user interface • Displaying images and menus using Views • Broadcast Receiver • Notification • Developing Android Services • Graphics • Interfacing with location-based services and maps • Network Connection • Content provider • Access Contacts Data • Sensors • Gestures • Publishing applications

  14. Course Learning Outcomes The primary learning outcome for this course is that students will be able to design and create Android apps. Students will do so by leveraging the Java programming language, the Android SDK, and Android Studio developer tools. Students will gain fundamental knowledge essential to not only Android development, but mobile development in general. Upon successful completion of this course, students should be able to: • Be familiar with Android development environment • Understand the process and characteristics of mobile application development • Understand the components of an Android app and major features of Android platform • Be able to develop, test and deploy entry-level Android applications • Understand the purpose for different development tools for Android • Design a graphical user interface • Access location based services • Utilize Android Studio to create simple and complex applications • Plan, prepare and build an original Android from concept to working program. • Publish an application to the Android Market

  15. Prior Knowledge Expected • XML format • Basic Java control flows • Class, interface, inheritance

  16. Prerequisites • Java programming • Computer Networks

  17. Course Website The common syllabus is posted on the course webpage at http://moodle.iugaza.edu.ps and My homepage http://site.iugaza.edu.ps/mmikki/ Please check this webpage at least once a week for: • lecture notes • Assignments and solutions • Exams and solutions • Quizzes and solutions • Useful links • Supplementary material, and • Announcements Your instructor will provide and/or post a revised version of the course syllabus with additional information stating his policies for the course, such as attendance policy, labs and assignments submission policy, quizzes policy, and others.

  18. Useful Links Help information: Helpful shortcuts for Android studio The new step by step guide detailing how to get started developing Android apps Huge list of resources Android Arsenal Libraries And here is how to add them to Android Studio Stack Overflow, but search for your question via google (just faster to find the answer) Reddit Android Dev Useful sites: Android Asset Studio allows you quickly build icons and images from the website Android Developers Blog Styling Android Android Development Starter Tutorials Android Tutorials Downloads: Downloads for android materials, such as icons packs. Material Design IconsAnd quick reference for them Android development tools and downloads, Motrola SDK Add-ons, , Samsung Tools and SDKs API references: Android API Support Library doc's Blackberry 7.1.0 API (maybe useful for doc's for the android APIs)

  19. Class Information

  20. Required Textbook and Material Title Android Programming: The Big Nerd Ranch Guide, 2nd Edition, 2015 Authors Bill Phillips, Chris Stewart, Brian Hardy and Kristin Marsicano Publisher Pearson Technology Group 800 East 96th Street Indianapolis, IN 46240 USA http://www.informit.com

  21. Class Expectations • Class attendance • Text reading in advance • Class participation • Working hard

  22. Course Work • Android App Project (30%) • In teams of two or three students. Group members will get the same grade for the project. • Submission • A project proposal • A mid-term report • Present your work at the end of the semester • A final report and all project codes

  23. Course Work • Android App Project (30%) • Project must be approved by the instructor. So talk to me before submitting your project proposal. • Project will be assessed based on • Novelty of the idea • Quality of the implementation • Quality of the presentation and reports • Rated by the instructor and TA at the end of the semester.

  24. Course Work • Android App Project (30%) • Start to think about it as early as possible • Think about what you need to accomplish it • Server side program, cloud side services, multiple devices, access to Bluetooth/WiFi/accelerometers, APIs from other services, and so on. • Do not postpone it to the end of the semester • I’ll provide a backup list if you can’t come up with your own ideas

  25. Course Work • Programming Environment • Android Studio • Eclipse IDE + ADT • Android emulator

  26. Course Work • Devices • Homework assignments/projects will be evaluated on Android emulator. • Students could use mobile devices (either a tablet or smartphone) for the projects when necessary.

  27. Course Work • In class • Lecture + demo (Introducing concepts + reading codes) • I’ll show a lot of samples • You will be able to download all the slides and sample codes • Your work • Use your computers • Or computers in the labs • Ask questions

  28. Class Schedule

  29. Class Schedule

  30. Class Schedule

  31. Class Schedule

  32. Assessment (Grading) Criteria

  33. Assessment (Grading) CriteriaProject Grading

  34. Attendance Class attendance is required and very important for successful completion of the course. Students are expected to attend and participate in every class which is interpreted as the entire class period and lab period. Excused absences must be planned for, when possible, and justified with documentation. The student is responsible for making up missed class/lab sessions. Late arrival that causes disruption, early departure that causes disruption, excessive conversation among students, and other actions that disrupt the classroom are unacceptable.

  35. Use of Laptops/Mobile Phones Use of laptops/Mobile phones during the class is not allowed. In order to minimize the level of distraction, all mobile phones must be on mute mode during class meeting times.

  36. Questions ?

More Related