前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇程序设计的结构范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。
中图分类号:G642 文献标识码:A 文章编号:1009-3044(2015)09-0163-02
Abstract: C language programming is a profession course in the computer special field of study, and it is usually the first programming course to the students. So the experiment teaching of the course is too important. It mainly discusses the teaching design of structures in this paper, which can help the students to grasp the basic knowledge about structures, and can solve problems by using arrays of structure and linked lists. It proves that the teaching design can stimulate the students’ study interest.
Key words:C language; programming; teaching; structure; experiment
《C语言程序设计》这门课一般是计算机专业学生入学时所接触到的第一门程序设计课程,这门课程需要学生掌握程序设计的方法,用C语言编程解决问题。在现实问题求解时,往往用简单数据类型描述问题对象时可能不是很方便和准确,例如,描述职工信息这样不同类型的数据组合时,这时就需要定义一种构造类型的数据结构来描述,这就是结构体。而且,本文认为结构体是实现了数据的封装,在一定程度上体现了封装的特性,对后续课程的教学有一定的启发性。所以,结构体教学是C语言程序设计的一个重要的部分,同样,在实验课教学中结构体的实验教学也是重要的一个环节,特别是链表方面的实验教学对后续课程,如《数据结构》起着基础性的作用。本文主要是对结构体的实验教学的设计进行探讨。
1 结构体实验教学的设计
结构体实验教学在教学时设计了3个实验题目,这三个实验题目的难度由易到难,试图让学生掌握结构体变量、结构体数组和链表的使用。
1.1 结构体变量的实验设计
结构体变量的实验属于结构体实验中比较简单的实验,这个实验就是让学生练习如何根据实际问题,用结构体定义自己所需的类型,再使用这种类型定义变量,编写程序去解决问题。
在实验教学中,教师要求学生解决如下的问题:要求用户输入三个点的坐标,编程判断这三个点是否可以构成一个三角形,如果可以则输出三角形的类型,即直角三角形、锐角三角形或者钝角三角形。这个题目在实验课上是以程序填空题的形式提供,这样既可以引导学生初次使用结构体进行编程,在填写缺失的代码过程中,锻炼学生的程序阅读能力。在题目设计中尽可能的考察学生以前的所学知识点,比如,函数形参、函数调用、选择结构编程等等。
这个程序填空题首先要求完成图1中所示的点的结构体的设计,从而让学生掌握如何根据实际需要来定义结构体这种类型。再要求学生完成图1中input函数和len函数的填写,让学生掌握如何使用结构体变量的成员分量,并注意函数的类型;judgeexist函数用于判断三个点能否构成三角形,在这个函数中强调逻辑运算符的使用,同时让学生注意函数的返回值类型,强调C语言的数据类型没有逻辑型,若想表示真假这样的逻辑型值可以用1和0这样的数值型数据来表示。
图2中的qcos函数在设计填空时主要考察的是指针的使用,让学生加深指针作为函数形参传递的是地址值这一个概念的理解。这个函数在编写时并不是很难,就是三角形余弦函数的使用,关键在于形参变量中指
针变量的引用,即诸如*cosA的赋值。而图2中judgetype函数就是依据三个角的余弦值来判断三角形是直角三角形、锐角三角形,还是钝角三角形。这个函数在设计填空时,主要是考察学生关系运算符的使用,以及嵌套的选择if语句的理解和应用。图3中主函数的设计填空主要是考察学生是否了解上述用户自定义函数的功能,并通过填写函数调用语句能正确的使用这些函数,此外,还考察了switch多分支语句的使用。
这个题目总体来说设计的并不是很难,当学生完成程序填空后,要求学生必须完成4种情况,即无法构成三角形、构成直角三角形、锐角三角形和钝角三角形的数据测试,通过输出的结果与预期结果作比较,从而检查程序是否编写正确。
1.2 结构体数组的实验设计
结构体数组的实验在结构体实验中是中等难度的实验,这个实验题目的设计主要是让学生掌握结构体数组的定义,让学生了解结构体数组元素的访问和其他基本数据类型的数组元素访问是类似的,如若要访问某个数组元素的成员分量时,需要在结构体数组元素后加上“.成员分量名”。
在实验课时,布置了如下的实验题目:输入职工的职工号、姓名、工资和出生年、月、日,按职工工资由高到低输出职工的职工号、姓名和周岁年龄。注意:输入“#”表示输入结束,假设最多只处理200个职工记录。此题在定义职工信息这种数据类型时,涉及到了出生年、月、日这种日期类型,而C语言的基本类型中没有这种类型,因此,教师可以引导学生先写出如图4(a)所示的日期类型struct date,再引导学生思考职工类型如何定义,提示学生职工信息包含出生日期这样的日期型数据,建议定义出如图4(b)所示的职工信息类型struct zg。一般地,学生会依据题目要求定义出struct zg的数组,其数组的大小为200。这个题目之所以这样设计就是希望通过这个练习让学生了解结构体类型中的成员分量没有具体类型要求,完全根据需要而设。
此题的另一个设计要点是排序算法在结构体数组中的应用,在课堂练习时,有的学生使用的是冒泡排序法,有的则使用选择排序法,但是在交换两个struct zg的数组元素时,有部分学生会注意交换结构体数组元素的成员分量,那么这时就需要声明交换结构体数组元素和交换整型数组元素的方法类似,将结构体数组元素看作一个整体。这个设计要点在于复习数组章节中所提到的排序算法。
此题最后一个设计要点是由已知的职工出生年、月、日求出该职工的周岁年龄,此处要求学生使用计算机的系统时间计算出职工的周岁年龄。为了能成功获取计算机的系统时间,则要求学生在帮助菜单或者网上查找C中“time.h”所定义的time_t这个数据类型,让学生了解typedef的用法;了解函数time()和localtime的用法,并能在程序中正确的使用;了解结构体struct tm,掌握该结构体中关于年、月、日表示的成员分量,让学生特别注意每个成员分量所表示的意义及其取值的范围,例如,成员分量tm_year表示的是年份,但是它的取值是从1900开始的一个整数,若想正确获得当前的年份值,应该是tm_year+1900。当学生能正确地完成获取系统时间的年、月、日的程序代码设计后,引导学生思考如何计算周岁年龄,实际上就是用if嵌套语句完成多分支结构的设计。这个设计要点是希望学生了解C程序设计过程中可能会出现书本上所未介绍过的知识,这就需要学生通过其他方式,例如查阅工具书或者上网等手段来获取所需的知识,同时,也复习了多分支结构的程序设计。
此外,在编程时要求学生尽量不要程序中只有一个main()函数,要尽量根据需要编写用户自定义函数。
1.3 链表的实验设计
链表实验的题目主要是让学生熟悉结构体与指针相结合,对链表有个初步认识,了解链表中的一些操作。题目与1.2中结构体数组的题目非常类似,但是要求必须用链表来完成,从而让学生熟悉链表这种结构。实验题目是:输入学生的学号、姓名和年龄,要求按学号由小到大输出学生的学号、姓名和年龄,要求输入“#”表示输入结束。这个题目解决的方法很多,因为学生初次接触链表,因此实验教学时没有提出任何方法的限制,只是要求学生用单链表求解,在求解过程中要求学生注意链表的创建算法,链表的输出算法,以及链表修改结点指针的一些操作。
首先,教师要引导学生正确的完成链表结点的定义,即指针与结构体相结合,学生信息结点的定义可以如图5所示。在求解问题时,需要学生注意结点指针的操作。实验课上,有的学生在输入学生信息时,即建链表时采用插入排序的思想,将待插入的学生信息的结点插入到已建好的且有序的链表中,用这种方法创建链表后,链表本身就是有序的,那么只需用循环结构输出链表就可以完成问题的求解。在实验课上,会发现有的学生有了这个想法但是算法编写有问题,教师在指导的过程中可以建议学生在建链表过程中,每插入一个结点后就完成当前链表的输出,从而有助于发现算法设计出错之处。
在实验课上,有的学生则先是创建链表,即将学生信息结点按输入的顺序插入到链表中,此时链表中的学生信息结点是无序的,再采用冒泡排序法或者选择排序法对链表中的结点调整顺序,最后编写循环完成链表输出。在调整结点时有的学生会出现算法思路不够清晰,有点混乱这种现象,这时教师可以建议学生在草稿纸画出链表结点的调整草图,再依据图示编写代码。在实验课上,有的学生采用排序算法调整结点时直接交换图5所示结点的no、name和age值,这种方法很便捷,但是达不到链表练习的目的,因此,教师可以鼓励学生再换一种算法。
2 结束语
本文给出了结构体实验教学的三个实验题目,这三个题目有各自的重点,而且题目有程序填空,也有程序设计,让学生由浅入深地逐步掌握结构体的定义,使用结构体变量和数组编程求解实际问题。并且实验题目中有的内容是对课本上的知识进行一定的扩展,力图培养学生的自学能力,因为在实际解决问题时,有的知识可能是课堂上没有提到的,因此,学生要学会查阅资料进行自学。
参考文献:
[1] 胡明, 王红梅. 程序设计基础――从问题到程序[M]. 北京: 清华大学出版社, 2011.
[2] 孙燮华. C程序设计导引实验与习题解答[M]. 北京: 清华大学出版社, 2011.
[3] 罗永龙, 方群. C语言程序设计[M]. 北京: 科学出版社, 2013.
1、整体思路清楚,目标明确。
2、设计工作中阶段性非常强,有利于系统开发的总体管理和控制。
3、在系统分析时可以诊断出原系统中存在的问题和结构上的缺陷。
4、用户要求难以在系统分析阶段准确定义,致使系统在交付使用时产生许多问题。
5、用系统开发每个阶段的成果来进行控制,不能适应事物变化的要求。
6、系统的开发周期长。
关键词:实例拓展;结构化;程序设计教学;教学应用
中图分类号:TP311.1
在计算机专业的教学中,程序设计是一门最基础,也是最重要的课程之一,是培养学生计算编程能力的主要课程[1]。但是又因为这门课程涉及到很多理论性极强的内容和大量的编码知识,不容易被学生理解,所以是计算机专业教学的重点和难点。在过去传统的教学方式之下,老师只是按照大纲的顺序来讲解相关的知识点,即使举例也只是引用一些比较典型的例题,例题和例题之间缺乏联系,使得学生只能进行生硬的记忆法来掌握程序设计各种语句,不能真正理解这些编程方法,达不到自主编程的教学目的,收效甚微。为了改变这一现状,让学生能够真正理解程序结构之间的关系,能够灵活运用各种编程方法进行自主编程,在教学的过程中怎样选择具合适的实例已经成为提高教学效果的关键。我校推行的实例拓展教学法很好地解决了这一难题,在我校大力推行之后,受到广大师生的好评,结构化程序设计的教学效果明显。
1 实例拓展法概述
实例拓展教学法属于教学方式创新的表现形式之一。在这种教学方法中,实例就是整个教学的中心,所有的教学活动都可以通过实例来完成,这也是这种教学方法最典型的特征[2]。运用实例拓展法进行教学,学王可以充分利用各种学习资源,通过自主探索或者相互合作的方式来完成实例任务,同时又会催生出一种新的实例。这种重在学生实践活动的教学方式就被称之为拓展实例法。这种教学方法有助于培养学生的自主学习能力,提高他们独立分析问题和解决问题的能力。在计算机结构化程序设计这种实践性较强的课程教学中,尤其适合使用这种方法。
2 实例拓展法在结构化程序设计教学中的实际应用
在计算机程序设计中,VB语言是一门重要的课程,所以我们就以这门课程为例,对实例拓展教学方法在课堂上的具体应用进行具体。为了便于学生理解和练习,我们将实例分成了两种,一种在老师进行课堂理论教学时应用,另一种则在上机实践活动中应用,下面我们对实例的应用进行出详细介绍。
老师在进行教学设计时,如何安排实例是教学活动的核心所在。在对教学实例进行安排时,老师一定要结合中专学生的年龄特点、心理发展水平和实际生活的需要等因素。同时,实例的拓展应该遵循教育学的客观规律,从易到难,由浅入深,便于学生进行理解[3]。另外,实例的难度应该适中,既不能让他们一看就明白,也不能让他们冥思苦想而不得,要让大部分学生通过自己的思考能够完成,而且要将相关的知识点囊括其中,这样才能充分实例拓展的作用。
在VB结构化程序设计的教学中,课堂内容可以被大致分成顺序结构、选择结构、循环结构、数组应用和过程设计等五个部分[4]。老师在进行教学的过程中一定要全面掌握这些内容之间的内在关系。在本文中,我们将省略比较复杂的程序代码,对这5部分内容运用到的实例进行简单分析。
在进行顺序结构这一内容的教学时,我们可以以计算圆的面积为例,在输入圆的半径之后就可以计算出来。这一实例可以作为入门介绍,理解起来并不困难。在这个实例中,融入了程序的三大基本组成部分,即数据输入、处理和输出,在讲解实例的过程中,就能让学生掌握这一知识点。
在结构程序的教学中,可以在对上述实例进行拓展,提出问题:“假设圆的半径的小于0时该怎们办?”让学生进行思考,然后提出程序设计中的基本语句――选择结构的if语句。为了让学生理解if语句的语法,老师可以让学生在键盘上随意输入三个数字,求解最大值和最小值,在这个过程中介绍if语句的两种格式,即单行格式和多行格式。到这里,我们就在前两个实例的基础上衍生出了新的实例。在了解if语句的格式之后,老师还可以对实例进行进一步拓展,让学生求解分段函数,明确if语句和Select Case这两种多支结构的语句格式。
在循环结构的教学中,我们可以引入一个新的实例来介绍循环结构For Next语句,例如在窗体上显示出1、3、5、7、9这五个奇数。然后让学生对求解上述数字之和,对上述实例进行拓展。进一步掌握For Next语句。在求和的基础上,再一次对实例进行拓展,让学生在100以内,求出1+3+5+7+……的最大奇数值,在讲解实例的过程中引入循环结构中一种重要的语句形式――Do Loop语句。
在讲解数组应用这一内容时,可以在任意输入3个数字求解最大值和最小值这一实例的基础上加以拓展,让学生思考怎样求出任意10个数字的最大值和最小值,通过这个实例引入数组概念和静态数组的使用方法。在这一实例的基础上还能进一步拓展,求出任意数字的最大值和最小,引入动态数组的概念的和具体的使用方法。
在进行过程设计这一内容的教学时,依然在任意求解3个数字的最大值和最小值这一实例的基础上加以拓展,将它们分成两个函数,在讲解的过程中让学生掌握过程的概念以及Function过程的建立和使用方法。在此基础上,对实例进一步拓展,将3个数字的最大值和最小值看成两个Sub过程,让学生通过老师对实例的讲解掌握Sub过程的建立和使用方法[5],并与Function过程进行对比。
以上的实例主要是在引入相关概念和讲解程序基本原理时使用的,需要在多个课时中讲解。根据所讲内容的课时安排,可适当补充其他实例,更加详细地讲解相关知识,也可以补充一些比较有趣实用的综合例子,如制作计算器、打印九九乘法表等,进一步开阔学生的眼界。
经过多年的教学实践,笔者发现在运用实力拓展法之后,学生对程序设计的学习兴趣大增,不管是课堂表现还是作业完成情况都有了明显改善,考试成绩也得到了大幅度提升。通过这种教学方法,学生能够从中学到自己需要的知识,并真正将其转化为实际应用,设计出实用的小软件来,对于他们将来学习其他知识和提高计算机操作水平都有很大的促进作用。
3 结束语
综上所述,在结构化程序设计的教学中,实力拓展法对于提高教学效果,培养学生的计算机运用能力具有非常重要的作用。但是在具体的教学过程中还要从学生的实际情况出发,进行灵活地调整,才能真正激发出学生的兴趣,充分发挥实例拓展法的作用。
参考文献:
[1]武相军,白晨希.实例拓展法在结构化程序设计教学中的应用[J].计算机教育,2013(17):47-49.
[2]傅篱.计算机结构化程序设计教学探索与实践[J].计算机教育,2009(12):78-80.
[3]孙英,徐顺琼,李兴美.C语言中循环结构程序课的教学设计与探讨[J].计算机教育,2009(07):186-187.
[4]周显春.合作探究式教学法在结构化程序设计教学中的运用[J].学习月刊,2010(30):91-92.
关键词:环境工程;培养计划;专业课程结构调整
中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2012)04-0224-03
一、概述
从总书记在十七大报告提出要“建设生态文明”开始,我国的环境保护事业迈上了新的台阶。到“十一五”期末,全国设市城市和县城所在的建制镇均应规划建设城市污水集中处理设施;全国设市城市的污水处理率不低于70%,新增城市污水处理能力4500万吨。缺水城市再生水利用率达到20%以上,新增城市中水回用量35亿立方米。城市生活垃圾无害化处理率不低于60%。“十二五”规划中对三废处理又提出了新的目标和要求。这些新增废水处理设施的设计以及运行都需要大量对工程、工艺、控制、分析等有实践体验的环境工程专业人员的参与。这个特殊的时代背景给环境工程专业提供了一个前所未有的机遇,如何把握机遇,培养适合时代需要的专业人才就成为环境工程专业人才培养的一大问题。机遇与挑战并存,目前环境工程专业学生的就业受到了很多质疑。虽然从长远看,全社会对环境类人才的潜在需求必然是巨大的,但从就业来看,当前的需求并不旺,趋于饱和,竞争比较激烈[1]。在各大新闻网站中不时可以看到对环境工程专业就业的悲观言论。从需求来看,通过对最近几年来的调查分析,总体来看,社会各界对环境本科人才的需求成低速增长趋势1%~5%。环境工程专业招生规模持续扩大,而需求未能同步增长,给就业工作带来巨大的压力与挑战。为了应对市场的挑战,做到前瞻性办学,有必要针对社会对环境工程专业毕业生的需求,进行调查分析并准备好应变的对策。
二、环境工程专业就业状况与存在问题
国内外高校针对目前的就业需求进行分析,对环境工程专业课程设置不断优化[2]。从结果来看,对社会需求的调查等做的工作较多,基本能反映出环境工程专业为何就业紧张的原因。一般来说,环境工程专业学生可就业的面比较广,有环保管理部门,如环保局和环境监测等行政、事业单位;有环保设施运营企业;有环保工程公司;有环保设备生产制造单位;有环保技术咨询。环境工程专业毕业生可以在各个涉及环保工作的单位就业,而且作为一个边缘学科,学生跨专业就业也很容易实现。尽管有这些优势,环境工程毕业生就业依然艰难,分析原因主要有以下几个方面:
1.环境工程专业学生主要学习水处理、垃圾处理、烟气处理,即通常所说的“三废”处理的工艺,而一些大中型企业环保设施的自动化程度越来越高,导致这类单位对环境工程方面的人才需求无法满足;另外,环保工程的设计也倾向小型化、一体化、自动化方向发展,学生在自控方面知识的欠缺也成为一个阻碍就业的因素。
2.一些工资待遇相对较高的设计院等单位,需要的是有一定工作经验(设计经验和施工经验)的环境工程专业人才,而毕业生实践部分能力欠缺,影响了就业。
3.学生在校所学知识与技术难以跟进社会发展,环境工程教学与就业相脱结[3],如环境监测类课程所用设备多限于单个样品分析,而实际社会应用中自动化在线监测正成为一个发展方向,这类仪器与实验室所用仪器差异很大,而且即使学生见到比较先进的仪器设备,也只是认识参观,动手操作机会太少,进入企业后需要较长的适应阶段和较强的学习能力。
4.从调查来看,从事环保技术咨询和项目管理工作在环境工程就业中的地位逐渐增强[4],这些企业招聘时要求熟悉工程过程,并有项目管理能力,但目前学生实践能力的欠缺影响了学生对工程整体性的认识,限制了学生的就业。
5.在环保设备销售方面,对专业深度要求较弱,但对整体设备的运行要有一定的了解,那么就出现同前面一样的问题:环保设备小型化、一体化,必然要包括自控部分,虽然要求的深度不高,但无疑是环境工程毕业生的短板。
上述问题是专业培养计划的共性问题,除此之外,高校所在地的地方环境也需作为因素考虑在内:中国计量学院地处浙江省,生源中60%以上来自本省,学生就业时的首选地也是本省,因此对学生培养计划进行改进时要考虑浙江省的行业现状。浙江省作为经济发达省份,环境保护的管理水平较高,自动监测技术推广面较大;企业单位对污染物的处理范围和程度都达到了一定的水平,自动化控制技术使用多,对环境工程专业的毕业生此方面的要求较高。
三、环境工程专业课程结构调整
综上所述,在环境工程学生的专业知识结构中测控类知识的需求已经很紧迫,而目前的《高等学校本科环境工程专业规范》和《工程教育专业认证标准》对环境工程人才培养方案的要求中对这方面的知识能力要求体现还不足。在社会需求的引导下,有针对性的在环境工程专业学生的培养计划中将此部分内容融合进来,从课程内容、课程设置、实践环节设置全方位入手,在现有的培养计划中形成了一个完整的环境工程自动化测控知识体系培养模块,具体有如下三个方面。
1.开设新课程。环境工程专业的核心课程以化学和生物为主,想把测控技术纳入培养计划,首先就要增加相关的基础课程。原培养计划设有《电路与电子技术》,但仅此而已,后续再无课程与之相接,因此在本次调整中增加了《控制工程基础》作为专业基础课程,在大二时进行。在随后大三进入专业学习,掌握了一定专业基础后,在大三第二学期又开设了《环境工程自动化控制》,系统的将前面所储备的自控知识与环境工程应用相结合,具体加以阐述:从单元控制开始,详细介绍单元控制过程的参数控制方法,然后从工艺上将单元控制组合,放到工程规模中对整体控制系统介绍。
2.调整现有课程内容。与自动监测相关的内容主要通过对现有课程内容的调整来实现。《环境监测》在以往的教学中重心一般放在几类污染的污染物实验室测试方法上,自动监测内容在其中比重不到10%,在此次调整中,增大自动监测部分的比重,将之提高到30%,全面介绍水质连续监测系统、烟气排放连续监测系统的仪器和方法,并对监测之外的监控中心及通信也要有一定的涉及。另外一门紧密相关的课程就是《仪器分析》,本课程主要讲授一些分析测试用的精密分析仪器的原理和使用方法,在原理讲授方面侧重的是测试的物理、化学原理。在目前环境污染物品种增多、含量微量的大背景下,精密分析仪器的应用普及程度发展迅速,仪器运行的组成结构中信号传输、处理、表达基本不涉及,但实际上这部分在精密仪器正常工作中地地位非常重要。因此在本次调整中在《仪器分析》课程中增加与信号处理部分的内容。除了这两门相关性较强的课程外,其他涉及到技术的专业课程也按照这个思路增强了测控技术方面的比重,如《环境机械与设备》、《污染环境修复原理与技术》、《建筑给排水》等。
3.实践环节的配合。首先增设了《工程综合实践》,这门课程由学校的工程训练中心开设,侧重于工程综合实践能力和集成创新意识的培养。课程结合实际案例对自动控制系统的应用模式,以及工程项目设计、实施的基本过程和工业现场技术或组成单元有初步的认知;进行组合传动机构、传感检测单元或电机电器的控制实践和传动系统、工业PC测控系统、或PLC控制器、嵌入式检测仪器、测控电路的应用实践;并结合工程项目进行主题实践,可对自动化类的工业生产及楼宇自动化控制、监控或监测系统设计及软件开发,开发平台可以是PLC、工控机或嵌入式系统,也可对电子测控类基于现场应用方案的信号检测、采集、记录、显示的电子线路设计,基于各种编成语言的仪器仪表应用软件设计,或RS232、RS485、CAN总线、现场总线等测控网络的应用方案设计。其次在《环境工程自动化控制》课程开设学期开设《环境工程自动化控制课程设计》。通过课程设计,巩固学习成果,综合应用前面所学的测控知识和环境工程原理,加深对《环境工程自动化控制》课程内容的学习与理解,使学生应用规范、手册与文献资料,进一步掌握设计原则、方法等步骤,达到巩固、消化课程的主要内容,锻炼独立工作能力,对常见环境工程处理工艺进行自动化控制部分的设计,加深对反应进程控制的理解,同时熟悉环境工程中常见的传感器及自控技术。再次,在实验室建设中打造了一套“废水处理自动化控制实验装置”,模拟实际工艺(包含废水处理装置、自控部分、在线监测仪器),在实验室内创造一个方便的、最接近实际的实践机会,通过合理安排学生的实践时间,使每个学生以最节约的时间对实际工程有最直观、最完整的感受。
在调查社会对毕业生需求基础上,中国计量学院针对性的对环境工程专业的学生培养计划做了调整,在现有的知识体系中增加了环境工程测控技术部分。通过对专业课程结构的调整,分层次的从部分课程内容的改进、新课程的设置和相关实践能力的强化三个方面入手,系统的给学生提供了环境工程测控知识和能力培养的一条道路。针对目前社会中环境问题日益复杂化和严重化,环保治理要求逐渐提高的状况,社会必然会对环境工程专业的毕业生提出更多新的要求,非常有必要及时跟进社会发展调整专业学生培养计划,为增强学生就业时的竞争力提供更多的支持。
参考文献:
[1]史凡,赵继红.本科环境工程专业的就业形势与课程设置改革探讨[J].职业时空,2007,(23):70.
[2]雷鸣,廖柏寒,杨仁斌,等.环境工程本科专业就业形势及其教学改革[J].高等农业教育,2008,(7):61-62,64.
关键词: C语言程序 学习质量 教学设计
C语言程序设计作为计算机专业的基础性学科,在计算机教学中的作用是十分重要的。由于学科自身的性质,学生在学习过程中往往具有一定的畏难情绪,加之学科本身的内容理论性较强,学生的学习效果不是很理想。恰当的学生学习质量评价可以一定程度地改善学生的学习状况。在教学过程中对学生学习质量的评价,依据本身中职类师范类学校的学生情况,结合C语言程序设计学科的特点,学生的学习质量评价可以采用“分层式评价”的方式。
一、中职类师范类学校学生的情况
中职类师范学校的学生通常是毕业于初中阶段的学生,基础文化课程的掌握程度不是很理想,加之近几年的招生竞争,学生的素质不是很高。在对于专业课程的学习上,尤其是对于理论性质较强的课程往往是未学先怕,学习热情不高。如果学科的专业性较强的话,在教学过程中学生本身的学习动机就不强,进而影响学生的学习效果与学习质量。
二、C语言程序设计的学科特点
C语言程序设计,是计算机程序设计语言类的基础课程,在程序设计的教学过程具有十分重要的意义。作为早期计算机学科内的“过程式”语言其生命力很强,与早期的Basic、FoxBase等语言相比,更接近计算机硬件部分。C语言现在是全国计算机等级考试中唯一的早期过程式程序设计语言。C语言可以看做是汇编语言与对象式程序设计语言的纽带,既可以直接对计算机硬件进行程序式控制,又可以作为学习对像式程序设计语言的基础,在语法方面的要求对像式程序设计语言的要求是一致的。
C语言在进行程序设计时具有一定的优势:语言简洁灵活,使用方便,以简单英语词为关键字;数据类型及运算符号丰富,具有现代程序设计语言的数据结构;具有结构化的程序控制语句,顺序、选择、循环三种基本结构的控制语句结构十分完整;程序设计过程中语法要求不是十分严格,程序设计的自由度较大;具有汇编语言的大部分功能,目标代码质量高,可移植性很好。C语言适合计算机初学者作业程序设计语言的入门课程学习。
三、分层式学习质量评价方式
根据中职类师范学校学生的实际情况结合C语言程序设计自身的学科特点,在程序设计的教学过程中,对学生学习质量的评价可以采用“分层式”的评价方式。
分层式的评价方式可以从两个方面考虑:首先是教学对象上的分层,即学生自身文化基础、学习态度及学习能力上的分层;其次是在学习内容上依据学习阶段的不同,对学生学习质量进行分层评价,不同的阶段有不同的考查方式及评价方式。
教学对象上的分层评价:依据学生的学业情况进行分层,将学生分成不同的学习层次,学业情况较好的为A组,学业情况居中的为B组,学业情况较差的为C组。纵向上进行评价,以学生的进步情况作为评价依据。同时根据学生的学习态度及学习动机等内部驱动情况将学生分为1、2、3组,以学习动机的促进为依据进行评价,由不喜欢学到感兴趣,由感兴趣到喜欢,到主动学习探索,态度的转变作为评价依据。
学习阶段的分层评价:针对C语言程序设计学科内容的不同,可以将教学内容分成四个阶段:基础概念理论学习阶段、数据结构理解阶段(程序阅读)、程序结构控制阶段(编写程序)和解决实际问题阶段(程序设计)。
1.基础概念理论学习阶段:针对于基础理论部分的知识内容,如数据类型、运算符号、输入/输出控制等内容,属于程序设计的起始部分,要求学生记忆并正确使用这部分知识,为后续的学习奠定基础。这部分内容学生学习质量的评价可以书面考试的形式进行,以分数形式对学生的学习质量进行考核评价。
2.数据结构理解阶段:运用数据类型、运算符号、结构控制语句等内容进行简单的程序编写,主要以语法习惯的养成为主,重点可以放在程序的阅读与理解上。配合结构控制语句可以进行相关数学问题处理程序的编写,如100以内数的求和、素数判断等。这部分学习内容的考核以程序阅读理解、程序编写形式进行,配合上机调试操作,学生学习质量的评价以程序判断及编写后成功运行为依据,以能力的具备情况对学生的学习质量进行评价。
3.程序结构控制阶段:针对与指针、数组、结构体部分的内容,需要结合结构控制语句进行理解,侧重通过程序的编写加强对循环、选择结构运用,同时促进对指针、数组、结构体等数据结构部分内容的理解,为学生进一步学习对像式程序设计语言打下基础。这部分内容的考核方式,以程序编写情况为依据,相对于上部分内容而言,程序结构更复杂,而且理解方面的要求更多,学生学习质量的评价以程序运行结果的正确性为依据。
4.解决实际问题阶段:这部分属于程序开发阶段,也是程序设计学习的最后阶段,需要结合实际问题进行程序开发的编写,以实际问题的最后解决效果为依据进行考核,对于学生学习质量的评价,以程序的实际编写情况为准,程序编写的进展情况作为学习质量考核与评价的标准,也许程序编写最近的运行结果不是很理想,但是程序编写过程中的进步才是更重要的。
职业类学校学生在知识的掌握过程,能力的要求会更高。对学生学习质量的评价也需要侧重于能力部分,尤其是计算机一类的实际操作性的课程学习中,恰当的学习质量评价对学生的学习可以起到很好的推动作用。
参考文献:
[1]谭浩强.C语言程序设计[M].北京.清华大学出版社,1998.