课程大纲:
授课对象:面向没有或仅有少量编程语言基础的同学,当然,具有一定的Java或C、C++语言基础将有助于本课程的学习。在本课程内,将更注重scala的各种语言规则与简单直接的应用,而不在于其是如何具体实现,通过学习本课程能具备初步的Scala语言实际编程能力。
本门课程也可以视为我们将要举办的Spark系列的前置课程,供大家扫盲熟悉Scala,提前进行热身运动。
第一周 Scala基础
值与变量的声明
常用类型简介
函数与方法的定义与使用
条件表达式
循环及高级for循环使用
lazy值
默认参数、带名参数及变长参数
异常处理
数组相关操作
Map操作
第二周 Scala面向对象编程
类定义
类的属性
主构造器
辅助构造器
object对象
apply方法
类的继承
方法重写与字段重写
抽象类
trait
包的定义与使用
包对象定义与使用
文件访问
第三周 Scala函数式编程
高阶函数的定义
值函数
匿名函数
闭包
SAM与Curry
高阶函数示例
集合简介
序列
可变列表与不可变列表
集合操作
case class
模式匹配
第四周 Scala高级编程
泛型类
泛型函数
Lower bounds 与 Upper bounds
View bounds
Context bounds
协变与逆变
隐式转换
隐式参数
隐式类
主讲人: 陈 超
新浪微博:@CrazyJvm
计算机硕士,近年来一直专注于分布式计算与机器学习相关领域。
国内较早的Spark研究与使用者,并且也是Scala爱好者。