# 现代操作系统应用开发 **Repository Path**: code_sysu/MOSAD_Syllabus ## Basic Information - **Project Name**: 现代操作系统应用开发 - **Description**: 《客户端校企联合课程实践案例建设》项目成果课程 - **Primary Language**: HTML - **License**: CC-BY-4.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 15 - **Forks**: 68 - **Created**: 2020-09-03 - **Last Updated**: 2023-10-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # **MOSAD** *“Modern Operating System Application Development”* * *课程名称*:现代操作系统应用开发 * *课程主页*:[https://gitee.com/code_sysu/MOSAD_Syllabus](https://gitee.com/code_sysu/MOSAD_Syllabus) * *QQ讨论群*:576221013 * *教  师*:郑贵锋 *博士* (zhenggf at mail.sysu.edu.cn) * *助  教*:无 ## 课程信息 * *学  分*:2+1 * *上课时间*:1-9周,周二3-4理论、7-8实验,周四3-4理论、7-8实验 * *上课地点*:理论课在东教A202,实验课在南实验楼D503 * *教  材*: *无指定教材* * *参考资料*: 1. iOS编程(第三版)[Programming iOS 6]. [美] 马特·纽伯格(Matt Neubury) 著,夏宏,贾静平,琚赟 等 译 2. iOS编程(第6版). Aaron,Hillegass 著 3. Objective-C高级编程 iOS与OS X多线程和内存管理. [日] Kazuki Sakamoto,[日] Tomohiko Furumoto 著,黎华 译 4. https://developer.apple.com/ ## 课程要求 ### 参与课堂讨论 * 占总评成绩10-20% ### 完成3+项个人实验作业 * 占总评成绩40% * 按课程进度大致每3周完成1项 * 每3周安排在实验课现场验收 ### 完成2个应用开发大作业 * 占成绩40% * 分期中指定主题、期末任选主题大作业 * 每人独立成组,如计划工作量较大,可向老师申请增至2人合作 ## 教学大纲 ### 第 1 节 课程概述 移动互联网发展趋势、机遇,应用开发新趋势。 #### 课件 * [00-课程简介.pdf](Slides/00-课程简介.pdf) * [01-移动应用概述.pdf](Slides/01-移动应用概述.pdf) #### 实验 1. 加入课程网站:http://gitee.com/code_sysu , 浏览教程熟悉Git操作:https://gitee.com/help 2. xcode新建objective c项目,了解项目结构 3. 个人电脑安装开发环境(台式开机、打开远程桌面;笔记本带到实验室安装)。 4. 以上完成后,可预习Objective C基本语法,例如可参考:https://www.yiibai.com/objective_c ---- ## 第 2~3 节 编程语言基础 Objective-C语言与C语言的区别,新特性 ### 课件 * [02-Objective-C基础.pdf](Slides/02-Objective-C基础.pdf) * [03-Objective-C进阶.pdf](Slides/03-Objective-C进阶.pdf) ### 实验 1. 完成第一次作业,详细要求见gitee仓库[HW1](https://gitee.com/code_sysu/mosad-hw1) ## 第 4 节 平台概述 iOS平台内核、分层、特性、开发环境搭建、应用结构 ### 课件 * [04-iOS平台概述.pdf](Slides/04-iOS平台概述.pdf) ### 实验 1. 继续做HW1 2. 尝试完成课件后面的练习题 ## 第 5~6 节 界面编程 界面布局、界面元素、常用界面控件的使用 ### 课件 * [05-UI编程基础.pdf](Slides/05-UI编程基础.pdf) * [06-UI编程进阶.pdf](Slides/06-UI编程进阶.pdf) ### 实验 1. 开始作业2 ## 第 7 节 界面动画编程 界面动画原理、实现 ### 课件 * [07-动画编程.pdf](Slides/07-动画编程.pdf) * [红包雨动画](Slides/RedPacket-Animation.mp4) ### 实验 1. 尝试各种动画方式 2. 完成作业2 ## 第 8 节 网络编程 网络传输框架、数据解析、异步实现 ### 课件 * [08-网络编程.pdf](Slides/08-网络编程.pdf) ### 实验 1. 开始作业3 2. 开始期中作业:按计划推进大作业进行,作为期中考试成绩 ## 第 9 节 本地存储 缓存、数据库原理、实现要点 ### 课件 * [09-本地存储.pdf](Slides/09-本地存储.pdf) * 本地存储例子:[SandBoxExample.zip](Slides/SandBoxExample.zip) ### 实验 1. 作业3验收 2. 继续期中项目 ## 第 12 周 多线程编程 多任务、多线程原理、实现技术 ### 课件 * [10-多线程编程.pdf](Slides/10-多线程编程.pdf) ### 实验 1. 开始做作业3,网络与本地存储 ## 第 13 周 多媒体基础 图片处理与显示、音频播放、视频播放 ### 课件 * [11-多媒体基础.pdf](Slides/11-多媒体基础.pdf) ### 实验 1. 期中项目开始验收。 2. 作业3 ## 第 14 周 多媒体进阶 音频、视频合成案例 ### 课件 * [12-音视频合成.pdf](Slides/12-音视频合成.pdf) ### 实验 1. 作业4 ## 第 15 周 图形图像处理技术简介 介绍iOS图形图像处理技术框架,重点介绍基础Metal示例。 ### 课件 * [13-图形图像处理.pdf](Slides/13-图形图像处理.pdf) ### 实验 1. 小组大作业项目 ## 第 16 周 增强现实技术简介 介绍ARKit技术及例子 ### 课件 * [14-增强现实技术.pdf](Slides/14-增强现实技术.pdf) ### 实验 1. 小组大作业项目 2. 完成的可提前展示、答辩 ## 第 17 周 【专题讲座】移动开发前景 企业级的实践经验和技术栈分享⁣ 1、移动开发前景 2、了解字节跳动 ⁣3、师兄经历分享 ⁣4、答疑(之前收集的问题+现场提问) ## 第 18~19 周 大作业及成果展示:期末项目展示、答辩。 # Tips: How to ask questions? 实验课已经正式开始,各位同学在做实验的过程中遇见了各种各样的问题。作为TA,我们有责任给大家解答问题,但是每个人的精力、能力有限,TA很可能在忙其他的事情,TA可能也不懂你的问题,有时候反而会浪费更多的时间,所以水几点关于提问题的建议,与大家共勉~ * **What's your question?**
当程序出问题的时候,首先需要去读一下as给出的错误信息是什么。虽然你很可能看不懂,但是先去看一下。 * **Search your question on Internet**
网上肯定有无数的人出现过跟你一样的问题,所以先去网上找答案。直接在网上搜索as给出的错误信息,然后就能出现一大堆的解答。推荐使用[Google](https://www.google.com.hk)搜索,推荐使用**英文**搜索,推荐去 [Stack Overflow](https://stackoverflow.com)搜索。 * **Search or ask question in QQ Group**
课程交流群中,可能已经有人问过与你相似的问题了,所以可以先去搜索一下群聊天记录。找不到的话,将你的问题描述清楚,在群里询问其他同学,让他们给你解决。 * **Ask TAs**
如果试过了上面的方法,还是没有办法解决,最后的方案才是来找TA。请大家**不要在睡觉/吃饭**的时间来找TA。 * **Specify your question**
当你在提问题的时候,尽可能详细描述你的问题,这样方便别人给你解答。 * 你使用的工具,操作系统,IDE版本等相关信息 * 你在完成什么内容的实验? * 你的关键代码是什么? * 你出现的错误是什么? * 你尝试了什么方法?结果如何? * 当你在截图的时候尽可能完整截图,因为问题很有可能出现的其他的地方。当然还需要考虑到不要被别人抄袭了代码。 * **Record and understand your solution**
当你成功解决了问题之后,将你的解决方法记录下来,这样下次遇到同样地问题的时候就能够快速解决。除了将问题记录下来以外,最重要的一点是要明白你的解决方法的原理,为什么使用这个方法能够解决你的问题?多问一下为什么,来年找工作就不用愁啦~ :-D