课程概况
这,
不是21天速成Java课程;
不是Java语法细节讲解课程;
是一门讲编程基础思想的课程;
是一门讲面向对象思想的课程;
是一门讲编程最佳实践的课程;
需要动手写代码的课程;
第一周增加了一些基础Java训练,测试大家Java基本水平;
之后每周一道;
会带着大家一起做,一起讲解;
希望大家学完之后能够有恍然大悟的感觉。
课程大纲
1 - 编程之前
1-01-科学思维vs工程思维
1-02-数学建模
1-03-计算机建模 1
1-04-计算机建模 2
1-05-软件工程建模
1-06-软件开发生命周期模型
1-07-分解与抽象
1-08-层次性
1-09-HelloWorld
1-10-代码是用来读的
1-11-有代码就得有测试
1-12-用例来给需求建模
第一单元 单元测试
2 - 结构化编程范式
2-01-结构化编程思想
2-02-数据流图
2-03-结构图
2-04-数据流图向结构图的转变
2-05-顺序、循环、分支
2-06-MatrixCalculation
2-07-避免重复
2-08-测试分支和循环
第二单元 单元测试
3 - 面向对象编程范式
3-01-变更时不可以避免的
3-02-大范围的修改vs有限范围
3-03-面向对象的世界观
3-04-类和对象
3-05-BadMatrix
3-06-重用
3-07-测试单个类
第三单元 单元测试
4 - 类的封装
4-01-在一起
4-02-封装
4-03-MyMatrix
4-04-寻找类和对象
4-05-用类图表达类的职责
4-06-防御式编程
4-07-静态变量和静态方法
4-08-简单类的初始化
第四单元 单元测试
5 - 类的协作
5-01-职责
5-02-协作
5-03-类之间的关系
5-04-TicTacToe
5-05-用顺序图表达类的协作
5-06-用Mock Object来辅助测试协作
第五单元 单元测验
6-类的可重用和可修改
6-01-可修改性
6-02-继承
6-03-多态
6-04-抽象类和抽象方法
6-05-接口
6-06-NewTicTacToe
6-07-继承和组合
6-08-按接口编程
6-09-实现可修改性
6-10-复杂类的初始化
第六单元 单元测试
预备知识
1、了解编程基本知识
2、了解Java基础语法
参考资料
快速初学
Head first java(中文版)
Java语法细节
Java核心技术(卷i)(卷ii)基础知识(原书第9版)
编程概念
《Concepts in Programming Languages》John C. Mitchell
虚拟机
深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)
面对对象思想
面向对象分析与设计(第3版)
UML和模式应用
敏捷软件开发:原则、模式与实践
https://www.oracle.com/technetwork/java/index.html
https://www.javaworld.com/
https://www.iteye.com/
https://java-source.net/