北京大学

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版)》(获第六届全国高校出版社优秀畅销书奖) 清华大学出版社, 北方交通大学大出版社,北京大学信息技术系列教材。

ISBN:9787512121898


常见问题

1. Java是什么样的语言?

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


2. 本课程系统吗?

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


3. 本课程实用吗?

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


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

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


5. 本课程难学吗?

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


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

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


7. 我可以取得证书吗?

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


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

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