SPOC学校专有课程
面向对象程序设计
分享
spContent=面向对象程序设计是一门重要课程,主要包含面向对象编程,面向对象分析及面向对象设计,是未来重要的一门技术,主要包含封装、继承、多态等几大性质。该课程以Java语言为工具,是信息与计算科学本科生的一门专业技术教育必修课程。通过本课程的教学,帮助学生掌握面向对象的编程设计思想和Java的基本语法、常用技术,并能运用Java技术和基本开发工具Eclipse进行程序设计。培养学生用面向对象程序设计思想和“计算机思维”方式进行计算机编程,尤其强调对学生“计算机思维”方式的训练,使学生能够运用Java语言作为一种思维工具解决处理现实问题。启发学生的创新意识,提高学生在程序设计过程中分析问题和解决问题的实际动手能力,使学生的理论知识和实践技能得到共同发展。
—— 课程团队
课程概述

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

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

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

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

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

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

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

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


授课目标

(一)知识能力目标

由于面向对象技术的突出优势,目前它已成为开发大型软件所采用的主要方法。本课程开设目的是培养学生面向对象程序设计的思维、了解Java的体系架构、掌握Java面向对象程序设计的基本方法及简单的GUI开发技术,为后续学习、从事软件开发和应用设计打下坚实的基础。

(二)价值目标

以新时代中国特色社会主义思想为指导,将知识传授与价值引领相结合,通过社会热点讨论、案例分析、项目实践等培养学生的爱国主义情怀、社会责任感以及精益求精、追求极致的学习态度,为社会培养一批合格的IT工匠。

(三)教学任务

一是要让学生掌握面向对象程序设计的方法;着重培养学生用面向对象方法解决实际问题的能力,通过大量的上机实习培养学生的动手能力及综合应用能力。

二是学习Java语言的基本语法,学会用Java语言实现面向对象的程序设计。

成绩要求

成绩评定:期末机考,总成绩100%=期末考试成绩50%+平时成绩50%

其中平时成绩100%=签到10%+课堂互动10%+作业10%+测验10%+线上学习情况20%+实验20%+分组讨论20%

课程大纲
预备知识

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

参考资料

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

ISBN:9787512121898

 



常见问题

1. Java是什么样的语言?

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


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

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


3. 本课程系统吗?

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


4. 本课程实用吗?

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


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

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


6. 本课程难学吗?

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


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

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


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

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