《Scala 程序设计》学习网站

这门课没有现成课件,内容由我按前几门课的节奏自主设计:10 章 28 讲、16 周 64 学时(每周 2 学时讲授 + 2 学时上机)。每讲都有知识点、可运行代码、运行结果、常见错误;另有教学流程、18 道编程练习与速查页。

10 章 28 讲16 周 · 64 学时76 段示例代码18 道练习Scala 2.13
10章
28讲
16周
64学时
76示例代码
60术语条目

这门课怎么排的 与另外五门课的节奏对照

资料来源:各课程课件与课程标准;Scala 为本站设计
课程章/单元数讲/节数总学时周次每周节奏实训形式
Hive数据仓库工具8 单元—(按任务拆分)6416 周2 理论 + 2 实验15 个周实训
数据库原理与应用5 章25 讲材料未标注—每讲 1 个知识点闭环Navicat + SQL 实操
Java 程序设计11 章—(773 页课件)材料未标注—每章 4-8 个知识点示例代码 + 上机
Python 程序设计10 章28 讲6416 周2 理论 + 2 实验16 个周实训 + 1 个综合项目
动态网页数据采集与预处理7 项目14 个任务64(建议)16 周2 理论 + 2 实验16 次实训 + 1 个综合系统
Scala 程序设计(本课)10 章28 讲6416 周2 理论 + 2 实验16 个周实训 + 1 个综合项目
设计原则① 周次与学时对齐 Hive / Python / 数据采集(16 周 / 64 学时 / 每周 4 学时);② 章—讲两级结构对齐 MySQL(每讲一个知识点闭环,讲完就能写代码);③ 每讲配 2-3 段可运行代码与常见错误,对齐 Java 的“代码驱动”;④ 第 15-16 周留出综合项目与答辩,与其他课程“以项目验收收尾”一致。

学习路径 · 五个阶段

01

起步

装环境、跑通第一个程序,把 REPL 当草稿纸用

02

语法与流程

val/var、插值、表达式思维、if/for/match

03

函数化

函数是值、高阶函数,代码开始“短而清楚”

04

数据与对象

集合处理数据,类与样例类建模

05

工程与实战

Option/泛型写出可靠代码,文件与并发收尾项目

十章 · 知识轨

第1章 Scala 入门与环境

入门第1周 · 2 讲

Scala 是什么、为什么值钱(Spark / Flink 都在用它)、环境怎么装、第一个程序怎么写。

1.1 Scala 是什么:JVM 上的函数式 + 面向对象、1.2 环境搭建与第一个程序(JDK、sbt / scala-cli、IDEA、REPL)

第2章 变量、类型与表达式

语法第2-3周 · 3 讲

val / var 的区别、类型推断、基本类型、字符串插值,以及“一切皆表达式”这个 Scala 的底层思维方式。

2.1 val 与 var:不可变优先与类型推断、2.2 基本类型与字符串插值 s/f/raw、2.3 运算符与块表达式:一切皆有值

第3章 控制结构

流程第3-4周 · 3 讲

if、while、for、for-yield 与 match:Scala 把控制结构做成了“有返回值的表达式”。

3.1 if / else 是表达式、3.2 循环:while、for、for-yield 与守卫、3.3 match 表达式入门与模式匹配基础

第4章 函数与高阶函数

函数第5-6周 · 3 讲

Scala 的核心竞争力:函数是值,可以被传递、组合、柯里化;map / filter / reduce 从此成为日常写法。

4.1 定义函数:默认参数、命名参数、可变参数、单表达式函数、4.2 函数是值:匿名函数、函数类型、柯里化、闭包、4.3 高阶函数:map / filter / reduce / flatMap / foreach

第5章 集合

集合第7-8周 · 3 讲

List、Vector、Map、Set、Tuple:Scala 的集合库是“不可变优先 + 一组统一的高阶操作”。

5.1 List、Array、Vector:创建与常用操作、5.2 Map、Set、Tuple:键值对、去重与配对、5.3 不可变与可变集合:ListBuffer、排序与分组

第6章 类与对象

面向对象第8-9周 · 3 讲

class、object、伴生对象、apply,以及 trait 混入——Scala 的面向对象和 Java 像但更紧凑。

6.1 class:主构造器、字段、方法与访问控制、6.2 object 与伴生对象:单例、apply / unapply、6.3 trait:接口、混入与多重继承

第7章 面向对象进阶

进阶第10-11周 · 3 讲

继承、抽象类、case class 与 sealed:如何让数据建模既安全又好用,是 Scala 工程代码的常见形态。

7.1 继承与抽象类:override、super 与多态、7.2 case class:样例类与自动生成的方法、7.3 sealed + match:用模式匹配做数据建模

第8章 异常与 Option

健壮性第12-13周 · 3 讲

Scala 用 Option / Either / Try 把“可能失败”写进类型里,异常只留给真正的意外。

8.1 try / catch / finally 与自定义异常、8.2 Option / Some / None:告别 null、8.3 Either 与 Try:错误处理的三种选型

第9章 泛型与隐式

类型系统第13-14周 · 2 讲

类型参数与上下界、隐式参数与隐式类:这两块是读懂 Spark / Flink 源码的门槛,也是 Scala 最“难”的部分。

9.1 类型参数与上下界:泛型类与泛型方法、9.2 implicit:隐式参数、隐式类与 Scala 3 的 given

第10章 实战:文件、JSON 与并发

实战第14-16周 · 3 讲

把前面学的串成一条工程链路:读写文件、解析 JSON、统计报表,最后用 Future 做并发与综合项目。

10.1 文件读写:Source / Using / java.nio、10.2 JSON 解析与分组统计报表、10.3 Future 并发与综合项目:成绩分析与词频统计

速查与工具箱

怎么用① 卡片右上角可勾选“已掌握”,进度存浏览器本地;② Ctrl+K 全站搜索;③ 代码块一键复制,建议每段都先在 REPL 里试一遍再往下看。