学校云 建设你的专属在线教育平台
中国大学MOOC
SPOC学校专有课程
Java语言程序设计
分享
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认证考试及华为的教育资源

授课目标

本课程旨在培养学生运用Java语言独立完成面向对象的程序设计,并具备开发数据库应用、简单网络应用、以及Web应用的程序设计能力。通过本课程的学习,学生应获得如下学习成果:

        1. 掌握Java语言的功能特色和基本语法;

        2. 掌握Java语言面向对象的编程思想;

        3. 掌握Java语言的高级程序设计方法,包括泛型与集合框架、多线程、输入输出流、网络通信、数据库应用程序、Web应用程序等;

        4. 掌握JDK的安装、开发环境的构建和测试方法;

        5. 掌握IDEA集成开发环境的构建、使用和程序运行、调试方法;

        6. 掌握查阅JavaDoc的方法,能够阅读开发者使用文档;

7.通过java中的swing,能开发java程序,并且了解软件开发的过程。


成绩 要求

总评成绩=线上课程成绩*30%+线下课程成绩*70%

线上课程成绩要求(百分制来计算)

1.要求完成所有视频课的学习(50%)

2.按时完成每周的课时学习时长(10%

3.按质按量的完成每单元练习,讨论10%

4.完成慕课堂相关学习任务10%

5.完成每单元测试及期中期末测试20%

线下课程成绩要求(百分制来计算)

1.上机实验、平时作业、课堂互动(30%)

2.期末测试(70%)



课程大纲
预备知识

最好是学过一门程序设计语言(如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. 讲这门课的大仕老师如何啊?

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