“面向对象程序设计”课程建设的实践与探索
本文阐述了在“面向对象程序设计”课程教学过程中积累的一些经验,提出了教学的重点、实验的安排以及改进的教学方式。
关键词:面向对象程序设计;教学安排;教学方法
1课程概述
运用面向对象方法学来分析、设计和实现软件系统的过程与人们认识客观世界、解决实际问题的过程比较一致,面向对象的程序具有稳定、易理解、易修改和可重用等优点,可明显提高软件开发与维护的效率,降低软件的总成本。近年来,面向对象的技术越来越受到人们的重视,对它的应用和研究遍及计算机软件和硬件的各个领域,国内高校普遍开设了“面向对象程序设计”之类的课程,并取得了很好的教学效果。上海第二工业大学计算机与信息学院软件工程专业将面向对象程序设计作为该专业的一门专业主干课程。该课程的任务是:希望学生理解面向对象程序设计的基本思想;掌握封装、继承和多态等面向对象的基本特性;掌握一门面向对象程序设计语言的功能和应用方法。
近来,我们对这门课程进行了不断的实践和探索,涉及到课程的性质、目标、内容和教学方法等方面,下面将会介绍相关的内容。
2课程教学要求
通过多年的教学实践和参考其他院校的培养计划,该课程开课学期为第5学期,3学分,48学时(33理论+15实践)。学习该课程后,学生掌握面向对象程序设计技术的基本原理与设计方法,并充分理解面向对象思想的长处;并掌握一门面向对象程序设计语言,能够使用面向对象技术来解决实际问题。本课程主要介绍面向对象程序设计的方法和C++语言的基本概念。以C++语言中的面向对象机制为主,从而掌握面向对象程序设计的基本知识和基本技能。
2.1课程内容安排
该课程目前是针对软件工程本科专业的学生开设,围绕着教学的目标,该课程的教学时数分配如表1所示。
面向对象程序设计是一门承上启下的课程,该课程的先修课程为“程序设计
“互联网+教育”下课程建设的思考与建议 为期两个月的培训接近尾声,感谢学院组织的本次培训,培训的内容很全面,通过本次培训我学到很多,结合本人日常工作情况,浅谈“互联网+教育”下的课程建设思考与建议。 淘宝创造了奇迹,马云成了传奇,马云的成功是他找准了发展方向,抓住了发展机遇,那么在这个信息化,大数据,“互联网+”如火如荼发展的今天,各个行业都在找发展的方向与机遇,只有顺应时代发展,找对方向,方可快速前。如果方向错了,那么请停止下来,在这个过程中肯定要摒弃很多固有的方法与观念,要接受新思想,学习新知识新方法,那么我们高职类院校在“互联网+”时代该何去何从呢? 慕课的出现是“互联网+教育“发展的必然产物,慕课(MOOC:Massive Open Online Course,大规模网络开放课程)[1],从2013年慕课走进中国的大学校门,至今基本上每个本科院校,高职院校都有自己的慕课网平台,没有哪一种教学模式能够以如此快的速度在全国各个院校迅速发展起来。然而慕课做到了,这是因为慕课找对了位置,它的兴起符合“互联网+教育”的发展方向。慕课的到来给我们课程建设和教学模式带了新的机遇,我们能够在慕课时代下,找到新的发展方向,才能够快速发展起来。可是由于慕课本身具有的开放性、共享性、会造成优质的课程资源扎堆,大量免费公开的网络精品课程的涌现,网络化的普及,学生信息化水平提高的今天,传统的课程建设收到了了很大的冲击。这种情况下,老师们不仅要具有一线的教学经验、熟悉的课程建设流程,而且必须要掌握足够的信息化教学手段和必要的计算机网络与计算机软件相关知识,那么在这种情况下,我们学院的课程建设应该怎么进行? 结合本校实际浅谈几点思考:总的实现途径是:创建学院的多媒体课件制作团队,从通识类课程入手创建慕课平台,班主任导师制在教学上指导学生,与企业联合培养学生。 1 建立学院的多媒体课件制作团队,大力推进学校的微课建设 微课是慕课发展的内容,目前条件下要跟随慕课,首先要做好微课。“微课”是指教师在课堂内外教育教学过程中围绕某个知识点(重点、难点、疑点)或技能等单一教学任务进行教学的一种教学方式,具有目标明确、针对性强和教学时间短的特点[2],成为当前我国教育信息化资源建设的重点和研究热点。通过分析2015年全国第十五届多媒体课件大赛获奖情况,发现获奖率高的院校的一个共同特点,微课的片头、片尾都是同一种制作风格,可以看出他们的微课作品外围技术是由专门的技术制作团队来制作的。一个优秀的微课作品要做好,不是一件容易的事情。这样的教学比传统的教学更高效。由教务处牵头,老师自愿参加,及对多媒体课件感兴趣的学生共同组成学院的多媒体制作团队,以后的参赛类作品技术加工,及老师课程建设中的多媒体制作可以由团队老师协助完成,团队中的老师对学院老师定期进行多媒体技术培训,从而提高全院教学的信息化水平。
第3章面向对象程序设计基础
第3章面向对象程序设计基础 【1】什么是Java程序使用的类?什么是类库? 答:类是将一类事物的特性描述出来,然后如果用这个类来定义对象,则该对象就拥有了这个类所描述的所有特性。 在Java系统中,系统定义好的类根据实现的功能不同,可以划分成不同的集合,每个集合称为一个包,所有包合称为类库。 【2】如何定义方法?在面向对象程序设计中方法有什么作用? 答:方法的定义由两部分组成:方法声明和方法体。 方法的声明如下: 返回值类型方法名(参数类型形式参数1,参数类型形式参数2…){ 程序代码; 返回值; } 在面向对象程序设计中,方法的作用是完成对类和对象属性操作。 【3】简述构造方法的功能和特点。下面的程序片段是某学生为student类编写的构造方法,请指出其中的错误。 void Student(int no,String name) {
studentNo=no; studentName=name; return no; } 答:构造方法的功能是:构造方法是一个特殊的方法,主要用于初始化新创建的对象; 特点:构造方法的方法名要求与类名相同,用户不能直接调用,只能通过new运算符调用,而且构造方法是不返回任何数据类型,甚至也不返回void数据类型,即不能在构造方法前加void。 错误之处:(1)构造方法Student()前不能加void,(2)不能用return语句,(3)类名Student 首字母S改成小写s. 【4】定义一个表示学生的student类,包括的域有学号、姓名、性别、年龄,包括的方法有获得学号、姓名、性别、年龄及修改年龄。编写Java程序创建student类的对象及测试其方法的功能。 class Student { String id; String name; String sex; int age; void talk(){
1 什么是面向对象程序设计,它与传统的结构式程序有什么不同。 面向对象程序设计是一种适用于设计、开发各类软件的范型。它是将软件看成是一个由对象组成的社会:这些对象具有足够的智能,能理解从其他对象接受的信息,并以适当的行为作出响应;允许低层对象从高层对象继承属性和行为。通过这样的设计思想和方法,将所模拟的现实世界中的事物直接映射到软件系统的解空间。 与传统的结构式程序设计相比,面向对象程序设计吸取了结构式程序设计的一切优点(自顶向下、逐步求精的设计原则)。而二者之间的最大差别表现在: ·面向对象程序采用数据抽象和信息隐藏技术使组成类的数据和操作是不可分割的,避免了结构式程序由于数据和过程分离引起的弊病。 · 面向对象程序是由类定义、对象(类实例)和对象之间的动态联系组成的。而结构式程序是由结构化的数据、过程的定义以及调用过程处理相应的数据组成的 2 用面向对象方法建立模型的思维过程是怎样的。 用面向对象方法建立拟建系统的模型的过程就是从被模拟现实世界的感性具体中抽象要解决的问题概念的过程。这种抽象过程分为知性思维和具体思维两个阶段,其中:·知性思维是从感性材料中分解对象,抽象出一般规定,形成了对对象的普遍认识。·具体思维是从知性思维得到出的一般规定中揭示的事物的深刻本质和规律,其目的是把握具体对象的多样性的统一和不同规定的综合。 3 解释以下概念: ①对象:在现实世界中,对象就是可以感觉到的实体。每个对象具有一个特定的名字以 区别于其他对象;具有一组状态用来描述它的某些特性;具有一组操作,每一个操作决定对象的一种功能或行为(为自身服务的操作和为其他对象提供服务的操作)。而在面向对象系统中,对象是可以标识的存储区域。每个对象的状态被保存在此区域中,而实现一类对象行为的操作(代码)被保存在另外相关的存储器区域中。 ②消息:消息是要求某个对象执行其某种功能操作(方法)的规格说明。因此,消息是 由消息的接收者、消息要求提供的操作(消息名)和必要的参数组成的。 ③类:在现实世界中,类是对一组具有共同特性(属性和行为)的客观对象的抽象。而 在面向对象系统中,类是由程序员自定义的具有特定结构和功能的类型,是一种代码共享的手段。 ④实例:任何一个对象都是该对象所属类的一个具体实例。 ⑤公有消息:是由对象外向对象发送的消息,用于激活该对象的某种方法。 ⑥私有消息:是由对象向自身发送的消息,用于内部操作;该类消息不能从对象外向该 对象发送。 ⑦消息序列:在面向对象系统中一个事件的发生总会有多个对象的多次相互作用才能完 成,使得这些对象能够相互作用的消息组成的序列被称为消息序列。 4 类与实例的关系如何? 类是创建对象的模板,而对象是实现类的实例。属于同一类的不同实例必须具有: ·相同的操作集合; ·相同的静态属性集合; ·不同的对象名和属性动态值。
《面向对象程序设计》课程设计 课程代码:*****(采用现行5位数字的课程代码) 课程名称:面向对象程序设计课程设计 设计周数:1周 学分:0.5学分 课程类别:必修课 一、课程设计的目的与任务 面向对象程序设计课程设计是计算机科学与技术、网络工程、信息管理与信息系统等专业集中实践性环节之一,是学习完《面向对象程序设计》课程后进行的一次全面的综合练习。通过课程设计,学生可以将本课程所学知识点融会贯通,举一反三,加深实践与理解,提高学生综合运用所学知识的能力;另一方面,在参与一系列子项目的实践过程中,能使学生获得相关项目管理和团队合作等众多方面的实践经验。其目的在于加深对面向对象程序设计理论和基本知识的理解,通过对所选项目的分析、程序算法的设计、运行与调试过程的分析,使学生掌握基本的信息系统分析方法、设计方法和上机操作的各种技巧,对培养学生的逻辑思维能力、团队合作精神、创新能力、动手操作能力各方面素质有提供了良好的实践平台,为后续课程的学习打下一定的基础。 二、本课程设计的基本理论 本课程设计使用面向对象程序设计的方法解决实际问题,涵概了课程的所有重要知识点,如类与对象、继承与组合、虚函数与多态性等。 三、课程设计的形式与基本要求 形式:召开课程设计动员会,根据学生的学习水平和特长进行分组,每组选择指定课程设计的题目和内容。学生在规定的时间内,经过小组的协同工作和指导教师的辅导,完成所选课题的设计,最后由指导教师进行验收及评定。 基本要求:要求学生做好预习,认真分析设计过程中涉及到的算法,并确定所选课题的功能模块,详细描述各模块的具体内容;用流程图描述实现算法,根据算法进行代码的编写,最后进行反复上机调试修改,直到输出正确结果为止。 认真写好课程设计报告,根据每组学生的分工,各自写出对解决问题的详细分析、模块功能、调试结果,最后将课程设计报告上交给指导教师。 四、课程设计的内容 选题一:员工管理信息系统 (1)建立职工信息数据,包括职工编号、姓名、性别、工资、出生时间、部门、参加工作时间和年龄(必须计算得到)。
浅谈网络课程建设 网络课程到底有什么好!?为什么现在高校都开始着手网络课程的建设。网络课程的优点: 1.教学内容呈现形式的多样性。传统教学模式在教学内容的呈现上比较单一,主要拘泥于静态的文本、图片、PPT等讲稿,而网络课程是将教学信息以图形、图像、声音、动画、视频等多种媒体综合运用,使教学内容生动、形象,便于学生主动接受,从而能收到更好的教学效果。 2.网络课程的开放性、交互性。课程的开放性、交互性是网络课程最大的特点之一。课程内容的学习具有人机交互的特性,这样的一种交互可以克服空间、时间上的限制,而且对于被教育者年龄、身份等各方面都是没有任何约束性的。 3.优秀教育资源的共享性。在传统教育中,各地的教学条件、教学资源等情况千差万别,特别是一些偏远地区,教育资源匮乏的现状严重影响着当地的教育质量,制约着当地的教育水平。网络课程的一大优势就是把优秀的教育资源传播到网络可以到达的任何地区,最终提高全国整体的教育水平。 4.教学内容的非线性。网络课程的学习内容不是按照线性模式,从简单到复杂、从开始到最后,而是采用交互模式呈现信息。学习者可以根据自身的知识结构、学习进度、掌握程度等实际情况,自由选择学习的内容,从而实现个人最佳的学习状态,真正体现学习者在教学过程中的主体地位。 虽然网络课程好处多多,可是人们总是忽略它的问题所在。目前网络课程建设存在的问题: 1.注重内容呈现,忽视教学设计。网络教学中教育者与被教育者在时空上是分离的,被教育者在学习过程中是认知的主体,具有主动选择的特性。网络教学跟普通的教学模式一样,也要达到一定的教学目标,要想达到一定的教学目标,光有呈现形式多样的教学内容是远远不够的,关键是要使被教育者的学习活动持续下去才能达到教学的目标。因此,根据被教育者网络学习的特点而进行的系统的、有针对性的、整体的设计就显得尤为重要。 2.教学内容的呈现形式单一。现在部分网络课程在教学内容的呈现形式上比较单一,基本上是以静态网页和文本为主,甚至是将教学内容简单地堆砌于网络上,没有充分发挥优秀的教育资源与网络课程教学相结合的优势。 3.重难点内容不突出。网络课程教学相比于传统的教学方式,教学过程中提升了学习者的主体地位,但教育者在教学活动中随机应变的主导作用无法得到发挥。也就是说,教师若不能根据教学实际情况对教学内容作出相应的调整,网络课程就不能通过教师的反复讲解和强调学习中的重难点内容帮助学生理解记忆 这些内容,这就容易导致学习者一知半解,无法抓住学习的重点,无法理解学习的难点。