《移动终端开发进阶版—Android应用设计与开发(腾讯、MOOC)》教学大纲

课程代码

045102221

课程名称

移动终端开发进阶版--Android应用设计与开发(腾讯,MOOC

英文名称

Advanced Mobile Application Development-Android(Tencent) (MOOC)

课程类别

专业领域

课程性质

学时

总学时:32实验学时:0实习学时:0其他学时:24

学分

2

开课学期

第六学期

开课单位

计算机科学与工程学院

适用专业

计算机科学与技术、网络工程、信息安全

授课语言

中文授课

先修课程

移动应用开发(Android

课程对毕业要求的支撑

本课程对学生达到如下毕业要求有如下贡献:

3.设计/开发解决方案:能够设计针对复杂与计算机相关工程问题的解决方案,设计满足特定需求的系统、单元(部件)或工艺流程,并能够在设计环节中体现创新意识,考虑社会、健康、安全、法律、文化以及环境等因素。

5.使用现代工具:能够针对与计算机相关复杂工程问题,开发、选择与使用恰当的技术、资源、现代工程工具和信息技术工具,包括对复杂工程问题的预测与模拟,并能够理解其局限性。


课程目标


完成课程后,学生将具备以下能力:

1)巩固已学过的Android手机软件开发的基本知识,掌握进一步开发的方法与技巧。[3

2)掌握常用的Android移动平台开发和调试工具的使用,并能在实际开发过程中运用相关开发工具解决实际问题,培养学生综合运用所学知识分析问题和解决问题的能力,以及移动软件设计和开发能力。[35


课程简介

随着移动互联时代的到来,移动环境的软件编程技术是程序员必须掌握的技术之一。本课程以校企联合及慕课为特色,传授腾讯的微信团队在微信客户端开发过程中的经验,学生将学习移动终端开发的进阶知识。本课程的教学将帮助学生掌握Android手机软件开发的基本原理、方法与技巧,并能运用相关开发工具解决实际问题,培养学生综合运用所学知识分析问题和解决问题的能力,以及移动软件设计和开发能力。

教学内容与学时分配


(一)绪论课程目的、意义与内容组织、学时安排介绍    1学时

教学要求:要求掌握课程的主要目的与任务,了解移动终端开发在国民经济中的作用。


(二)移动终端开发绪论,从整体上阐述Android系统上的应用开发。3学时:

1)主流移动设备操作系统平台介绍及Android操作系统介绍;

2Android应用设计与开发整体介绍;

3)微信在Android平台的实践简介;

教学要求:掌握课程的主要目的与任务,了解Android系统应用开发的特点。


(三)深入探究Android UI框架的渲染机制。4学时

1)通过实际应用案例分析,帮助学生了解如何高效地利用UI框架更容易的开发出高性能、易扩展、易维护的Android应用。

2)以微信客户端的UI框架开发中曾经遇到的困难和解决思路、经验为案例讲解Android系统中的UI框架原理;

教学要求:了解Android系统中的UI框架原理

重点:Android系统中UI的渲染

难点:高性能地UI开发


(四)深入探究Android系统中的数据存储。6学时

1)介绍SQLite的背景,了解使用中将面临的性能问题及相应的优化方案;

2Android设备在I/O问题上与PC的不同点及处理方法;

3)文件结构化数据技术介绍

教学要求:了解移动应用开发中的数据存储和使用

重点:Android系统中的数据存储与PC端的不同

难点:SQLite数据库的使用


(五)移动应用开发中的网络技术。6学时

1)常用的unixsocket编程模型;

2)针对微信客户端开发实践过程中遇到的一系列问题进行案例分析,如超时、各个平台实现差异、NAT的影响、Android的休眠等对socket的影响。

教学要求:了解面向移动应用开发中的网络技术

重点:Android系统中的网络编程模型

难点:Android网络编程接口的使用


(六)移动应用开发中的多媒体技术。6学时

1)音频捕获、存储、播放;摄像头和成像功能

2)将声音和图像处理为视频。

教学要求:在Android平台上进行多媒体编程

重点:Android平台上的音频、视频、图像处理

难点:Android多媒体编程接口函数的使用


(七)移动应用开发的Android系统安全及开发性能优化。6学时

1package安全机制、app权限分离、app permission等内容

2)通过微信的具体案例介绍Android的四大组件可能产生的安全问题以及防范方法

3)讨论Android的数据安全问题,从协议安全和本地数据两个纬度,分析如何保证app中用户数据的完整性和私密性。

4)通过微信开发中的若干具体案例讲解开发过程中如何优化Android应用的性能。

教学要求:了解Android移动应用开发中的系统安全

重点:Android移动应用开发中的安全机制

难点:Android移动应用开发中的数据安全


实验教学(包括实验学时、实习学时、其他)

采用网络在线教学和线下教学、实践教学相结合的方式,与微信的讲师团合作,以分组形式对学生进行实际开发的指导。设定开发题目,学生五或六人一组,各小组在讲师指导下完成选题及开发。

教学方法

课程教学以课堂教学、课外作业、综合讨论、网络以及授课教师的科研项目于积累等共同实施。

考核方式

本课程注重软件应用系统的开发能力,考核形式、考核内容、成绩比例为:

1)平时表现(占总成绩的30%

通过课堂讨论答辩等形式考查学生对基础知识的掌握和应用能力;课程目标3

2)考核方式为提交课程报告(占总成绩的70%; 课程目标35

教材及参考书

现用教材:腾讯微信团队自编讲义

制定人及制定时间

张晶,2019412


  “Advanced Mobile Application Development-Android(Tencent) (MOOC)” Syllabus

Course Code

045102221

Course Title

Advanced Mobile Application Development-Android (Tencent) (MOOC)

Course Category

Specialty Basic Courses

Course Nature

Elective Course

Class Hours

Class Hours:32; Lab Hours:0; Practice Hours:0; Other Hours: 24

Credits

2.0

Semester

6

Institute

School of Computer Science and Engineering

ProgramOriented

Computer Science and Technology, Network Engineering, Information Security

Teaching Language

Chinese

Prerequisites

Mobile Application Development (Android)(Google)

 Student Outcomes

 (Special Training Ability)

 This course contributes to the following graduation requirements for students:

 №3.Design / Development Solutions: An ability to design solutions for complex engineering problems and innovatively design systems, components or process that meet specific needs with societal, public health, safety, legal, cultural and environmental considerations.

5.Applying Modern Tools: An ability to create, select and apply appropriate techniques, resources, and modern engineering and IT tools, including prediction and modelling, to complex engineering activities, with an understanding of the limitations.

Course Objectives

 Upon completion of the course, students will have the following competencies:

 (1) The students would consolidate the basic knowledge of Android mobile phone software development that has been learned, and master the methods and techniques for further development. [3]

(2) The students would master the use of commonly used development and debugging tools, and use them to solve practical problems in the actual development process. They will have the ability to analyze and solve problems, as well as mobile software design and development capabilities. [3, 5]

Course Description

With the advent of the mobile Internet era, software programming technology in mobile environment  is one of the techniques that programmers must master. This course features a combination of university and enterprise, in which mousse classes were applied to teach the advanced developing knowledge and the experience of the Tencent WeChat team in the development of WeChat client. The course would teach the principle, the skills and methods of Android mobile phone software development. Some related development tools to solve practical problems, and the techniques of using knowledge to analyse and solve problems would also be involved in this course.

Teaching Content and Class Hours Distribution

(I) Introduction to the purpose, meaning and content organization of the course. 1 class hour
Teaching requirements: It is required to master the main purpose and tasks of the course and understand the role of mobile terminal development in the national economy.


(II) Introduction to the application development of Android system as a whole. 3 class hours

(1) Introduction of mainstream mobile device operating system platform and introduction of Android operating system;

(2) Overall introduction of Android application design and development;

(3) WeChat's brief introduction to the Android platform;

Teaching requirements: master the main purpose and tasks of the course, and understand the characteristics of Android system application development.


(III) Delve into the rendering mechanism of the Android UI framework. 4 class hours

(1) Practical case analysis, which would be used to help the students to understand how to make use of UI framework efficiently and develop Android applications with high performance, easy expansion and easy maintenance.

(2) The difficulties encountered in the development of WeChat client's UI framework, and the solutions and experience to explain the principles of UI framework in Android systems;

Teaching requirements: understand the principles of UI framework in Android system

Key: rendering of UI in Android system

Difficulty: high performance UI development


(IV) Explore the data storage in Android system. 6 class hours

(1) Introduce the background of SQLite, and understand the performance problems and the corresponding optimization plan;

(2) The difference between Android device and PC on I/O and its processing method;

(3) Document structured data technology

Teaching requirements: understanding data storage and use in mobile application development

Important: the data storage in Android system is different from that of PC

Difficulty: the use of SQLite databases


(V) Network technology in mobile application development. 6 class hours

(1) Commonly used unixsocket programming model;

(2) The case analysis of a series of problems encountered in the development process of WeChat client, such as timeout, the differences of each platform, the influence of NAT, the dormancy of Android and so on, affect the socket.

Teaching requirements: understanding network technology for mobile application development

Key point: network programming model in Android system

Difficulty: the use of Android network programming interface


(VI) Multimedia technology in mobile application development. 6 class hours

(1) Audio capture, storage and playback; camera and imaging functions

(2) Processing sounds and images into video.

Teaching requirements: multimedia programming on the Android platform

Emphasis: audio, video, image processing on the Android platform

Difficulty: the use of Android multimedia programming interface functions


(VII) Android system security and development performance optimization for mobile application development. 6 class hours

(1) Package security mechanism, APP authority separation, app, permission and so on

(2) Through the concrete case of WeChat, this paper introduces the possible security problems and prevention methods of the four components of Android

(3) Discuss the data security problem of Android, and analyze how to guarantee the integrity and privacy of user data in app from two latitudes of protocol security and local data.

(4) Explain how to optimize the performance of Android application in the development process through several specific cases in WeChat development.

Teaching requirements: understanding system security in Android mobile application development

Key: security mechanism in Android mobile application development

Difficulty: data security in Android mobile application development


Experimental Teaching

This course adopts the combination of online teaching, offline teaching and practical teaching.

The teacher would work with the WeChat's lecturers to guide students in practical development in groups. The teacher would set up several development topics. And the students are in groups of five or six, and each group under the guidance of the lecturer to complete the topic selection and development.

Teaching Method

The course teaching is carried out in a combination of network teaching and classroom teaching, including online classroom teaching, online class discussion, class discussion, homework and so on.

Examination Method

This course focuses on the development capabilities of software application systems. The assessment form, assessment content, and performance ratio are:
(1) Usual performance (30% of the total score)
Examine students' mastery and application of basic knowledge through class discussion and defense; course objective 3;
(2) The assessment method is to submit the curriculum report (70% of the total score); Course objectives 3, 5;

Teaching Materials and Reference Books

Current teaching materials: Tencent WeChat team self-editing handouts

Prepared by Whom and When

Zhang Jing, 2019/04/12