学校云 建设你的专属在线教育平台
中国大学MOOC
SPOC学校专有课程
Java程序设计
分享
spContent=Java是一种优秀的面向对象的语言,具有跨平台性、用途广泛、容易学习等特点,众多的开源项目都是用Java实现的,可以说Java是程序设计必学的语言。这门课程掌握Java语言、面向对象的特点,要求学生具备使用Java语言和面向对象的思想解决软件开发过程的复杂问题的能力,同时要养成良好的编程习惯,能够编写有一定规模的应用程序。
—— 课程团队
课程概述

   

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

    本课程是在已有的基础上让学习者能够以Java语言编写具有一定规模、综合性的应用程序。对后面的J2EE课程来说,该课程是一个承上启下的课程。

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

    第一部分 程序设计基础(第1-8章),包括Java概述(第1章),基本数据类型、变量、常量、复制、表达式以及操作符这样的设计技术(第2章)、选择语句(第3章)、数据函数、字符串(第4章)循环(第5章)、方法(第6章)、数组(第7章和第8章)。这部分内容的目的是掌握Java语言的语法。这部分内容以线上学习为主,线下课程习题串讲重难点。

    第二部分 面向对象程序设计(第9-13章),这一部分介绍面向对象程序设计,包括如何使用对象和类(第9和10章)、类的继承(第11章)、多态性(第11章)、异常处理(第12章)、抽象类(第13章)以及接口(第13章)进行程序设计。这部分内容的目的是能够较为深入理解Java语言机制,掌握Java语言面向对象的特点,综合应用本课程的知识,能够编写有一定规模的应用程序,养成良好的编程习惯,能够编写高代码的质量。这部分线上线下相结合,线上学习掌握基本概念,线下课堂以案例讲解为主。

   第三部分 Java的类库及应用,包括流(第17章)、文件(第17章)、集合类(第18章)、多线程(第32章)及数据库编程(第34章)等,这部分的目标是掌握JavaSE中基本的API,掌握在集合、线程、输入输出等方面的应用。这部分内容以线上学习为主,线下课堂会根据进度选取部分章节讲解。

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

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



授课目标

《Java程序设计》是计算机与通信工程学院软件工程、计算机科学与技术、网络等专业的学科专业课程,限选。通过本课程的教学,使学生把握面向对象的程序设计方法,熟悉Java集成开发环境、Java异常捕获、Java文件访问、集合类等知识。通过本课程的学习使学生系统地掌握面向对象程序设计的封装、继承、多态等概念。


通过学习Java程序设计语言达到以下几个目的:首先巩固程序设计、算法与数据结构的知识并加以实践。然后熟悉Java开发环境,掌握面向对象开发程序的方法。最后能用案例教学的方法引导学生掌握面向对象的分析、设计和开发流程,深入的理解用面向对象思维开发系统的方法。


成绩 要求

完成课程的同步学习,包括学习视频、完成测验与作业、参与论坛的讨论、完成期末试卷。

成绩构成如下所示:

在线学习:20%(视频观看与论坛活跃度5%;作业完成 10%;阶段测试 7%)

课堂表现:25% (考勤5%、课堂练习10%,单元测试10%)

分组讨论:15%  (2-3次分组讨论)

期末考试:40%

积极参与论坛讨论和课堂讨论可以获得额外的加分


课程大纲
预备知识

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

参考资料

ava语言程序设计与数据结构(基础篇)(第11版) 机械工业出版社 

ISBN: 978-7-111-60074-9

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

ISBN:9787512121898

疯狂Java讲义 (第五版)李刚编著 电子工业出版社

ISBN: 978-7-121-36158-6


常见问题

1. Java是什么样的语言?

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


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

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


3. 本课程系统吗?

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


4. 本课程实用吗?

答:实用。本课程会讲到编好代码的经验与技巧,包括面向对象的思想、软件工程中常用的方法。课程中有很多的趣的示例哟。


5. 本课程难学吗?

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


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

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