课程详情
课程评价
spContent=Java是一种优秀的面向对象的语言,具有跨平台性、用途广泛、容易学习等特点,众多的开源项目都是用Java实现的,可以说Java是程序设计必学的语言。这门课程掌握Java语言、面向对象的特点,掌握Java在多线程、图形用户界面、网络等方面的应用,同时要养成良好的编程习惯,能够编写有一定规模的应用程序。 本课程为国家精品在线开放课程、教育部-华为“智能基座”精品慕课。
—— 课程团队
课程概述

  本课程的先修课程:最好是学过一门程序设计语言(如C、C++、C#、Python、VB等任何一门语言)

  本课程是在已有的基础上让学习者能够以Java语言编写具有一定规模、综合性的应用程序。对后面的操作系统、编译原理、数据库等课程来说,该课程是一个承上启下的课程。

  从课时内容而言,主要有三部分:

  第一部分是Java语言部分,包括Java概述,简单的Java程序,变量、语句、数组,类、包、接口,深入理解Java语言,异常处理等。这部分内容的目的是掌握Java语言的语法,能够较为深入理解Java语言机制,掌握Java语言面向对象的特点。 

  第二部分是Java的类库及应用,包括工具类及常用算法、多线程、流、文件及基于文本的应用、图形用户界面、网络、多媒体和数据库编程等,这部分的目标是掌握JavaSE中基本的API,掌握在集合、线程、输入输出、图形用户界面、网络等方面的应用。

  第三部分是关于如何写出出高质量的代码,包括集成开发环境的使用,单元测试、日志、质量管理工具的使用,掌握重构和设计模式,这部分的目标是综合应用本课程的知识,能够编写有一定规模的应用程序,养成良好的编程习惯,能够编写高代码的质量。

  课程一方面重视语言的基础和原理,另一方面注意实际编程能力的培养。

  课程中除了视频、讨论区外,每周都有一些测验、还有一些小的作业,在课程结束还要求开发有一定工作量、有中等难度的项目。

   

   本课程为国家精品在线开放课程;是教育部-华为“智能基座”精品慕课之一。自2021年秋季学期起,该课程加入 教育部-华为“智能基座” 精品慕课建设项目, 将Java与华为资源有机结合起来,包括Java在毕昇JDK、鲲鹏平台、华为云、鸿蒙、欧拉、华为认证、人才在线、教育资源等方面的体现与应用。具体所在的章节如下:

1.1 华为毕昇JDK 及 鲲鹏计算产业

2.4 华为云平台上进行Java程序的编译与运行

5.9 华为鲲鹏平台上 Java 调用 C 程序

8.6 Java线程原理及其在鲲鹏上的实现 

8.6 JVM内存调优及其在鲲鹏上的应用 

9.2 华为OpenEuler (Linux)平台上的文件与目录

9.4 华为鲲鹏平台上开发Java资金管理小系统

10.6 Java移动开发与鸿蒙应用

11.1 华为鲲鹏平台上用socket开发多人在线聊天室

11.3 华为鲲鹏平台上开发Java Web小应用 

12.5 Java认证考试及华为的教育资源

   

  本课程在“阿里云计算有限公司教育部产学合作协同育人项目”的支持下进行了升级,补充了18个实验及11个视频。所有的实验都可以在阿里云起实验室免费实验,所有补充的视频都可以在慕课中免费观看。

  这18个实验是:

1 阿里云起实验室的使用

2 阿里云平台上进行Java程序的编译与运行

3 使用阿里的JDK:Dragonwell

4 使用Java中的数组:埃氏筛法求素数

5 Java中面向对象的分析与设计:银行系统

6 Java中类的初始化过程

7 Java中stream及lambda表达式

8 自定义异常

9 自定义集合:使用链表

10 阿里云Arthas调优工具的使用

11 文本与正则表达式的应用:背单词小软件

12 GUI组件、布局与事件:排块游戏

13 常用组件应用示例:文本编辑器

14 用 JDBC 访问Sqlite数据库:小小通讯录

15 使用阿里云RDS数据库

16 使用阿里云OSS进行文件的云存储

17 代码重构及阿里Java代码规约扫描插件P3C的使用

18 文本、数据库、图形用户界面的综合应用

   

  补充的视频如下:

补充视频:阿里开源JDK Dragonwell

补充视频:阿里弹性云服务器ECS

补充视频:龙蜥开源操作系统Anolis OS

补充视频:阿里云存储OSS

补充视频:阿里开源Fast Json 2

补充视频:阿里云数据库RDS 及PolarDB

补充视频:消息队列RocketMQ

补充视频:阿里开源中间件Spring Cloud Alibaba

补充视频:阿里开源组件ByteKit及JVM-Sandbox

补充视频:阿里Java编码惯例及阿里的Java开发手册

补充视频:阿里云培训与认证

课程大纲
预备知识

最好是学过一门程序设计语言(如C或C++或计算概论等)。

参考资料

唐大仕《Java程序设计(第3版)》(获第六届全国高校出版社优秀畅销书奖、北京大学优秀教材奖) 清华大学出版社, 北方交通大学大出版社,北京大学信息技术系列教材。

ISBN:9787512145269


参考资料还包括:

Java官网 https://www.oracle.com/java/ 

JavaSE API文档  https://docs.oracle.com/en/java/javase/ 


与华为有关的资料包括:

毕昇JDK https://gitee.com/openeuler/bishengjdk-8 

OpenEuler系统 https://gitee.com/openeuler 

openEuler官网 https://www.openeuler.org/zh/ 

openEuler开源社区 https://gitee.com/openeuler 华为云 https://www.huaweicloud.com/ 

华为公有云:https://www.hwclouds.com 

华为软件开发云:https://www.hwclouds.com/devcloud 

华为人才在线   https://e.huawei.com/cn/talent 

华为智能基座课程建设方案 https://edu.huaweicloud.com/roadmap/colleges.html 

“智能基座”产教融合协同育人基地 https://edu.huaweicloud.com/activity/colleges.html?ggw_qt 

鲲鹏社区 https://www.hikunpeng.com/zh/ 

昇腾社区: https://www.hiascend.com/zh/ 

鸿蒙系统  https://gitee.com/openharmony

常见问题

1. Java是什么样的语言?

答:Java语言是一门用途广泛的、面向对象的语言。Java语言可以编写桌面应用、手机应用及企业应用。Java简洁优雅,易于学习。


2. 没有学过编程,能学吗?

答:本课程的先修课程:最好是学过一门程序设计语言(如C、C++、Java、Python、VB等任何一门语言)。


3. 本课程系统吗?

答:会的。本课程要讲Java语言,对语言的一些机制会详细讲解,所以具有系统性。


4. 本课程实用吗?

答:实用。本课程要讲Java语言在文本、文件、窗体界面、图形、数据库、多线程、并行编程方面的应用。还会讲到编好代码的经验与技巧,包括面向对象的思想、软件工程中常用的方法。课程中有很多的趣的示例哟。


5. 主要讲桌面应用还是手机应用?

答:本课程要讲桌面应用。由于受课时的限制,本课程不讲手机应用,不过,除了界面不同,在文件、图形、数据库、多线程、并行编程方面手机应用与桌面应用是一样的。


6. 本课程难学吗?

答:本课程会循序渐进地讲解,对于大部分同学来说,是可以做到的。针对基础较弱的同学,我们会补充一些基础材料;针对基础很好的同学,我们也会提供一些深入的材料(不作为考试要求)。


7. 本课程会大量使用poj吗?

答:本课程在基本知识阶段会使用PoJ(在线自动判分)这种方式来提交作业,但是后面的程序要求综合应用、要求使用良好的设计模式、养成良好的编程习惯,这些不是POJ所能判断的,所以不太会使用POJ。我们会更多地使用“作业互评”的方式让大家互相学习、互相借鉴。


8. 讲这门课的大仕老师如何啊?

答:传说中的大仕老师,平易近人。看他的照片,不帅;听他的声音,不亮;看来,他只剩下一个办法:将课讲好!