学习计划
4988人加入学习
(11人评价)
JAVA语言(MOOC)
价格 免费
音频听课 手机端支持一键听课 (试一试)
课程介绍

课程简介

Java是美国SUN公司1995年推出的面向对象的程序设计语言,它充分考虑了互联网时代的特点,在设计上具有跨平台性、面向对象、安全等特性,因此一经推出就受到IT界的广泛重视并大量采用,同时也成为教育界进行程序设计教学的一门重要编程语言。

《Java程序设计》是面计算机类、软件工程类、网络安全类、自动化类等专业的一门专业技术必修课,涉及计算机体系结构、面向对象编程、多线程处理、网络通信以及分布式程序设计等内容,通过本课程的学习,学生能够了解Java语言特征、常见的Java类库以及面向对象程序设计思想,为后续开发高级Java应用程序奠定坚实的技术基础。

学习目标

 通过本门课程的学习可以使学生掌握Java语言的基本语法和编程规范;尤其是掌握用Java语言进行网络编程的技巧;同时Java语言是一门面向对象的语言,通过学习可以掌握用面向对象进行编程的思想和实践,使学生成为一名合格的Java程序员。

导学

1. 理解课程基本概念

Java程序设计与其它编程语言相类似,有很多基本编程规范及概念;只有理解这些基础知识之后方可编写程序。

2. 认知计算机系统对Java程序的影响

本课程的学习能够让学生学会基本的Java编程知识,会编写Java程序;但要想编写高质量的Java程序,必须深入理解计算机系统的软硬件资源对程序的影响,如多CPU对线程的影响、IO设备访问对程序性能的影响、网络连接及通信方式对程序的影响、数据库连接与SQL语句对程序的影响等内容繁多,无法在本课程中全面涉及。学生只能在其它相关课程学习中理会其与Java程序间的关联。

3. 强化动手实践

理解Java基本术语和编程规范并非就会编写程序,会写程序未必就能够写出高质量程序,会写一个领域的程序并非就能够编写另外领域的程序。究竟如何才能编写不同领域的高质量程序呢?答案就是强化编程实践,幸运的是,学习Java编程只需要一台普通PC即可,学生下载各种免费或开源的开发环境及应用支撑平台来编写各种应用程序。诚然,在自己动手之前,先阅读合适的例程代码以便快速入手。

适用对象

计算机、软件工程、自动控制等相关专业的大三、大四本、专科生。

学时数

课程总学时数为36,每章4个学时。

教师团队

西安交通大学《Java程序设计》课程组是国家级程序设计、计算机网络与系统结构课程优秀教学团队的重要组成部分,其中的负责人郑庆华教授为陕西省高等学校教学名师获奖者、国家级优秀教学团队带头人。课程组主要成员有王志文、夏秦、陈妍等,所有成员均是国家级教学基地和优秀教学团队成员,有着丰富的教学经验和Java编程经历,可以充分利用教学基地和实验示范中心现有各种有利的教学条件和设施。

王志文副教授承担课程的教学设计和视频录制,夏秦老师负责章节习题及课程模拟测试题;课程组其他成员协助课程教学的实施。

先修知识

大学计算机基础、数据结构

 

学习方法

1.  浏览课程教学大纲及教学日历,了解课程的内容结构及进度安排,结合自己的实际情况合理安排时间。

2.  跟着视频逐个学习和理解知识点是学好Java程序设计的关键,对于一些重点和难点内容,建议多次重复看;若存在疑惑,可在互联网上就疑惑点进行查询学习。

3.  作为编程实际性强的课程,除了完成本课程在课后所附的基本练习题外,阅读教材给出的编程源代码,认真消化理解。

4.  课程给出的例程是为讲解特定知识点准备的,学生可以尝试改造和扩展例程代码以提高自己的程序阅读能力和编程能力。

学习形式

在线自学所有课程章节,包括课程视频、课后作业练习等。

另外,还可以与课程教师进行网络答疑。

参考教材

《Java程序设计》(慕课版),龚炳江、 文志诚主编,人民邮电出版社,出版时间:2016年4月

《Java程序设计》(第3版,新世纪计算机基础教育丛书),谭浩强主编,清华大学出版社, 出版时间:2013年4月

课程拓展资源

 拓展资源提供了10个Java开发相关的网站,这些网站质量都很好,它们提供了业界信息以及一些很棒的讲座, 还能解答常见开发过程中遇到的问题、面试问题等。

1. Stackoverflow(http://stackoverflow.com/)

Stackoverflow可能是编程界中最流行的网站了,该网站有成千上万个好问题和答案。学习API或者编程语言,通常依赖于代码示例,stackoverflow就可以提供大量的代码片段。Stackoverflow的另一个优点在于它的社交性。你可以在一些特定的标签下查看问题,比如“Java”、“regex”,你就会看到哪些是高频问题。这对于学习,以及Java博主书写热门话题都是一种非常好的资源。

2. DZone(http://www.dzone.com/links/index.html)

这是一个非常有趣的网站,有相当多的开发者在这个网站上分享他们的博客文章。就像一场冒险一样,在这里,你永远不知道下一秒会看到什么内容。

3. LeetCode(http://leetcode.com/)

如果有Java方面的面试问题,例如“在Java中,内存中的数组是什么样的”,你可以从很多Java教程中找到答案。但是,遇到类似于“如何将SortedArray转化成一个BalancedTree”这样的问题,你就应该去LeetCode了。LeetCode包含一系列算法问题, 它能为有关信息技术的面试提供一个社会性的平台。这个网站最好的地方就是,它可以通过大小不同的数据在线检查你的代码是否正确。很多人认为,面试成功的关键在于重复这三个重要步骤:编码→阅读→讨论。

4. Java SE技术文档(http://docs.oracle.com/javase/)

这个网站包含了在使用Java SE API时会用到的所有文档,即使你是Java开发牛人,我敢肯定在这里你仍能发现一些有用的东西。比如,你可以阅读一些像“Java类的本质”、“部署”这样的教程。

5. Github(https://github.com/)

你也许知道可以免费将你的项目托管在哪,但你不一定知道它还是一个学习当今流行的Java库和框架的优秀资源。比如,你想学 Spring MVC Framework,你可以搜索并且找到一些开源的项目。遵循“照葫芦画瓢”的原则,你能够通过实例快速的学习框架,尤其是你已经具有使用类似框架的经验。 
 

6. Coursera(https://www.coursera.org/)
 

这是有关视频讲座的最好网站,在这里你可以找到许多顶尖学校的著名教授的优秀计算机科学课程。这些教授中,有些甚至是一些计算机科学领域的发明者。 
 

7. Java World(http://www.javaworld.com/)
 

这个网站包含了大量的Java教程,涉及各种各样的话题。其中很多文章都写的很好,并且有图片、插图进行说明。它可以被用来当作深度学习的教科书。

8. IBM developerWorks(http://www.ibm.com/developerworks/java/)

这里有很多由IBM公司的人写的非常不错的文章。 

9. Wikipedia 维基百科(http://en.wikipedia.org/wiki/) 

这个网站是查询或学习几乎所有概念的最好的资源之一。例如,作为一个资深的Java开发人员,你可能只是想了解一些概念并不想深度研究。这里是一个可以免费查询最新信息的好地方,例如“什么是面向服务的编程”。另外,它还能为你的写作提供大量素材。比如,同一个词在不同的领域可能会有完全不同的含义。有时,研究这些词在不同领域的不同含义是非常有意思的。 
 

10. Program Creek(http://www.programcreek.com/) 
 

与以上几个网站相比,Programcreek.com在规模上要小很多。但是规模小也有优点,它在维护方面做的更好,读起来更有趣。在这里,你可以找到其他任何网站都不曾涉及到的话题,而且几乎每篇文章都包含漂亮的插图或者示例代码。它包含了来自不同领域的人发表的文章(科研、工业),并且经常为Java开发者提供优质材料。希望有一天,它也会出现在一些人的网站前十名排行名单中。 

FAQ

1. 如何才能学好java编程语言?

答: Java编程是一门实践性很强的课程,学会基本的Java语言编程规范及程序开发流程表明你已近学会编写、调试、部署和运行java程序,这能够满足多数情况下的Java应用编程需要。但对于性能要求较高的应用,Java基本编程知识不足以应付,此时必须全面了解计算机系统(包括软硬件)的工作机理,才能写出高性能的Java应用程序。

2. 目前市面上到处提的都是Java,它包含哪些内容?

答:Java编程及应用的确在当前的软件界非常普遍。首先,Java有三种不同的平台架构,即面向消费类电子设备(智能手机、PDA等)的JSME、面向普通、标准桌面应用的J2SE以及面向企业的复杂综合应用J2EE,这意味着几乎所有的软件编程领域都能够看到Java的踪影。上述三种架构使用的是相同的Java编程规范,但各自使用的API类库不一样,且软件的开发流程、部署方式及运行机理都不相同。