- Level Professional
- Course by Peking University
-
Offered by
About
《Java程序设计》课程的主要目标有三: 一、掌握Java语言的语法,能够较为深入理解Java语言机制,掌握Java语言面向对象的特点。 二、掌握JavaSE中基本的API,掌握在集合、线程、输入输出、图形用户界面、网络等方面的应用。三、能够编写有一定规模的应用程序,养成良好的编程习惯,会使用重构、设计模式、单元测试等方式提高代码的质量。 本课程要求学习者有一定的程序设计基础,如学过C或者C++语言。Modules
1.1 Java语言的历史与特点
1
Discussions
- 自我介绍并许个心愿
3
Videos
- 1_1.1_Java历史与发展
- 1_1.2_Java语言的特点:C++--
- 1_1.3_Java运行机制:跨平台的原因
1
Readings
- 学习准备篇--教材与参考资料
1.2 面向对象程序设计
2
Videos
- 1_2.1_面向对象程序设计
- 1_3.1_(附加)James_Gosling谈Java
week1 小结
1
Readings
- week1 讲义
Week1 作业
1
Assignment
- Week1 作业
2.1 Java程序的类型与基本构成
1
Videos
- 2.1 Java程序的类型:Java程序的类型及构成
2.2 开发Java程序的基本步骤
3
Videos
- 2.2 开发Java 程序的基本步骤:程序的编译与运行
- 2.2 开发Java 程序的基本步骤:applet的编译与运行
- 2.2 开发Java 程序的基本步骤:JDK中的其他几个工具
2.3 程序中进行输入与输出
3
Videos
- 2.3 基本输入输出编程:文本界面的输入与输出
- 2.3 基本输入输出编程:图形界面的输入与输出
- 2.3 基本输入输出编程:Applet的输入输出
2.4 Java开发工具
1
Videos
- 2.4 Java编程工具
week2 小结
2
Readings
- week2 讲义
- week2 示例
week2 作业
1
Assignment
- Week2 作业
3.1 数据类型、变量与常量
1
Videos
- 3.1 数据类型、变量与常量
3.2 运算符与表达式
2
Videos
- 3.2 运算符与表达式: 运算符
- 3.2 运算符与表达式: 表达式及查看反汇编的代码
3.3 流程控制语句
5
Videos
- 3.3 流程控制语句: 简单语句
- 3.3 流程控制语句: 分支语句——if及switch
- 3.3 流程控制语句: 应用示例及窗体设计器
- 3.3 流程控制语句: 循环语句
- 3.3 流程控制语句: 特殊控制语句
3.4 数组
1
Discussions
- 那些年我们受的虐
2
Videos
- 3.4 数组: 数组的定义和使用
- 3.4 数组: 多维数组及示例
week3 小结
2
Readings
- week3 讲义
- week3 示例
Week3 作业
1
Assignment
- Week3 测验作业
第1次互评作业
1
Peer Review
- 使用数组
4.1 类、字段、方法
2
Videos
- 4.1 类、字段、方法: 类、字段、方法、构造方法
- 4.1 类、字段、方法: 使用this
4.2 类的继承
2
Videos
- 4.2 类的继承: 类的继承、字段与方法的增加与覆盖
- 4.2 类的继承: 使用super
4.3 包
1
Videos
- 4.3 包: 包的含义及使用
4.4 访问控制符
1
Videos
- 4.4 访问控制符: public,protected,private及默认
4.5 其他修饰符
1
Videos
- 4.5 其他修饰符: static, final, abstract
4.6 接口
2
Videos
- 4.6 接口: 接口的定义及实现
- 4.6接口: 接口中的常量、枚举、Java8对接口的扩充
4.7 语法小结
1
Discussions
- 我来进行面向对象的分析
1
Videos
- 4.7语法小结:类定义及java文件的内容
week4 小结
2
Readings
- week4 讲义
- week4 示例
Week4 作业
1
Assignment
- Week4 测验作业
5.1 变量及其传递
1
Videos
- 5.1 变量及其传递
5.2 多态及虚方法调用
2
Videos
- 5.2 多态和虚方法调用:多态和虚方法调用
- 5.2 多态和虚方法调用:非虚的方法调用
5.3 对象构造与初始化
2
Videos
- 5.3 对象构造与初始化:对象构造与初始化
- 5.3 对象构造与初始化:***构造方法的执行过程(*较高要求)
5.4 对象清除与垃圾回收
1
Videos
- 5.4 对象清除与垃圾回收
5.5 内部类与匿名类
3
Videos
- 5.5 内部类与匿名类:内部类
- 5.5 内部类与匿名类:***嵌套类(*较高要求)
- 5.5 内部类与匿名类:局部类及匿名类
5.6 Lambda表达式(*)
1
Videos
- 5.6 Lambda表达式:***Lambda表达式(*较高要求)
5.7 其他几个高级语法(*)
1
Videos
- 5.7 ***装箱、枚举、注解(*较高要求)
5.8 没有指针的Java语言
1
Discussions
- Java语言的爱与恨
2
Videos
- 5.8 没有指针的Java语言:***引用与指针(*较高要求)
- 5.8 没有指针的Java语言***相等还是不等(*较高要求)
week5 小结
2
Readings
- week5 讲义
- week5 示例
Week5 作业
1
Assignment
- Week 5测验作业
第2次互评作业
1
Peer Review
- 定义类与接口
6.1 异常处理
2
Videos
- 6.1异常处理: 异常的抛出与捕获
- 6.1异常处理: 受检的异常
6.2 自定义异常
1
Videos
- 6.2 自定义异常
6.3 断言及程序的测试
1
Videos
- 6.3 断言及程序的测试
6.4 程序的调试
1
Videos
- 6.4 程序的调试
week6 小结
2
Readings
- week6 讲义
- week6 示例
Week6作业及期中作业
2
Assignment
- Week 6测验作业
- Midterm Examination 期中考试
7.1 Java语言基础类
1
Videos
- 7.1 Java语言基础类:Object、Math、System类
7.2 字符串及日期
2
Videos
- 7.2 字符串和日期:String及StringBuffer类
- 7.2 字符串和日期:日期类
7.3 集合
3
Videos
- 7.3 集合:Collection API及List
- 7.3 集合:Stack及Queue
- 7.3 集合:Set及Map
7.4 排序与查找
1
Videos
- 7.4 排序与查找
7.5 泛型(*)
1
Videos
- 7.5 泛型:(***)自定义泛型(*较高要求)
7.6 常用算法
1
Discussions
- 读JDK源码有感
2
Videos
- 7.6 常用算法:遍试、迭代
- 7.6 常用算法:递归、回溯
week7 小结
2
Readings
- week7 讲义
- week7 示例
Week7 作业
1
Assignment
- Week 7测验作业
8.1 线程的创建
2
Videos
- 8.1 线程的创建:创建线程的几种写法
- 8.1 线程的创建:多线程编程示例
8.2 线程的控制
1
Videos
- 8.2 线程的控制:线程的状态与控制
8.3 线程的同步(*)
1
Videos
- 8.3 线程的同步:(***)线程的同步控制(*较高要求)
8.4 并发API(*)
2
Videos
- 8.4 并发API:原子变量及线程安全的集合
- 8.4 并发API:线程池及Timer
8.5 流式操作及并行流
1
Discussions
- 作品秀场
1
Videos
- 8.5 流式操作及并行流:(***)流及并行流(*较高要求)
week8 小结
2
Readings
- week8 讲义
- week8 示例
Week8 作业
1
Assignment
- Week 8测验作业
9.1 输入输出流
4
Videos
- 9.1 输入输出流:流及分类
- 9.1 输入输出流:不同内容的读写
- 9.1 输入输出流:应用示例:背单词
- 9.1 输入输出流:应用示例:网络流
9.2 文件及目录
1
Videos
- 9.2 文件及目录
9.3 正则表达式
3
Videos
- 9.3 正则表达式:正则表达式的基本写法
- 9.3 正则表达式:正则表达式的基本应用
- 9.3 正则表达式:应用示例:网络爬虫
week9 小结
2
Readings
- week9 讲义
- week9 示例
Week9 作业
1
Assignment
- Week 9测验作业
第3次互评作业
1
Peer Review
- 使用流及输入输出
10.1 组件
1
Videos
- 10.1 组件:图形用户界面组件及分类
10.2 实现界面的三步曲
1
Videos
- 10.2 实现界面的三步曲:组件、布局、事件
10.3 布局
1
Videos
- 10.3 布局管理:常用的几种布局
10.4 事件
4
Videos
- 10.4 事件处理:事件及事件监听器
- 10.4 事件处理:实现监听器的几种方法
- 10.4 事件处理:应用示例--排块游戏
- 10.4 事件处理:应用示例--小小计算器
10.5 常用组件的使用
2
Videos
- 10.5 常用组件的使用:常用组件
- 10.5 常用组件的使用:应用示例--文本编辑器
10.6 Applet
1
Videos
- 10.6 Applet:小应用程序
week10 小结
2
Readings
- week10 讲义
- week10 示例
Week10 作业
1
Assignment
- Week 10测验作业
11.1 网络编程
3
Videos
- 11.1 网络编程:网络信息获取
- 11.1 网络编程:应用示例--获取建议词
- 11.1 网络编程:使用Socket编程
10.2 多媒体编程
2
Videos
- 11.2 多媒体编程:绘图及图像
- 11.2 多媒体编程:音频及视频的播放
数据库编程
4
Videos
- 11.3 数据库编程:数据库基础知识
- 11.3 数据库编程:JDBC对数据库的访问
- 11.3 数据库编程:编写基于数据库的应用
- 11.3 数据库编程:应用示例--小小通讯录
week11 小结
2
Readings
- week11 讲义
- week11 示例
Week11 测验
1
Assignment
- Week 11作业
第4次互评作业
1
Peer Review
- 使用图形化界面
12.1 写好程序的一些经验
1
Videos
- 12.1 写好程序的一些经验:写好单词、语句、函数及类
12.2 重构
1
Videos
- 12.2 重构:重构的时机与方法
12.3 设计模式
1
Videos
- 12.3 设计模式:设计模式及JDK中的应用
12.4 反射
2
Videos
- 12.4 反射:反射及应用
- 12.4 反射:自定义注记
week12 小结
2
Readings
- week12 讲义
- week12 示例
期末考试
1
Assignment
- Final Examination 期末考试
Auto Summary
"Java程序设计" is a comprehensive course designed for individuals with prior programming experience, specifically those familiar with languages like C or C++. This course, offered by Coursera, delves deep into Java programming, focusing on three main areas: mastering Java syntax and understanding its object-oriented features, proficient use of JavaSE APIs for collections, threading, input/output, GUI, and networking, and developing well-structured applications with good coding practices. Learners will also explore techniques such as refactoring, design patterns, and unit testing to enhance code quality. The course is available through Starter and Professional subscription plans and is tailored for professionals seeking to deepen their Java programming expertise.
唐大仕