Swift创新导论

本课程系统教授Swift入门、进阶及实践知识,结合AI、AR、Face ID、Accessibility等典型应用,并通过WWDC奖学金获得者、中国“互联网+”国赛金奖获得者以及中国高校计算机大赛移动应用创新赛最高奖获得者的分享,培养学习者iOS生态下的开发能力,提升学习者的移动应用创新创业素养。

授课老师

浙江大学 张克俊 / 同济大学 朱宏明 / 上海交通大学 董占勋 / 武汉大学 赵小刚

课程大纲

第一周

第1讲:课程概述

第2讲:Swift浅析

第3讲:Swift编程基础知识

第4讲:移动应用设计流程

第5讲:iOS 人机交互基础

第6讲:iOS交互设计实践(一)

第7讲:iOS交互设计实践(二)

第8讲:常量、变量、函数

第9讲:数组与字典

第10讲:控制流(Control Flow)(一)

第11讲:控制流(Control Flow)(二)

附录一:学习分享(一)

附录二:学习分享(二)

附录三:Swift Playgrounds初步(一)

附录四:Swift Playgrounds初步(二)

第二周

第12讲:函数(Functions)和闭包(Closures)(一)

第13讲:函数(Functions)和闭包(Closures)(二)

第14讲:Playground 实践应用(一)

第15讲:Playground 实践应用(二)

第16讲:对象(Objects)和类(Classes)(一)

附录五:Swift Playgrounds初步(三)

附录六:Swift Playgrounds初步(四)

学习分享

单元测试(第二周)

第三周

第17讲:对象(Objects)和类(Classes)(二)

第18讲:枚举(Enumeration)和结构(Structures)(一)

第19讲:枚举(Enumeration)和结构(Structures)(二)

第20讲:协议(Protocols)和拓展(Extensions)(一)

第21讲:协议(Protocols)和拓展(Extensions)(二)

第22讲:错误处理(Error handling)(一)

第23讲:错误处理(Error handling)(二)

附录七:Swift Playgrounds初步(五)

附录八:Swift Playgrounds初步(六)

学习分享

单元测试(第三周)

第四周

附录九:Swift Playgrounds初步(七)

附录十:Swift Playgrounds初步(八)

学习分享

第24讲:Playground 实践应用进阶(一)

第25讲:Playground 实践应用进阶(二)

第26讲:Playground 实践应用进阶(三)

第27讲:Xcode 实践应用(一)

第28讲:Xcode 实践应用(二)

第29讲:Xcode 实践应用(三)

单元测试(第四周)

第五周

第30讲:WWDC Case分享(一)(1)

第31讲:WWDC Case分享(一)(2)

第32讲:WWDC Case分享(二)(1)

第33讲:WWDC Case分享(二)(2)

第34讲:WWDC Case分享(二)(3)

第35讲:WWDC Case分享(二)(4)

附录十一:Swift Playgrounds初步(九)

附录十二:Swift Playgrounds初步(十)

学习分享

第六周

第36讲:SceneKit_ basics

第37讲:SceneKit实践(1)

第38讲:SceneKit 实践(2)

第39讲:构建基于iOS设备的AR应用(1)

第40讲:构建基于iOS设备的AR应用(2)

第41讲:True Depth

第七周

专题分享:AR(1)

专题分享:AR(2)

专题分享:AR(3)

专题分享:AR(4)

专题分享:AR(5)

专题分享:AR(6)

专题分享:AR(7)

专题分享:AR(8)

专题分享:AR(9)

专题分享:AR(10)

第八周

第42讲:AI 分享(1)

第43讲:AI 分享(2)

第44讲:AI 分享(3)

专题分享:传感器(1)

专题分享:传感器(2)

专题分享:传感器(3)

专题分享:传感器(4)

专题分享:传感器(5)

专题分享:传感器(6)

专题分享:传感器(7)

专题分享:传感器(8)

专题分享:传感器(9)

专题分享:传感器(10)

第九周

专题分享:动画(1)

专题分享:动画(2)

专题分享:动画(3)

专题分享:动画(4)

专题分享:动画(5)

专题分享:动画(6)

专题分享:动画(7)

专题分享:动画(8)

专题分享:动画(9)

第十周

第45讲:MAIC Case分享(1)

第46讲:MAIC Case分享(2)

第47讲:MAIC Case分享(3)

第48讲:MAIC Case分享(4)

第49讲:MAIC Case分享(5)

第50讲:MAIC Case分享(6)

第51讲:MAIC Case分享(7)

第52讲:MAIC Case分享(8)

参考资料

(1) Stanford University: Developing iOS 11 Apps with Swift

https://itunes.apple.com/cn/course/id1309275316

(2) Plymouth University: iOS Development in Swift

https://itunes.apple.com/us/course/ios-development-in-swift/id950659946

(3) A Swift Tour

https://docs.swift.org/swift-book/GuidedTour/GuidedTour.playground.zip

(4) iOS Human Interface Guideline

https://developer.apple.com/design/human-interface-guidelines/ios

(5) WWDC 2018 Designing fluid Interface

https://developer.apple.com/videos/play/wwdc2018/803/

(6) Material Design Guidelines

https://material.io/design/

(7) Fluent Design System

https://www.microsoft.com/design/fluent/

(8) Apple Design Resources

https://developer.apple.com/design/resources/

(9) Principle Tutorial

https://principleformac.com/tutorial.html

(10)Apple Developer Center & sample code

https://developer.apple.com/documentation/

(11)Brian Advent Video

https://www.youtube.com/channel/UCysEngjfeIYapEER9K8aikw

(12)Linda Course

https://www.lynda.com/search?q=swift+

(13)Awesome Swift Playgrounds

https://github.com/uraimo/Awesome-Swift-Playgrounds

(14)WWDC Scholarship Winners 2017-2019 作品集

https://github.com/wwdc/2017

https://github.com/wwdc/2018

https://github.com/wwdc/2019