课程简介

《Java程序设计》课程是使用Java语言进行应用程序设计的课程,针对各专业的大学本科生开设。课程的主要目标有三: 一、掌握Java语言的语法,能够较为深入理解Java语言机制,掌握Java语言面向对象的特点。 二、掌握JavaSE中基本的API,掌握在集合、线程、输入输出、图形用户界面、网络等方面的应用。三、能够编写有一定规模的应用程序,养成良好的编程习惯,会使用重构、设计模式、单元测试、日志、质量管理工具提高代码的质量。 对于学过“计算机基础、计算概论或C语言的学生”尤为适用。

课程大纲


第1章  Java语言与面向对象的程序设计
第2  简单的Java程序
第3  数据运算、流控制和数组
第4  类、包和接口
第5  深入理解Java语言
第6  异常处理
第7 工具类及常用算法
第8  Java的多线程
第9  流、文件及基于文本的应用
第10  图形用户界面
第11  网络、多媒体和数据库编程
第12  如何提高代码质量



课程说明

《Java程序设计》是北京大学信息科学技术学院的选修课程。
      选修该课的同学一般已经具有了C语言程序设计的基础。本课程是在已有的基础上让学习者能够以Java语言编写具有一定规模、综合性的应用程序。对后面的操作系统、编译原理等课程来说,该课程是一个承上启下的课程。
      从课时内容而言,主要有三部分:
      第一部分是Java语言部分,包括Java概述,简单的Java程序,变量、语句、数组,类、包、接口,深入理解Java语言,异常处理等。这部分内容的目的是掌握Java语言的语法,能够较为深入理解Java语言机制,掌握Java语言面向对象的特点。
      第二部分是Java的类库及应用,包括工具类及常用算法、多线程、流、文件及基于文本的应用、图形用户界面、网络、多媒体和数据库编程等,这部分的目标是掌握JavaSE中基本的API,掌握在集合、线程、输入输出、图形用户界面、网络等方面的应用。
     第三部分是关于如何写出出高质量的代码,包括集成开发环境的使用,单元测试、日志、质量管理工具的使用,掌握重构和设计模式,这部分的目标是综合应用本课程的知识,能够编写有一定规模的应用程序,养成良好的编程习惯,能够编写高代码的质量。
     课程一方面重视语言的基础和原理,另一方面注意实际编程能力的培养。
     课程有一些小的作业,在课程结束还要求开发有一定工作量、有中等难度的项目。


常见问题


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

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

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

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

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

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

7. 我可以取得证书吗?
答: 是的,达到要求后将得到北京大学主讲教师签署的完成课程学习的证书。

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


参考资料

拓展阅读

其他

主讲教师

唐大仕   讲师

唐大仕,博士,北京大学信息科学技术学院教师,在程序设计方面有多年的项目开发经验和教学经验,任教育部计算机教指委分委专家组成员。出版的教材包括《Java程序设计》(曾获第六届全国高校出版社优秀畅销书奖)《C#程序设计教程》《VB程序设计》《Visual C++.NET程序设计》等。在北京大学开设多门程序设计课程,课程内容以系统知识与实践应用相结合,注重培养对知识体系的深入理解,在与实际工作生活相结合的应用实践中分析问题、解决问题的能力。讲授过程以循序渐进为特色,善于启发。课堂风格轻快幽默。

课程助教

  • dyc

  • 林凤绿

  • stormier

相关课程推荐

  • 已结课
    计算机概论PartA
    你有没有好奇过:计算机为什么能够进行计算?计算机程序是怎样运行的?你是否想知道:计算机未来可能的发展趋势有哪些?程序是如何编写出来的?如何学习程序设计语言?程序设计语言的基本成分有哪些?《计算导论》这门课将帮助你解决这些疑惑。 学完这门课,你将能够解释计算机和程序的基本运行原理以及它们的特性,向你的朋友讲述计算机的历史和发展趋势;同时,你也将充分“热身”,迎接“计算机程序设计语言”的学习!
  • 正在进行
    算法设计与分析
    本课程的内容分成两大部分:算法的基础知识、通用算法设计技术与分析方法。 第一部分是算法基础知识,约占20%,主要介绍算法相关的基本概念和数学基础。比如,什么是算法的伪码描述?什么是算法最坏情况下和平均情况下的时间复杂度?算法时间复杂度函数的主要性质,算法复杂度估计中常用的数学方法,如序列求和及递推方程求解。 第二部分是通用的算法设计技术与分析方法,主要介绍分治策略、动态规划、贪心法、回溯与分支限界。主要介绍这些设计技术的使用条件、分析方法、改进途径,并给出一些重要的应用。
  • 正在进行
    算法设计与分析(高级)
    “算法设计与分析”是计算机科学与技术专业的一门核心课程。通过学习算法不但对学习其他专业课程奠定了扎实的基础,也对培养学生的计算思维和求解问题的能力起到重要的作用。算法与计算复杂性理论一直是计算机科学研究的热点领域。面对各个应用领域的大量实际问题,最重要的是根据问题的性质选择正确的求解思路,即找到一个好的算法。特别在复杂的、海量信息的处理中,一个好的算法往往起到决定性的作用。 算法设计与分析涉及内容较多,根据MOOC课程的教学特点和需求,我们将它分成两个部分。其中“算法设计与分析(1)”主要讲授有关算法的基础知识和通用设计技术,包括算法的基本概念和数学基础、分治策略、动态规划、贪心法、回溯和分支限界等。“算法设计与分析(2)”是在上述基础上介绍两类重要问题的建模和算法设计,并进一步讨论问题难度的界定和困难问题的应对策略。这次开课的是第二部分“算法设计与分析(2)”。选修本课程的学生应该预先修过“算法设计与分析(1)”或者具有相关的基础。“算法设计与分析(1)”已经在华文慕课平台上线,网址是:http://www.chinesemooc.org/mooc/4748/,需要了解相关教学内容的同学可以访问。

恭喜,报名成功

进入学习中心

恭喜,报名成功

确定

请进入开课界面预览

确定

X

请去您的邮箱验证

还没收到验证邮件?

1. 试试去广告邮件、垃圾邮件目录看看

2. 再次发送验证邮件

对不起,班次容量已满

请报名下一班次

知道了~!

对不起,您没有操作权限

知道了~!