北京大学

Java程序设计

图片
课程概述

    选修该课的同学一般已经具有了C语言程序设计的基础。对于学过“计算机基础、计算概论或C语言的学生”尤为适用。

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

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

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

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

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

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

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


证书要求

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

各部分的分值比例是:平时测验及编程作业(80%)、参与论坛讨论(5%)、期中期末考试(15%)。

积极参与论坛讨论者可以获得额外的加分。

总分数达到60分,可以获得合格证书;达到80分,可以获得优秀证书。


预备知识

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

授课大纲

第1章  Java语言与面向对象的程序设计

第2章  简单的Java程序

第3章  数据运算、流控制和数组

第4章  类、包和接口

第5章  深入理解Java语言

第6章  异常处理

第7章 工具类及常用算法

第8章  Java的多线程

第9章  流、文件及基于文本的应用

第10章  图形用户界面

第11章  网络、多媒体和数据库编程

第12章  如何提高代码质量

参考资料

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


常见问题

1. Java是什么样的语言?

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


2. 本课程系统吗?

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


3. 本课程实用吗?

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


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

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


5. 本课程难学吗?

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


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

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


7. 我可以取得证书吗?

答: 是的,达到要求后将得到北京大学主讲教师签署的完成课程学习的证书。


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

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