Java程序设计

《Java程序设计》课程是使用Java语言进行应用程序设计的课程,针对各专业的大学本科生开设。课程的主要目标有…

北京大学

分享

Java程序设计
  • 分类: 计算机
  • 平台: Coursera
  • 语言: 中文

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

课程概述

《Java程序设计》是北京大学信息科学技术学院的选修课程。
选修该课的同学一般已经具有了C语言程序设计的基础。本课程是在已有的基础上让学习者能够以Java语言编写具有一定规模、综合性的应用程序。对后面的操作系统、编译原理等课程来说,该课程是一个承上启下的课程。

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

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

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

课程一方面重视语言的基础和原理,另一方面注意实际编程能力的培养。
课程有一些小的作业,在课程结束还要求开发有一定工作量、有中等难度的项目。

授课大纲

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

先修知识

先修课程:接触过一门程序设计,比如学过C语言程序设计 或 C++程序设计或计算概论。

参考资料

教材
《Java程序设计(第2版)》唐大仕 清华大学出版社 北方交通大学出版社

参考书
《Java学习笔记》林信良,清华大学出版社(564页)
《疯狂Java讲义》李刚 ,电子工业出版社(887页)
Java大学教程(Java How to Program) (英文影印版或翻译版) ,Deitel,电子工业出版社(758页)
Java, Java, Java, Object-Oriented Problem Solving, R. Morelli and R.Walde, Prentice Hall(850页)
Java程序设计教程(英文影印版) , John Lewis,电子工业出版社
Java编程思想(Thinking in Java) (英文影印版或翻译版) ,Bruce Eckel,机械工业出版社(1482页)

授课形式

本课包括一系列的教学视频,每集视频长度在8-15分钟,视频中有1至2个集成小测试(In Vedio Quiz).每集视频以后有相关的讲义、参考资料和习题、讨论。

任务安排(作业及考试)
一般每周有一个小的测验,每周或每两周有一个小的作业。
考试分为期中考试和期末考试。

评分方案
评分按照日常作业的完成情况和期中期末考试的答题情况进行。平时测验占30%,平时作业40%,期中考试占10%,期末考试占20%。

课程论坛参与度较高的同学可以得到加分。

常见问题解答

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

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

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

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

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

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

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

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

声明:MOOC中国收录之课程均源自下列机构,版权均归他们所有。本站仅作报道并尊重其著作权益,感谢他们对MOOC事业做出的贡献!(排名不分先后)
  • Coursera
  • edX
  • OpenLearning
  • FutureLearn
  • iversity
  • Udacity
  • NovoEd
  • Canvas
  • Open2Study
  • Google
  • ewant
  • FUN
  • IOC-Athlete-MOOC
  • World-Science-U
  • Codecademy
  • CourseSites
  • opencourseworld
  • ShareCourse
  • gacco
  • MiriadaX
  • JANUX
  • openhpi
  • Stanford-Open-Edx
  • 网易云课堂
  • 中国大学MOOC
  • 学堂在线
  • 顶你学堂
  • 华文慕课
  • 好大学在线CnMooc

Copyright © 2008-2015 MOOC.CN 慕课改变你,你改变世界