计算机程序设计基础范文

时间:2023-11-01 17:25:09

导语:如何才能写好一篇计算机程序设计基础,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。

计算机程序设计基础

篇1

[关键词] 计算机公共基础课;程序设计;教学方法;教学模式;教学内容

计算机程序设计类公共基础课是所有大学生的必修课程,目标是培养能够适应未来计算机使用要求的非计算机专业应用型人才,培养,训练大学生的逻辑思维能力。在教学过程中,教师以这一培养目标为目标进行教学。但由于长期以来的教学思路、教学模式和教学方法的影响,使学生在经过计算机基础课的学习后,不能完全达到培养目标的要求。因此教师必须要改进教学内容、教学方法和教学模式,培养出完全符合计算机公共课培养目标的,合格的人才。

一、目前在教学过程中普遍遇到的主要问题

1.由于学生计算机基础的差距,进行教学的起点很难把握。

近几年,大多数高校都会开设程序设计类的计算机公共基础课,但是对大多数非计算机专业的同学来说,这是一门学习和理解都很难的课程。主要是由于学生对计算机基础知识掌握的程度不同,有的同学仅仅会基本的使用计算机,对计算机体系结构一点也不了解,另一些同学有所了解,而少数同学是非常精通计算机的,这就给教学带来了一定的困难,即教学的起点该如何确定,既不能太高,也不能太低。

2.学生不善于提出问题,缺乏创新思维的能力。

现在提倡“以学生为中心,以教师为主导”的教学模式,但是由于长期的学习环境的影响,课堂教学仍以教师的讲解和提问为主,其教学模式是“以教师为中心”,使得学生往往意识不到在课堂教学过程中,自己才是主体,教师只起主导作用。学生通常认为老师讲授的知识和书本上阐述的知识一定是对的,在课堂学习过程中即使是对某些问题产生疑问,也不会主动提出。

传统的以“教师为中心”的教学方法,往往不注重学生的个性以及兴趣。学生往往会掌握扎实的理论基础。扎实的理论基础可以是创新的有利条件,但同时也可以成为束缚和阻碍创造性思维的障碍,不善于针对某一问题提出新的见解。尤其是程序设计类的课程要求学生能够举一反三,灵活应用基本知识解决实际问题。但往往现在一些同学喜欢背程序,问题稍有变化就不知到该如何解决了。

3.实验以验证性为主,没有给学生足够的探索空间。

目前基础课的实验主要以验证性为主,学生只需要根据实验指导书上的步骤操作,就可以完成实验,从一定程度上限制了学生自主创新的思维和探索的空间。但实际上,对于程序设计语言中的一些设计题目,是要学生自己去思考、去探索,找出解决问题的方法,才能使学生真正掌握程序设计的基本思想,基本技巧。

4.成绩的考核方式只注重理论,不注重实际操作

考试是目前评定学生接受一门课程好坏的唯一标准。目前考试方式仍以笔试为主,以考理论知识为主,在最后的成绩中实际操作只占很小的一部分。

二、进行教学改革主要方法

由于目前在程序设计类计算机公共课教学过程中存在的这些问题,为了培养出具有创新能力的,合乎社会要求的合格的大学生,这就要求教师要改变教学内容,改变教学方法和教学模式,改进课程的考核方式,加强师资队伍的建设。

1.改革教学方法、教学模式。

由于学生计算机基础相差较大,应该承认并正视这种差异,采取目标分级,教学分级的因材施教的教学原则。分级教学面向全体学生,使教学适合每个学生的发展需要和实际水平,根据不同的学生层次或者学生的兴趣,对于不同的级别,制定不同的教学内容,教学目标以及教学的起点。激发学生学习的积极性和兴趣,提高学生学习的主动性和积极性。

改变教学模式,提倡 “以学生为中心,教师为主导”的教学模式。注重培养学生的个性、兴趣,激发学生的创造性思维。鼓励和培养学生对书本乃至教师的课堂教学内容的质疑,鼓励学生找出教科书上的错误,鼓励学生提出问题,活跃课堂气氛,引导学生注重对知识的拓展和创造。教学时应加强使用归纳推理的教学方法,即采用先提出问题,再解决问题,进而提升到理论层面的教学方法,引导学生从观察具体的事实和问题开始,逐步逼近概念和理论,不仅要让学生知道教学内容,而且还要让学生通过所学知识与技能知道能应用在什么地方。

将课堂教学、网络教学和实践教学有机的结合在一起进行教学的教学方法。在课堂上,教师通过多媒体课件以案例驱动的方式向学生传授知识,下课后,对于不懂的问题,可以在网络教学平台上进行提问,或者自主学习课件,作相应的练习。在实践课程教学时,教师给出和课堂教学内容相一致的实验内容,由学生自主完成,教师进行随堂指导。通过三者的有机结合,以达到较好的教学效果。

2.实践教学的改革。

在实验内容上增加设计型题目的比例,鼓励学生对于不同的问题采用不同的方法解决以及对于同一问题采用不同的方法解决。还可以由任课教师根据实际情况设计一些针对性强的,可和各专业结合的实际应用题目。以便提高学生学习兴趣、学生的自助解决问题的能力和培养学生自主探索的意识和能力。同时,针对某一内容教师可以让同学自主选题,激发同学的积极性。由于学生受学识、经验的限制,在实验过程中犯错在所难免。教师应在学生的实验过程中,及时发现错误,及时指导予以纠正。

3.成绩考核方式的改革。

目前,各高校主要凭试卷来检测大学生的学习效果,使学生为了考试而学习,不能提高学生学习的积极性,不能发挥学生的创造力,并且也不能完全反映出学生的实际能力。在成绩考核上应该采取多种方式。(1)上机考试,可在平时上机时随堂进行,给学生给出题目,最好是一人一题,也可以在最后几次课上给出一个较难的综合性、设计性问题,让学生解答。通过上机考试,培养学生独立研究、解决问题的能力。同时对于有创新的解法可给予较高的分数;(2)利用网络教学平台,给学生提出需要进行探讨的问题,让学生经过资料收集、整理得出结论。对于参与者,按照一定的权重进行加分,作为平时成绩,提高学生主动学习的积极性;(3)不能抛弃期末笔试,在期末笔试中主要涉及计算机基础理论知识,但应当减少期末笔试在最后成绩中所占的比重。学生的期末成绩可由以上几部分综合构成。

4.加强师资队伍的建设。

保证教师的知识更新所需的时间及机会,建立一支高素质的师资队伍,以提高教学水平及教学质量,是每个高校应重视的问题。由于多数教师的教学负担重,因此可以分批分专业进行学习;也可以将一部分教学任务交由外聘的高素质的教师担任,再不影响正常以及教学质量的前提下让一部分教师有时间去学习。与此同时也要注意引进和培养新的师资力量。建立一支高素质的师资队伍。

参考文献:

[1]周安国.从中美基础课教学模式的区别看计算机公共基础课的教学改革[C].上海外国语学院网.

[2]王行言.国外著名大学计算机教学考察随笔[J].计算机教育,2004(2):117-120.

篇2

>> 计算机在图书管理系统中应用 图书管理中计算机管理系统的重要性分析 计算机在图书管理中的应用 基于VB的大学图书管理系统的设计 基于BS技术的图书管理系统的设计 基于Web的图书管理系统设计与实现 基于Oracle的社区数字图书管理系统设计 基于Eclipse的图书管理系统设计与实现 基于RESTful架构的图书管理系统设计 基于图书管理系统的设计 基于UML图书管理系统的分析与设计 基于UML图书管理系统的建模与设计 浅析计算机在图书管理上的应用 计算机在高校图书管理中的应用 计算机在图书管理中的应用探究 计算机在图书管理上的实践应用探讨 基于PHP的图书管理系统 图书管理系统的设计 图书管理系统的设计实现 基于计算机集成系统的图书馆管理策略研究 常见问题解答 当前所在位置:l、index.jsp。login.html页用于用户输入并提交登录信息,当用户提交空用户名和空密码时将禁止其提交;Index.jsp页为用户信息验证页面,先判断是否存在该用户,然后进行密码验证。当用户名和密码都正确时登陆成功,进入管理页面。用户名和密码不正确时系统会提示,并且返回登陆页面重新登陆。

2.图书修改

图书修改模块是本系统的主要模块,里面集中了本系统的关键功能,包括信息修改、图书删除、新增进货等功能。其中,信息修改包括图书ID、图书名称、单价、规格,对图书的信息及时记录;新增进货可以及时地添加进货数量;新增图书应用可以及时删除售货数量。

3.图书查询

图书查询包括图书ID、图书名称、单价、规格、进货数量和时间等信息,可以使管理者及时地掌握进货信息,避免重复进货,造成图书积压。

4.图书浏览

图书浏览包括图书ID、图书名称、品牌、借阅数量和时间等信息,可以使管理者及时地掌握图书应用信息,避免出现图书短缺的情况,造成不必要的损失。

5.数据库访问设计

此系统属于信息管理系统,频繁对数据库进行添加、查询、修改、删除等操作,所以在设计数据库之前,为了提高代码的利用率,本系统将连接数据库的代码统一编写在了connectmanager文件中,在以后的页面中如要访问数据库,只需将该文件调用即可,而不必每次都进行数据库连接代码的书写,这也是程序员在设计时通常采用的方式。

6.系统测试

系统的测试是为了发现错误而执行程序的过程,能正确地执行预期的功能。这是程序设计员在完成系统设计阶段的各项任务之后所进行的程序设计与编程调试工作。测试的基本方法有黑盒测试和白盒测试。黑盒测试是测试者把程序看成一个黑盒,完全不考虑程序内部结构和内部特性而进行的测试。白盒测试允许检查程序的内部结构,是从检查程序的逻辑着手,得出测试数据进行测试的过程。

(1)输入编号的文本框:输入不存在的编号,输入非数字的字符如字母Ab,符号%、*、&等,输入的编号长度超过指定值。

(2)输入信息为空:部分信息录入时系统规定不能为空,录入空信息时有相关提示。

(3)输入信息重复:录入信息时若重复录入信息,系统会提示录入重复。

(4)录入成功:登记注册成功时要提示成功。

(5)查询记录:输入查询条件不符合,或者查询的相关信息不存在时提示。

(6)更改信息:需要设置成可更改编辑的状态,而不是只读状态。

(7)删除信息:管理员对要删除的信息能进行彻底的删除。

7.系统维护

为了改正潜藏的错误、扩充功能、完善功能、翻新结构、延长系统的寿命而进行的各项修改和维护活动称作系统维护,包括数据的维护和软件的维护。数据库的维护工作一般由管理员负责,主要负责数据的安全性和完整性及进行并发性控制,当数据库中的数据类型、长度等发生变化时,或者需要添加某个数据项时要负责修改相关数据库并通知有关的人员;软件维护工作主要是对系统的适应性、完善性、预防性进行维护。

8.系统评价

系统基本实现各项功能,提高了信息的使用质量及数据的准确性,提高了信息处理的能力,为管理者决策提供有力的信息支持。但是,系统的适应性还需进一步完善,使系统的使用更加方便、有效,数据库中的数据也需进一步维护,尽量减少冗余数据。

9.结论

本系统是一个适合当前管理员应用的图书管理系统,系统所实现的功能是在调研中从相关管理人员得知的,基本上实现了预想的要求。但是,由于个人能力有限,整个系统的功能显然不够完善。虽然本系统在功能上存在着不足,不能完全符合现实的需要,但总体来说简单易用。

参考文献:

[1]刑苗条.基于Internet教学网站系统的设计方案[J].现代电子技术,2012(04).

[2]威利,邵煜.Java和MySQL Web开发[M].北京:机械工业出版社,2010.

[3]陈学平.Dreamweaver 8.0网页制作自学手册[M].北京:电子工业出版社,2011.

[4]李秀,安颖莲.计算机文化基础[M].北京:清华大学出版社,2010.

[5]陈佳.信息系统开发方法教程[M].北京:清华大学出版社,2005.

篇3

关键词:数据库技术;课程建设;计算机基础教育

课程建设是高校人才培养工作中的一项具体任务,并直接关系到学生的知识结构和实践能力能否满足社会的现实需求。因此,在课程建设中需要结合高校自身情况并坚持以需求导向型的原则。

1财经类高校的学科门类及本科生就业情况

与理工科大学和综合性大学相比,财经类高校有着鲜明的学科和专业特色,并体现于本科生在学科和专业的分布上。以上海财经大学2007年本科招生计划为例,1600多名学生分布在34个专业(方向)中,对招生数据进一步归类和汇总,各大学科门类的学生分布如表1所示。表中数据所反映的学科和专业特色在财经类高校中具有一定的代表性――在财经类高校中,经济学、管理学两大学科门类的学生所占比例一般高达80%左右。其中经济学覆盖理论经济和应用经济两个一级学科;在管理学中,以工商管理一级学科的学生为主,管理科学与工程和公共管理两个一级学科的学生所占比例则相对较小。因此,培养社会需要的经管类人才是财经类高校的一项重要任务。

当前,社会对毕业生的需求与高校的学科和专业特色有着密切的联系。以上海财经大学2008年本科毕业生就业情况为例(如表2所示),表中数据较代表性地说明了财经类大学本科毕业生的就业行业流向。其中超过70%的学生就业于以金融、会计师和咨询业为主的服务业。同时也说明,服务业对财经类高校培养的经管类学生有着较高的认同度和较大的需求。因此,了解和分析服务行业用人单位对经管类人才的应用计算机技术的需求将为财经类高校的计算机基础课程建设提供有益的指导和方向。

2经管类人才应用数据库技术的社会需求

高校教学应该面向社会需求,以社会需求为导向有助于创建更加科学、合理的课程建设模式。因此,在财经类高校的“数据库技术与应用”计算机基础课程建设中,有必要了解和分析社会(尤其是服务行业)对经管类专业人才应用数据库技术的实际需求。

在前程无忧和中华英才等招聘网站上,我们以Access、SQL Server、Oracle为搜索关键字,对“数据库技术与应用”相关职位描述进行了收集、整理和分析,最后将用人单位对数据库技术的应用需求归纳为2类:第1类是利用数据库技术及工具开发信息系统;第2类是利用数据库技术及工具进行业务分析。其中,第1类需求绝大多数是针对计算机科学与技术专业的,而第2类需求中面向经管类专业的占了50%左右,服务行业对第2类需求较强。

事实上,数据库技术的上述两种应用需求与其本身发展有着密切的联系。在互联网技术广泛应用之前,数据库技术的应用主要是为了解决基础业务数据的收集和管理问题,相应地体现为信息系统开发。但随着互联网尤其是万维网、条形码、智能卡、自助服务等技术的广泛应用以及信息系统开发经验的日益成熟,业务数据的收集成本越来越低、收集效率越来越高,出现了海量业务数据。尽管人们曾经试图利用决策支持系统、经理信息系统等技术来提高业务数据对管理决策的支持力度,但一直没有找到理想的现实工具。直至数据仓库、联机分析处理和数据挖掘等技术及报表工具的成熟并与传统数据库技术相融合,业务数据对管理决策的支持价值才逐渐得到重视和利用,面向业务分析的数据库技术应用需求也随之运应而生。

综合以上分析,我们归纳出如下结论:在财经类高校“数据库技术与应用”计算机基础课程建设中,有必要将“面向业务分析”作为课程建设的新方向。

3基于计算机基础教学新理念的课程建设

计算机基础教学面向非计算机专业,其目标是培养学生掌握一定的计算机基础知识、技术与方法以及利用计算机解决本专业领域问题的能力,“有助于各专业学生利用计算机技术解决本专业领域有关问题”已成为计算机基础教学中的共识[1-3]。

但在现实中,“数据库技术与应用”课程主要沿用的是计算机专业的教学模式,大都以信息系统开发为主线组织教学内容,并将数据库原理、数据库设计和优化、信息系统开发过程等作为相应的教学重点;而只将数据库技术在业务分析中的应用作为一般要求,或者说还没有得到充分的重视。为了满足经管类人才应用数据库技术分析业务的社会需求,有必要在课程建设目标、授课和实验平台、教学内容、实验数据库等方面对课程进行创新性实践。

首先,调整课程建设目标。结合数据库技术在业务分析中的新应用以及经管类专业人才应用数据库技术的社会需求,我们将课程建设目标描述为:坚持“较全面介绍关系数据库基本理论”的原则,使学生在理解关系数据库中的数据组织形式、数据之间的逻辑联系及联系方式等基本概念和原理的基础上,掌握基于关系数据库技术的数据分析方法;培养学生熟练使用关系数据库管理系统(Relational Database Management System,RDBMS)软件提取数据、加工数据和对数据进行组织输出的实践能力,以满足经管类专业学生利用数据库技术进行业务数据综合分析和展示分析结果的社会需求。

其次,选择具有易操作性和易实施性的授课和实验平台。经管类专业学生的计算机操作技能以及对计算机知识的掌握都较为基础,因此,教师在授课和实验平台的选择上应该注重易操作性和易实施性。相对于DB2、Oracle和SQL Server等大中型RDBMS软件来说,Access具有可获得性和实用性强、具有RDBMS核心功能、能够利用查询和报表对象进行业务数据综合分析和展示分析结果等特性,因此,将Access作为授课和实验平台是较为适宜的。

再次,调整教学内容及重点。信息系统开发是为了解决业务数据的电子化存储,强调经过数据库设计将现实世界中与业务相关的各种事物及其联系转化为关系模型,需要通过编程和系统开发来实现数据访问的正确性、实时性和安全性。而业务分析则是对已经存储于计算机系统中的业务数据进行综合分析和利用,需要通过分析表间关系来理解关系模型所描述的现实业务,并强调分析结果能够以表格或图形等可视化形式从整体上反映业务状态。因此,针对不同的数据库技术应用方式,教学内容、重点及要求应该有所侧重和不同(见表3)。

最后,建设与教学内容相配套的练习和实验数据库。由于课程建设的新方向是“业务分析”,因此需要建设用于练习和实验的数据库。可以将Access罗斯文示例数据库作为练习和实验数据库,该数据库包含了供应商、客户、运货商、商品、雇员等实体表,并通过“订单”和“订单明细”将这些实体表联系起来,能够为学习者提供与实际商业活动较为吻合的练习和实验数据。此外,也可以考虑利用VBA编程生成和开发诸如面向客户关系管理的零售业业务数据库。

4结语

随着数据库技术的广泛和深入应用,业务分析逐渐成为社会对经管类专业人才应用数据库技术的一项新需求。因此,在以经管类专业为主的财经类高校中建设“数据库技术与应用”计算机基础课程时,有必要采用不同于计算机专业的教学模式,并在课程建设目标、授课和实验平台、教学内容、实验数据库等方面对课程建设进行创新性实践,才能更好地实现“有助于各专业学生利用计算机技术解决本专业领域有关问题”的目标。

参考文献:

[1] 教育部高等学校非计算机专业计算机基础课程教学指导分委员会. 关于进一步加强高等学校计算机基础教学的意见(征求意见稿)[J]. 中国大学教学,2005(5):11-18.

[2] 陈国良,冯博琴,张龙. 抓住实施“质量工程”机遇 提高高校计算机基础教育水平[J]. 中国大学教学,2008(4):7-13.

[3] 王移芝,林艳琴.“计算机基础课程”实践教学体系的研究与实践[J]. 计算机教育,2008(8):35-37.

Discussion on Demand-oriented Education about Basic Computer Course

CUI Jing-dong, YU Chang-rui

(School of Information and Management, Shanghai University of Finance & Economics, Shanghai 200433, China)

篇4

关键词:程序设计语言;衔接教育;Alice编程;编程概念;计算思维

中图分类号:G632 文献标识码:A 论文编号:1674-2117(2016)22-0019-04

引言

2006年3月,美国卡耐基梅隆大学计算机科学系主任周以真教授给出了计算思维的定义。她认为,计算思维是运用计算机科学的基础概念去求解问题、设计系统和理解人类的行为,包括了涵盖计算机科学之广度的一系列思维活动。[1]计算思维活动是和“读、写、算(Reading, writing and arithmetic――3R)”同等重要且适合每个人的“一种普遍的认识和普适的技能”。

目前,包括美国、英国在内的众多国家,信息素养与计算思维能力培养已经成为中小学信息技术教育的新趋势和重要教育内容。计算思维在我国也引起了越来越多教育教学者的关注,很多学者提出应强化对大学生及中小学生计算思维能力的培养。在高中阶段,培养高中生的计算思维就是要培养他们“像计算机科学家”那样去思考问题,并将这些问题渗透到信息技术的每一个角落。美国ACM计算机课程IEEE-CS2001总结了学习信息技术的四种方法,认为“编程先行(programming-first)”是一种行之有效的方法。[2]而程序设计语言是程序设计(编程)最主要的工具之一。因此,本文以程序设计语言为切入点,针对目前我国高中教育阶段程序设计作为非核心课程的现状,探析一种既适合高中生学习编程概念又适合高中生计算思维能力培养的程序设计语言。

一种适合高中生的程序设计语言

1.程序设计语言的选择

目前,我国高中信息技术课程学习的编程语言主要是Visual Basic,而针对高中生的信息技术竞赛多采用C++或Java语言。虽然这些语言都适用于学习面向对象的编程概念,但基于目前高中信息技术课的教学现状以及高中生的综合信息素养,学生学习这两种语言的整体兴趣并不高,而且对许多编程概念只“知其然,而不知其所以然”,求解实际问题的能力也不甚理想。这种局面与程序设计语言的选择有很大关系。首先,Visual Basic和C++/Java是目前高校学生学习的主流程序设计语言,语法学习难度较大,而且语言本身的抽象程度也并不完全符合高中生的认知能力,不适合高中与大学计算思维能力培养的衔接教育。其次,虽然这些语言都能够提供可视化的编程环境,但程序代码本身的文本编写模式和文本输出模式很容易让学生认为编程是一种枯燥无味的事情,从而影响他们深入学习编程的积极性。鉴于此,本文从以下四个方面选择程序设计语言。

(1)对象先行

从广义上看,程序设计语言主要有命令式、面向对象、函数式、逻辑式和并发式等范型,而目前高校使用的主流程序设计语言是面向对象程序设计语言,如C++/Java。因此,为了更好地满足高中与大学计算思维能力培养的衔接教育要求,笔者选择了面向对象的程序设计语言。

(2)高度抽象

基于高中生的综合信息素养和认知能力,选择的程序设计语言应是一种比C++/Java更高抽象层次的可视化编程语言。该语言应语法简单,操作便利,能极大减轻学生学习语法的负担,提高学生使用程序设计语言与计算机进行交流的能力,从而激发他们学习编程的动力。

(3)学习编程概念

在满足高度抽象的基础上,为了初步培养学生的计算思维能力,这种程序设计语言应不影响学习基本的编程概念,如类、对象、封装、方法、事件与事件处理、变量、表达式、控制语句、递归和并发等。

(4)培养计算思维

基于高中生的认知能力,能够通过编程培养高中生用程序设计语言分析问题、解决问题的能力,从而逐步训练计算思维是选择这种程序设计语言的最终要求,即能够充分呈现计算思维的思想或计算思维的核心概念。

2.Alice――面向对象的三维可视化编程语言

Alice(http://)是Carnegie Mellon大学免费提供的一个可以用来学习设计与编程的面向对象的可视化编程语言。用Alice学习编程就是建立自己的虚拟世界,在其中添加各种三维模型(Alice已提供大量预定义的三维模型),然后编写程序(类似于电影剧本)指挥这些三维模型做出所需的动作,从而在虚拟的三维世界中快速地创建故事、游戏或类似卡通的交互式动画程序(如上页图1、图2)。Alice是一种适合高中生学习面向对象编程概念的高度抽象的可视化编程语言,能很好地满足高中与大学学习编程的衔接教育要求。

(1)满足对象先行

Alice语言的最新版本是完全面向对象的。在Alice创建的虚拟世界中,每一个三维模型(人、动物或建筑等)都是一个可见的对象。此外,Alice本身是使用Java语言编写的,用Alice编写的程序最终会被转换成Java程序运行。因此,学习Alice语言可为将来进一步学习Java或C++语言奠定良好的基础。

(2)满足高度抽象

Alice设计了一个拖拽式的可视化用户界面,学生可以在屏幕上拖动程序中的组件(如对象、方法、语句等),而不会出现语句结构或标点符号等语法错误。一个使用Alice的程序员更像是一个导演或一个木偶操纵者,通过鼠标拖拽屏幕上的语句和对象就能编写一个交互式程序,且运行过程具有即时反馈性。从程序设计语言的角度来看,Alice是一种比C++/Java抽象层次更高的程序设计语言,极大地提高了学生与计算机的交流能力,因此更容易激发他们学习编程的兴趣与欲望。

(3)学习编程概念的极佳选择

学习编程实际上是学习怎样合理地安排一系列的指令从而实现一个任务。Alice虽然是一种高度抽象的可视化编程语言,但并不影响学生学习和理解面向对象的基本编程概念,如类(class)、对象(object)、继承(inheritance)、方法(method)、发送消息(sending message)、控制结构(control structure)、运算符(operator)、表达式(expression)、事件处理(event handler)等。Alice程序是由很多行描述对象动作或修改对象属性的代码组成,代码可以组织在Do in order和Do together模块中,以此来告诉Alice哪些动作是顺序发生的,哪些动作是同时发生的。此外,由于Alice编程是一种基于剧情或故事的可视化程序设计方法,能把抽象的编程概念用形象的方式呈现给初学编程的人,因此它更符合高中生的认知能力。

使用Alice编程培养初步的计算思维能力

利用Alice编程熟练地掌握计算机科学的基本编程概念是高中生逐步培养计算思维能力的一个有效途径。ACM前主席Denning教授系统地总结了计算的7类原理,即计算、通信、协调、记忆、自动化、评估和设计。每个类别都从一个独特的视角去观察计算本身,并且在计算领域具有“普遍性”“复现性”和“广泛影响性”,它们构建起一个理解计算内涵的框架。教育部高等学校大学计算机课程教学指导委员会编制的《大学计算机基础课程教学基本要求》从8个方面描述了计算思维(增加了“抽象”)。[3]笔者将Alice编程学习与这8个类别的计算思维表达体系建立了关联,如下页表所示。

篇5

关键词:计算机程序设计;教学方法;实践

大学阶段一门很重要的计算机基础课程――《计算机程序设计》,它是培养学生计算机应用能力最基本的课程,因此计算机程序设计实验教学是计算机程序设计这门课程中非常重要的实践环节。计算机程序设计实验教学的主要目的不仅是对课堂及教科书中知识进行深入理解与验证,更重要的是要培养学生的思维及实践能力。但是目前计算机程序实验教学存在重验证、轻设计的错误思想,这就导致计算机程序设计的实验效果不佳,学生的学习兴趣没有得到充分的激发,忽略了学生的主体性。随着教学改革的不断深入,教师将如何更好的提高计算机程序设计课程的实验教学效果,充分培养、发挥学生的创造性思维与主观能动性成为了实验教学所研究的重点。本文从学生自主学习的角度出发,围绕着培养学生思维能力这个核心内容来探讨计算机程序设计课程实验教学的方法。

1 重视学生的实验预习与实验准备环节

在计算机程序设计实验时,一些学生在实验过程中不知所措、毫无头绪,这就造成学生盲目实验或无法进行实验,最终导致实验无法顺利完成,造成这种现象的主要原因就是学生在实验前没有深入的预习实验知识以及实验准备不充分。为了避免这样现象的发生,教师应重视学生的实验预习与实验准备环节,逐步引导学生进行充分的预习与准备。在计算机程序设计理论教学中,教师应该同时引导学生对实验知识及实验准备进行充分的预习,预习的主要内容包括:实验目的、实验方法、实验要求及实验步骤等,此外,教师还应该要求学生根据自己的实验内容及要求来收集与了解与本次实验相关的实验资料,以此来加深对实验的了解程度。

另外,学生所选定的实验内容也十分重要。教师应根据本次试验的目的与要求来制定实验内容的范围,这样不仅可以避免学生选择实验内容的盲目性,而且学生可以依据自身的兴趣来选择可以充分发挥自己创造性思维的实验内容。因此,教师应依据实验课的目的及要求来制定自选式及开放式的实验内容,学生也可以自主的选择适合于自身的实验内容。这种开放性的实验课不仅可以鼓励学生充分发挥自己的创造性思维从实际问题的角度来自主的设计实验内容,而且还能够满足不同层次、不同兴趣的同学都能选到自己感兴趣的实验内容。

2 在实验环节中着重培养学生的实验能力

2.1 实验中常见问题的解决

学生在实验过程中经常会出现一些自己难于解决的错误代码以及操作错误等常见问题,这些问题如果在没有老师帮助解决的前提下可能会导致学生实验无法进行下去。由于在计算机实验教学中教师所带学生均在60人以上,实验中出现的问题也各不相同,如果由老师单独进行指导是根本无法解决全部学生的问题,这也就不可能提高计算机程序设计的实验效果。针对以上问题,笔者提出了一种有效的解决办法――教师指导为主,学生互助为辅。

教师在计算机程序设计实验课中针对学生提出的问题要耐心引导,尊重学生的想法。在指导时应让周围的同学一起参加问题的讨论,例如:对于试验中代码的问题,教师要引导学生注意问题的出处,然后分析这种错误是逻辑错误还是语法错误,耐心教会学生如何从数据结构与算法的角度去分析问题,如何根据系统提示来查找问题的原因,并积极鼓励讨论组的学生主动发表自己的看法,积极讨论问题。这样不仅解决了试验中的问题,而且可以通过讨论组进行互助学习,提高了实验的效果。此外,教师要总结试验中出现的共性问题并提出典型的解决方法以供全班同学讨论学习,在提高教师自身素质的同时还能激发学生求知欲望及创造性思维能力。

2.2 课堂知识向课外知识的延伸

在课内实验课程的基础上,教师应将计算机程序设计实验向课外实验进行延伸。学生通过课内实验中所学到的知识及应用能力可以独立自主的完成课外实验,学生在课外实验过程中出现的问题可以通过网络与老师进行交流与讨论,这不仅可以大大提高计算机程序设计实验教学的效果,而且可以极为有效的激励学生的学习兴趣及创造性思维。

3 学生自主总结与评价实验结果

教师应依据学生的实验能力来制定评价标准,并对学生的报告做出评价,对于学生自主设计的实验内容、解决方法及实验总结体会等内容进行额外加分。另外要求学生对自己的实验进行评价,总结试验中出现的问题及解决办法,提出自己的见解及想法,让同学与教师的评价进行对比,这样不仅让学生在老师的评价中找出自己存在的问题,并且能够使得学生对本次实验进行及时有效的总结与归纳。

4 总结

教师在计算机程序设计试验中着重培养学生自主学习的能力,不仅能够加深学生对理论基础知识的理解与认识,而且还能有效的提高学生实验能力、激发学生创新型思维。因此,教师应在计算机程序设计试验中围绕培养学生的实验能力进行深入的研究与改革教学,通过不断的探索与实践才能取得较好的计算机程序设计实验教学效果。

[参考文献]

[1]龚沛曾,杨志强,顾春华,徐安东.大学生计算机实践能力培养的改革和实践[J].中国大学教学,2008,6:16-18.

篇6

本节的学习对象是八年级的学生,他们已具备一定的观察、思考、分析和解决问题的能力,熟悉常见的应用软件。但他们对用计算机程序解决问题接触甚少,把程序设计看得高深而神秘,容易产生厌学、怕学的情绪,从而失去学习的信心。学生已经在数学课中学习过求图形的面积和周长、解方程等相关知识,为学习程序设计打下了基础。

学习内容分析

本节课是苏科版八年级《初中信息技术》第四章第一节“程序设计简介”的内容,是本章的起始课。本节课的主要内容是认识程序设计、了解程序设计语言、体验程序设计的过程。用计算机程序解决问题是信息加工和处理的一种重要手段,计算机就是靠人编写的计算机程序来解决实际问题的,计算机程序是一组操作指令或语句序列,程序设计的一般过程包括确定算法、编写程序、调试程序。

教学目标

知识与技能目标:了解计算机程序的概念;了解程序设计语言的种类。

过程与方法目标:通过“解方程”实例引入程序设计。

情感态度与价值观目标:通过探究“求图形面积、周长”实例,经历计算机解决问题的过程,学会用计算机程序解决问题。

教学策略

本节内容中含有的概念较多,如果教师只是照本宣科,就无法激发学生的学习兴趣,使他们迸发出思维的火花。概念是进行逻辑思维的最初形式,是进行逻辑思维的物质基础。任何一个概念的形成都是一个不断完善、发展的过程。教学时,要还原概念的生成与发展过程,才能让学生更好地体验概念、感受概念,最终形成对概念的认知。为此,笔者通过引入程序、走进程序、体验程序、畅想程序这些学习活动,期望学生在活动中感悟程序、程序设计的概念,认识程序设计语言,体验程序设计的过程。

教学过程

1.创设情境,引入程序

师:在日常生活中,我们经常使用计算机解决以下各类问题:①如何在体检表中,快速找出身高最高的学生?(电子表格)②绘制一个圆形,可以使用什么工具软件?(画图、WPS、Photoshop)③解一元二次方程呢?前面两个问题我们可以使用电子表格、画图等软件来解决。第三个问题呢?我们现有的软件能解决吗?没有合适的软件,我们可以自己编写程序。

学生体验用程序来解一元二次方程(如图1)。

小结:用计算机解决问题时,首先应考虑选择现有软件,当没有合适的软件时,需要自己编写程序来解决问题。

设计意图:借助问题引导学生思考,唤起学生的求知欲,总结出用计算机解决问题的几种方法。利用解方程这个小程序,帮助学生感受计算机程序的作用,调动他们开发程序的愿望,明确学习内容。

2.感知生活,走进程序

用计算机能识别和执行的语言,编排完成具体工作的操作序列。

师:计算机所能识别的语言是什么呢?我们一起来认识它(分析程序代码)。

活动三:了解程序设计语言。

观看微视频“程序设计语言”,思考以下问题。

①程序设计语言分为哪三种?(机器语言、汇编语言、高级语言)

②计算机唯一直接识别的语言是什么?(机器语言)

③我们一般使用哪种语言编写程序?(高级语言)

④高级语言程序如何转换成机器语言程序呢?(用高级语言编写的程序必须先翻译成机器语言程序,计算机才能识别和执行,翻译方式有解释与编译两种,如图2)

设计意图:合理地创设问题情境,引导学生利用生活中的问题进行探究学习,即解方程的步骤、查看解方程程序的代码,由生活中的程序过渡到计算机程序,便于学生接受、理解和运用知识。借助微视频学习任务单,引导学生认识机器语言、汇编语言、高级语言等几种程序设计语言的特点。

3.范例引领,体验程序

活动四:分析范例,体验求三角形面积的程序。

①求三角形面积。

师:实现方法是输入底、高(面积=底×高÷2),点击计算按钮,输出面积(如图3)。为了使描述更加清晰、直观,我们一般使用流程图呈现(如图4)。

小结:这是我们解决求三角形面积问题的方法。计算机解决问题和人解决问题一样需要解题步骤和方法。这种计算机解决问题的步骤和方法称为算法。自然语言是最直接的描述算法的工具,用流程图表示算法,直观形象,易于理解。解决问题的过程,就是实现算法的过程,而计算机程序就是算法的代码实现,是计算机可以执行的。

②打开求三角形面积程序,切换代码界面,对照流程图,尝试读懂程序。

③学生运行程序,查看结果。

活动五:模仿范例,设计求长方形周长的程序。

①分析问题,确定算法。

教师对比求三角形面积的方法,引导学生确定求长方形周长的算法(如图5)。

②启动VB,完善程序。

学生模仿求三角形面积的程序编写求长方形周长的程序。

③运行和调试程序。

师:按F5键运行程序,观察结果,运行成功了吗?如果没有成功,仔细查看输入的代码,找出错误,修改后再次运行!

学生演示程序,教师引导学生共同探寻程序中的错误并修改,直至运行成功。

④提炼程序设计的一般过程(如图6)。

设计意图:知识不是从他人那里获得的,也不是道听途说的,更不是被推导、想象或猜测出来的,而是由学生亲身经历习得的。首先以学生熟悉的三角形面积为例,通过分析算法、查看代码、运行程序,初步了解程序设计。在此基础上,模仿编写求长方形周长的程序,增加感性认识。在熟悉的情境中轻松体验计算机程序设计的思想,在运行程序的过程中发现错误、改正错误,体会到程序编写并不是一次就能成功的,需要反复调试。从而经历和体验计算机程序设计的一般过程,感悟计算机程序解决问题的魅力。

提炼升华,畅想程序

1.思维导图,复习巩固(如图7)

2.观看视频,畅想程序

教师介绍软件、App与程序之间的关系。(软件是由程序、数据、文档资料组成的,其核心是程序;App是智能手机的第三方应用程序)

观看视频《一名12岁的手机应用开发者》,并说一说你想设计一个什么样的程序?

3.拓展思路,明确方向

篇7

关键词:计算机程序设计;应用型开发;管理系统

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2013)33-7483-02

1 计算机程序设计概述

计算机诞生于20世纪,在人类的发展史上发挥着重要的作用。当前通过计算机可以实现很多功能,例如琴棋书画,甚至一台名为“深蓝”的计算机曾在下棋技术上击败了当时最厉害的棋手之一。计算机的强大功能并不能直接通过人类自然语言的描述实现,而是通过不断的执行指令和计算实现, 即计算机程序。

计算机程序(computer program)是计算机可以识别的语言,计算机程序设计就是运用计算机语言将人们的需求,转换成计算机能够理解和执行的指令,从而实现相应的功能。完整的程序设计首先通过分析需求,弄清楚核心任务和输入、输出要求, 然后设计算法,通过程序设计语言把算法转换成应程序,交由计算机执行,最终测试和调试程序,确保程序能够正确运行以便完成核心任务。

程序设计语言具有较长的发展史,且包含了多种的类型。首先是机器语言,所有的计算机程序都需要变成机器语言才能正常运行,它完全是由二进制的0和1组成,不易读懂,所以使用机器语言编写程序的效率和准确性都很低。为克服机器语言的这些缺点,用符号代替二进制指令的汇编语言诞生了。为了提高程序设计的效率和准确性,高级程序设计语言的概念被提出,即用人类语言容易理解和使用的符号形式编写程序。20世纪70年代,作为编程基础学习语言的C语言诞生,20世纪90年代,Java语言又出现,由于该编程语言面向对象,而且又独立于具体的硬件平台的开发环境,所以已经成为当今的一大热点。

2 计算机程序设计的多应用型开发

在科学技术迅速发展的今天,计算机已经在我们生活工作中占据了无法取代的位置,并且在经济发展社会的各个行业中都发挥着巨大的作用。计算机程序设计的广泛应用不仅提高了企事业的经济效益和效率,同时实现了科学现代化和智能化的管理,在经济社会中发挥了显著的作用。

2.1 计算机的管理信息系统

当今社会,很多企事业单位采用了非常有效的管理信息系统,诸如常见的酒店入住管理系统、图书馆借阅管理系统等。这些系统无一例外都是由计算机的各种高级语言编写而成的,它们可以非常有效、快速、客观、准确的进行信息处理,克服了企业人员管理导致的各种弊端,从而很大程度的提高了企事业单位的管理水平和经济效益。

管理信息系统(MIS,Management Information System)主要依靠人进行主导,同时借助于计算机的软硬件和其他相关设备进行信息的搜集、加工和处理,并做好信息的维护和使用。通过这个系统可以有效的管理企业拥有的财力、人力、设备、技术等资源,保证数据库信息的准确性,使企业的信息管理系统化,从而支持企业从基层到高层的集中一体化运作,提高企业的管理水平、效率和经济效益。

管理信息系统不仅可以实现对商品的销售和库存情况的基本管理,还能做到对客户和员工的信息采集和管理,以做到人员合理安排,对客户进行及时的维护和跟进。管理信息系统的推广可以大大的实现企业运作效率的提高,节省企业运作所涉及到的人力物力成本,并且解决由于人为手工操作带来的速度慢和错误率高的缺点。同时,管理系统的投入使用,可以确保企业的运作流程更为系统规范。在经济迅速发展的当今社会,管理信息系统势必会吸引越来越多的企业投入和使用,而每套管理系统都要根据企业自身的发展内容和情况量身定做,这样才可以确保适用于自身企业的发展,以避免被社会发展的激烈又残酷的竞争淘汰。

2.2 电子商务应用

通过计算机高级语言建立电子商务网站,把企业的经营范围和服务宗旨体现在网站上,从而有效树立公司的品牌和企业形象,使潜在的客户对公司有一个直观的印象。另外还可以在第一时间通过网络让客户了解自己最新的产品,有效的达到产品推广的作用。除此之外, 随着电子商务的不断发展,诸如淘宝网、卓越网、当当网等网络商城逐渐涌现出来,网上购物成为人们生活的一部分。网站服务发展的越来越多样化,计算机可以直接执行原来需要用人工进行的作业,并通过网络的途径共享结果数据。

例如图书销售网站通过计算机程序设计,包括网站开发和后台数据库建立,实现计算机销售并且有效的管理图书,在这之前都是通过图书管理人员人工操作。建立后台数据库需要确保数据一致、准确和安全,而网页的设计则要求功能齐全,便于用户操作。电子商务以电子数据信息流通代替了实物流,大量的减少了人力和物力成本,同时大大缩小了从生产者到消费者之间的距离,确保交易可以随时随地进行,从而提高了交易效率,可以称之为一种全新的经营手段。

电子商务在互联网的基础上,通过电子数据信息流的运作为制造者、销售者和消费者提供了世界范围的公平公正的大市场,从而更好的满足三方的需求。越来越多的企业开始以电子商务的方式实现管理和营销,计算机程序设计在电子商务方向具有非常好的应用前景。

2.3 工业工程应用

工业生产过程中,调节器、被控参数种类、干扰因素和突发事件较多,且设备需要连续运作,因此工厂生产必须提高控制的自动化水平,以达到高控制精度的要求。计算机程序设计在大型工业中的自动控制问题中发挥了极其重要作用。

可编程控制器采用可编程序的存储器,在其内部执行可以实现需求的运算、逻辑、控制等操作指令,得到符合需求的输出,从而控制各种类型的生产过程,其在工业自动化控制系统中占有极其重要的地位。它是一种适用于工业环境下的数字运算与控制操作一体化的程序设计系统。

计算机程序设计在机械领域的应用主要体现在机械自动化控制和计算机辅助设计两个方面。随着计算机的推广,数控机器设备、可控锅炉设备、计算机辅助设计和制造、自动化设备等都在工业工程领域出现。工业自动化控制系统有助于生产过程中的信息管理和实现生产过程自动化的功能。计算机辅助设计是指设计人员在计算机和相关的图形设备的协助下进行设计工作,主要体现在计算机图形技术。计算机图形技术可以用来设计一些机器设备的外形,工厂、仓库的布局设置,还可以用来设计电子电路及器件。它的强大功能在于设计过程中,计算机程序能够自动判断设计是否存在问题。如果判断出存在问题,该技术还可以实现诸如一些数据、图形和算术的自动修改,以确保最后结果的准确性。机械制造领域内计算机程序设计的使用,实现了机械和建工精度和效率的提高,同时加工成本和失误率也得以降低。

除了以上涉及的工业自动化和机械领域,比较广泛应用的还有锅炉温度控制程序设计系统,温室温度、湿度控制程序设计系统等。工业其他领域也可以通过计算机程序设计实现工业流程的最优化。

3 结束语

计算机程序设计的意义在于用计算机语言解决现实的需求, 当今社会的每个行业都离不开计算机,充分利用计算机的程序设计来解决问题已经是大势所趋。随着计算机技术的突飞猛进的发展,我们需要更加有效的利用这种技术进行多应用型的开发,从而给人们的社会生活、管理决策带来极大的方便。

参考文献:

[1] 秦燕.VB之学法[J].电脑知识与技术,2010(23).

篇8

【关键词】中职学校;计算机程序设计;课程教学

程序设计课程作为计算机专业的一门基础课程,它有利于提高学生的思维能力,对学生深人学习计算机专业知识有很大的帮助。但是由于学生本身素质差、程序设计课程枯燥等原因,计算机程序设计教学效果始终不尽人意,学生学习积极性不高。如何根据社会经济发展变化,对程序设计课程的教学内容、教学方法、考核方式进行相应的改革,实现培养高等技术应用型和高技能型计算机人才目标,已经成为广大中职教师普遍关注和重点研究的课题。

一、中职学校计算机程序设计课程面临的困境

从中职学生生源方面看。由于程序设计课程本是一门难度不小的专业性较强的一门学科,再加上近几年大学生的普遍扩招,使中职学校的生源质量未能得到保障,中职学校的生源大部份都是初中生中学习成绩偏低,基础相对薄弱的学生,学习程序设计语言的难度就可想而知了。在实际教学过程中,经常会出现一个很简单的问题,往往会耗费很多的时间去讲解,这都是因为学生的理解能力不强,认识水平低的原因。在笔者对所教计算机专业学生的问卷调查中也显示:100%所有的学生都认为学习程序设计课程是很有必要的;但在学习过程中,85.7%是学生都表示学习上都靠课堂上教师所教授的内容,课外课余时间几乎是没有再学习;62.6%学生认为程序设计课程语法复杂,难度大、听不懂;29.8%的学生认为课堂上的知识能够掌握,但不会灵活变通;甚至有71.3%的学生不习惯也不愿意借助网络资源进行学习;约有50%的学生一遇到有难度的课程时,更轻易地选择放弃学习。由此可见,现在中职学生的学习动机普遍不足,学习观念还停留在基础文化课程的学习上,没有掌握技能型学科的学习方法,且没有坚持学习的毅力和精神。

从课程本身的特殊性和课程的组织看。程序设计类课程由于其自身的特殊性,语法规则繁多课程内容枯燥、不容易激发学生的学习热情,另外语法规则难记易忘也增加了学习难度,学习这类课程的一般方法是对需要掌握的语法规则熟悉熟记和熟练应用,要进行程序设计不仅需要强记语法规则还需要转化思维,使用程序设计的思想思考问题解决问题。如果不能转换思维方式实际动手编程时将不知如何下手,学习的语法规则都将会成为纸上谈兵。但在中职学校中,课时安排并没有考虑到学生的特殊性,课程没有足够的课时供学生在理解和掌握课本上知识的同时,通过在实践过程中发现问题,解决问题,从而学习更深层次的东西。中职类教材上存在严重滞后现象,案例相对中职生能力而且颇有难度,很多案例无法贴近生活,跟上信息技术的发展。在教学上,许多老师没有实际计算机项目研究和开发经验,且知识结构陈旧与实际的计算机技术的发展存在了较大的差异,在教学过程中,老师根据自己的理解讲解课本上的知识,然后学生做一些适当的消化和理解,上机操作也只是对课本上的案例进行编程调试,都只是照着课本打代码,一旦调试成功就完成了任务,没有自己动脑思考的过程,而缺乏了编程最重要的思想和创新。

二、加强中职学校计算机程序设计课程教学的措施

如何激发学生的学习兴趣和自主学习,如何培养学生程序设计和编写的思维,提高教学的实效,本人从以下几个方面进行分析探索。

1.要让学生有一种想学会、能学好的感觉。中职学生学习上的兴趣大多来自自我效能感,中职学生往往是在学习上大受打击的对象,对学习的信心很不足,在学习初期塑造成就感可以激发学习学习下去的兴趣,作为一名中职学校的程序设计语言类教师,为了培养学生浓厚的学习兴趣,在课程初期,可以编写一些实际生活中简单有趣的程序,让学生有了学习地方冲动和学习热情。然后在接下来的慢慢深入的课堂教学中,首先必须要做的事就是让学生觉得这节课我们将要学习的是一个非常实用的东西,并且让学生知道这个程序的实现并不是很难,同时在讲解的时候把知识点讲得通俗易懂点,做到联系实际,深入简出,打消学生对程序设计课程的恐惧心理,让知道,只要认真听,老师一定能让他们自己亲自设计出来。在程序设计课程教学中,教师对语法和基本程序的讲解时很有必要的,教师的思维和讲解方法也很大程度决定了学生的接受程度,因此,在教学中,要避免呆板的灌输,讲解时要通俗易懂,让学生容易接受。其次,还要求教师不断提升自己,从实践出发,把书本上的知识点运用到解决实际的生活问题上来,比如,现在学生都在使用智能手机,里面的很多简单又实用的一些软件,老师要引导学生把学到的知识点运用到分析软件的设计和制作上来,从内在激发学生学习的兴趣。

2.适当项目教学法提高教。所谓项目教学法,就是让学生在一个典型的“项目任务”的驱动下,展开教学活动,引导学生由简到繁、由易到难、循序渐进地完成一系列“任务”,从而得到清晰的思路、方法和知识的脉络。教师的教和学生的学都是围绕如何完成一个具体的项目任务进行的,学生在需求下学习,学以致用,更好地学会知识,掌握技能。采用项目教学法,首先提出一个需要完成的具体任务,与学生共同分析解决该问题所需的知识,方法和步骤,围绕具体任务进行适量的概念教学和举例讲解,可以独立完成,也可以合作完成。目的是通过完成任务,掌握学习内容,学会学习,培养综合能力。在这个过程中,教师参与探索和指导,引导学生掌握教学内容,指引方法不当会导致学习不知如何下手而使项目教学无法进行。并且项目教学中,教师要重点设计选题,选题要接近实际需要,并且要难易适中,难度与学生能达到的能力不匹配不仅没有达到预期的效果,而且还会挫败学生的学习积极性。

3.采用小组合作完成难度大的项目。学生的学习能力是不同的,因而在同一课堂内,全班同学所掌握的知识会有所不同,容易造成学生成绩两极分化和教学知识点的疏漏。某些项目采用小组合作的形式进行,让不同能力的学生都能参与到项目中来,并且在合作完成任务的过程中,基础差的学生可以借助基础好学生的帮助来提升自己。在实施分组合作过程中,教师明确考核方式,比如通过平均任务量和小组每个成员都要项目演示达标该小组才能通过来督促小组中成员间互相帮助,特别是基础差的学生可以得到基础好的学生的帮助,同时也避免任务代替。

随着计算机技术的迅速发展,程序设计语言将会显得越发重要,但程序设计语言并非深不可测,反而趣味性很强,还可以提高思维能力,对其他课程的学习也有很好的促进作用。在中职学校中,程序设计语言课程教学更需要教师有极高的教学水平和综合的教学艺术,教师在教学过程中不能局限于书本知识,要把专业课程与实际运用联系起来,提高学生实际动手能力和探索、合作、创新能力,才能提高教学实质。

参考文献:

[1]秦勇《中职计算机程序设计课程教学现状的调查与思考》卫生职业教育2014-03-25期刊

[2]邱小玲《技工学校计算机程序设计课程教学思路》计算机光盘软件与应用2013-08-15期刊

[3]邢秀娥《案例教学在中职计算机程序设计课程中的应用》科技创新导报2012-05-01期刊

篇9

【关键词】计算机程序设计;案例教学;动手能力;实施过程

1.程序设计语言教学中存在的问题

程序设计类课程是计算机专业的重要专业课,在课程体系中处于重要地位,但这类课程又是学生普遍反映学习难度较大的课程,特别是高职院校学生。

1.1教材特点

目前计算机程序设计教材在内容编排上普遍的一个特点是,以理论的系统性为目标,内容编排严谨规范,先讲理论,后讲例题。这一编排保证了教材在学术上的严谨性,但却不符合学生的认知规律。教师在程序设计类课程教学方面,多采用传统的方法,按照教材的编排顺序系统地讲授,同时结合一些上机实践操作来巩固和熟悉课堂上所讲的一些知识点,这些常规的方式存在着一些不足之处: 以教师为中心,以教教材为目的,偏重理论知识的灌输,而忽视学生的"学", 学生参与教学活动的机会少,大部分时间处于被动接受状态,理论与实践脱节,导致学生失去学习的兴趣,学生的主动性、积极性难以发挥,更不利于创新型人才的成长,不能满足当前社会对人才的需要。

1.2高职学生的特点

高职院校近年高考录取分数线在200分左右,甚至有些降至160分,学生文化基础普遍较差,上高职前接触、使用电脑的机会少,计算机文化基础更差,按传统教学模式授课,学生接受非常困难。在以往的计算机程序设计课中,大多数学生认为学习程序设计语言既枯燥又无用,不如学习多媒体或网络的一些课程;有的学生是因为学习程序设计,需要较强的逻辑思维能力和一定的数学、英语基础,因而在学习程序设计时显得力不从心,不能掌握应用计算机解题的基本思维方式,对计算机程序设计产生畏惧感,缺乏学习信心,就知难而退了。

2.实施案例教学的过程

计算机程序设计课程是实践性、可视性很强的课程,它的教学应有别于其他课程的教学模式和方法,在要求学生掌握理论知识的同时,更要具有分析问题、解决问题的实践能力,熟练掌握实际编程技能。因此,如何在程序设计的教学工作中,针对学生的特点,激发学生学习计算机程序设计的兴趣、培养学生软件开发的能力已成为高职高校计算机专业急需解决的问题。运用案例教学法,可有效解决这一问题。

2.1案例教学的目的

高职教育的目标是以就业为导向,既要满足当前就业能力的需求,又要满足其就业的后续力提高的需求。在教学过程中不能只灌鸭式的方法传授知识,而应大力加强学生就业能力、创新能力和解决实际问题能力的训练,提高学生对职业岗位和职业变化的适应能力。使用案例教学法来贯穿整个教学内容,既能提高学生学习程序设计的兴趣,又能培养学生分析问题、解决问题的能力。符合了高职教育的要求。

2.2案例的选择

目前程序设计课程的教材大多数介绍知识点,举一些零散的例子来巩固。即使有些教材在最后综合的实践篇中介绍某些系统(图书馆图书管理系统、借阅系统等)的设计与源代码,但这些例子的源代码较长,篇幅较大,学生很难一次性看懂,因为程序长更使学生看不下去而放弃。再加上学生没有在图书馆工作的经历,不清楚图书管理的流程,所以对数据结构也不了解,所以这就增加了学生对学习类似案例难度。因此,选择一个优秀的、符合高职学生的教学案例教材就显得非常重要。

在琳琅满目图书(教材)市场中,很难找到一本符合自己学生特点的教材,因此,可以组织有经验的教师针对高职生的特点及要求自己编写校内自用教材来解决教材内容不足的问题。

自编教材中选用的教学案例应该考虑实用性、趣味性、一致性。同时案例的内容还要注意不能偏离本课程的教学目的,又要让学生熟悉及感兴趣。以本人在教学中采用的案例如:迷你计算器、石头剪子布游戏、猜数游戏、学生成绩管理系统等。这些案例学生在日常生活中是经常接触的,比较熟悉,而且难度不大,所以学生在看到这些案例后,易于接受,会产生学习的欲望。

2.3案例教学具体实施

案例教学主要突出实际应用,理论联系实际,培养学生逻辑思维,培养学生动手能力和解决实际问题的能力。因此,在教学的具体实施过程中,教学的方法非常重要。以本人多年来的程序设计教学经验,我觉得应从以下几个方面入手。

2.3.1上好第一堂课

以我院高职生为例。学生的基础较差,大多数学生来自偏远的农村,之前的高中阶段教学条件比较差,上高职前几乎没有接触过计算机的。因此,对计算机课程的每一门课程,即陌生又好奇。所以在第一堂课中如何引导学生正确理解计算机编程,培养他们对编程产生浓厚的兴趣是重中之重。

首先,把有趣的案例运行演示,向学生介绍是用计算机语言来编写的。让学生对计算机语言编写的各种应用程序有一个初步和全面的了解。其次,开始把案例中由浅入深的分解,溶入到各个知识内容的讲解和学习上。以C++为例,如刚开始可以“迷你计算器”为例,在输出界面上有提示的内容,如下图:

向学生提问:如何才能显示文字?从而引出标准输出、输入设备。即cout 和cin的应用。接着就学习cout 和cin的使用方法。即要显示“欢迎使用迷你计算机!”,在C++中应写成语句:cout

篇10

摘要:本文在分析了C语言程序设计课程的教学现状和教学困境的基础上,对比自然语言和程序设计语言的共性以及C语言的特殊性,提出了“从概念入手,侧重程序阅读和程序设计能力培养”而非“语法研究”的教学角度。

关键词:C语言;程序设计;教学内容;教学角度

中图分类号:G64 文献标识码:A

1教学现状

在高等学校的本科教育中,“C语言程序设计”几乎成了所有专业的必开课程,从计算机科学与技术、软件工程、网络工程等相关专业,到电子信息类理工科各专业,乃至理工科院校的所有非计算机专业,有的是专业基础课,有的是公共必修基础课,有的是“非计算机专业的计算机基础课”。只是课程名稍有差异,常见的有“C语言程序设计”、“高级语言程序设计”、“C语言”、“C程序设计”、“结构化程序设计”等。无论叫什么样的课程名,也无论是哪类专业,其课程的教学要求和教材选用却无太大差别,只是课时分配差异较大。

从网络调查的16所不同类型高校的“C语言程序设计”教学大纲看,普遍都包含“通过本课程的学习,使学生了解有关程序设计的基本概念、术语及C语言的特点,掌握C语言基本数据类型、语法规则、程序控制结构、常用的标准库函数,培养学生的程序设计技能,初步积累编程经验”的教学基本要求;约百分之八十左右的“C语言程序设计”课程都选用由谭浩强主编、清华大学出版社出版的“C程序设计”作为主教材;课时分配从30~108课时不等,其中80课时以上的多为应用型本科院校的计算机相关专业以及综合性大学的非计算机专业,理论课时与实验课时的比例一般为1:1到1:1.2。与此同时,其他专业基础课(如计算机组成原理、操作系统、数据结构等)的课时一般为54课时,最多不超过72学时。相比之下,“C语言程序设计”所占课时是其他专业基础课的1.5倍至2倍。

从教学目的看,非计算机专业的“C语言程序设计”课程主要目的是“掌握语法规则和程序结构,具备一定的程序设计能力”,而计算机相关专业的“C语言程序设计”课的教学目的则要分为三个层次,一是使学生全面理解计算机程序设计语言的基本内容和结构;二是通过算法掌握程序设计的基本方法和步骤,并具备一定的程序设计能力;三是为后续课程的算法描述和其他程序设计语言的学习奠定基础。

2教学误区

从以上的教学现状(特别是课时分配)看,长期以来,“C语言程序设计”的课程教学存在“教学内容背离教学要求和教学目的”的误区,主要表现在教材误区、讲授误区和考核误区三个方面。

2.1教材误区

国内高校的“C语言程序设计”课大多选用谭浩强主编、清华大学出版社出版的“C程序设计”[1]为主教材,目前使用的是2005年7月修订出版的第三版,教材共363页,主体内容分为14章,其中,第3章的数据类型与表达式占用30页,第4章的格式输入输出占用12页,前9章共占用218页,后5章共占用145页。占用如此大篇幅的原因是教材中除了介绍相关语法格式外,还增加了相当多“特殊格式”和“特殊情况”的解释和说明,因此,该教材的最大优点就是“内容详尽、解释清晰”。然而,对于初学者来说,学习计算机程序设计语言就是为了“为计算机描述求解问题的过程”,过于详细但又远离现实问题的“特殊格式”和“特殊情况”的解释,使得学习内容复杂化,增加了程序设计语言学习的难度,误导了学习者的学习重点,由此也赋予了该教材无法掩饰的缺点,那就是教材编写的指导思想和教材内容的组织脱离了高校各专业“C语言程序设计”课程的教学目标,过分强调语法细节而忽略了程序设计语言的“正向表达能力”的应用,过分强调“语言的灵活性”而导致教材主体内容的“复杂化”,从而误导“C语言程序设计”课程的教学内容朝着“重语法学习、轻算法描述”的“语言研究”方向发展。

2.2讲授误区

由于教材内容的“复杂”,课堂讲授自然需要较多课时,教学重点当然也放在了“语法研究”上。从网上下载的“C程序设计(第三版)”的配套教学课件以及有关院校的“C语言程序设计”教学课件的内容组织上可以清楚的给出以上判断。“语法研究”型的课堂讲授,更加放大了教材对“C语言程序设计”课程内容的“扭曲”程度,给学生提供了错误的程序设计语言学习方法,把简单问题复杂化,更为严重的是,挫伤了学生学习计算机程序设计语言的兴趣和积极性,把本应“主动学习”的课程成引入了“被动学习”的歧途,直接导致“懂语法、会做题,但不会编程序”的教学后果。

2.3考核误区

多年来,“C语言程序设计”的主体考试内容就是“语法”,无论是选择题、填空题还是程序阅读题,大多都无法逃脱“语法”的束缚。考试方式以笔试为主。这在某种程度上肯定了“语言研究”的教学角度,促使“C语言程序设计”的教学重点更向“语法研究”的方向倾斜,最终误入“增加课时,强化语法,还是不会编程序”的怪圈。

3应有的教学角度

按照网上调查的各专业教学大纲中“培养具有一定程序设计能力”的教学目的,“C语言程序设计”课程的教学落脚点应该更确切的理解为培养“能用程序设计语言描述求解问题过程”的一般程序设计者,而不是造就“全面掌握程序设计语言语法、能设计高效、难懂程序”的程序设计语言方面的“作家”。因此,“C语言程序设计”课程教学相当于自然语言中的“基本语言能力”教学,而不是“语言研究”或“高级写作”能力培养。

3.1自然语言与计算机程序设计语言

计算机程序设计语言是用人和计算机都能识别的方式描述计算机求解问题过程的过程描述语言,它具有和人所使用的自然语言相同或相似的组成和结构特点,对于已经掌握了至少一门自然语言(比如汉语或英语)并具备一定文化程度的人来说,学习一种计算机程序设计语言并非难事。自然语言的基本组成包括符号集合、字、词、句、数据及其运算规则等基本要素,学习过程包括认识符号、发音、识字、组词、学语法并造句、学文法并写短文、练习写文章等基本阶段,在具备了基本的语言能力之后,扩充词汇量和提高写作能力将成为终身学习的基本内容。按照自然语言的基本组成和学习过程,也可将计算机程序设计语言的基本组成归纳为字符集、标识符(常量、变量、保留字等)、数据类型、运算符、表达式、语句、程序格式等基本要素,其中,字符集和数据类型是定义程序设计语言的基础,字符按一定规则组成标识符,用来充当常量名、变量名或其他标识,在自然语言中被人们公认的特殊标识符被赋予特定的语言含义,专门为语言系统所用(用户不得再次定义其意义),称为保留字;字符集中的特殊符号(如+、-、*、/)被赋予特定的运算意义(如加、减、乘、除)称为运算符;不同数据类型的常量、变量用运算符按一定规则连接起来组成的式子就构成表达式;将特定的保留字与表达式等语言要素按照语法规则组合起来就形成相应的语句;将语句按照要描述的求解问题的逻辑顺序排列起来,就构成了某种程序设计语言求解特定问题的一段程序。

3.2C语言的特殊性

一方面,C语言是程序设计语言的一种,具备一般程序设计语言的基本组成要素和结构特点。另一方面,C语言能成为面向过程的结构化程序设计语言的代表,也有其自身的特殊性。首先,C语言的数据类型极为丰富。除了基本数据类型外,还有构造类型、指针类型、空类型和用户自定义类型,其中,构造类型包括数组、结构体(struct)、共用体(union)和枚举类型(enum)等四种数据结构。其次,C语言具有位操作能力。除了能够对各类变量进行操作外,C语言还具备“按位”进行逻辑“与”、“或”、“非”、“异或”运算和“左”、“右”移位运算,这使得C语言具备了更强的系统开发能力。第三,C语言具有显著的结构化程序设计能力,并通过完整的函数定义来实现。第四,C语言的最大特点就是“语法限制不严,解释灵活”。第五,C语言允许直接访问物理地址,可直接对硬件端口进行操作。第六,C语言没有输入/输出语句,信息输入/输出功能由标准函数库中相应的I/O函数来完成。

C语言的这些特殊性,决定了C语言的教、学过程不同于其他程序设计语言的教学过程。

3.3C语言的教学角度

根据一般程序设计语言的基本组成与结构特点,结合C语言的特殊性,“C语言程序设计”课程的教学角度应该是:从介绍程序设计语言的基本概念入手,重点介绍语言的“正

向”设计功能而非“特殊格式”或“特殊语法”说明,侧重学生的程序阅读和程序设计能力培养,从教学内容的广度和深度两个方面,恰当把握教学角度。

“C语言程序设计”课程的内容可分为三个基本模块,教学过程从第一个模块切入,逐渐扩展到第二和第三个模块。第一个模块可称为“程序设计语言公共模块”,主要包括程序设计语言的基本概念、程序设计语言的基本要素(字符集、标识符、常量变量以及保留字、基本数据类型、运算符、表达式、语句与控制结构、程序结构以及程序书写规范等)以及输入/输出格式等内容;第二个模块是C语言的主体,主要包括函数、数组、指针、文件等;第三个模块是高级编程内容,主要包括结构体(struct)、共用体(union)、枚举类型(enum)以及用户自定义类型等。

在教学深度方面,各模块的教学重点应放在“规范的语法描述和直观易懂而且正确的语义表述上”,避免涉及各种过细的“不符合人类阅读习惯”的语义描述,暂时避开“特殊格式”或“特殊情况”的纠缠,摆脱“研究语法”的错误向导。在此基础上,第一模块的教学可与自然语言相比对,通过学生已有的自然语言学习经验和语言要素,使学生快速建立程序设计语言的基本概念,正确理解程序设计语言的基本要素及其关系,掌握基本语法和程序基本控制结构(顺序、选择、循环),并通过算法归纳求解问题的过程,正确理解算法不同描述方式(自然语言、传统流程图、N-S流程图、伪代码、程序设计语言)的作用和差异,特别是从“问题”到“程序”的渐进转化过程,从而培养学生的基本程序设计能力。通过第二模块的教学,使学生明确函数、数组、指针、文件等概念和作用,掌握它们的定义和引用方法,能进行相应数据类型的编程,进而掌握用函数定义的结构化模块程序设计的方法;通过第三个模块的教学,将程序的数据处理能力扩展到结构体、共用体、枚举类型以及用户自定义类型等复杂数据类型的处理上来,通过恰当的例子应用这些数据类型,向学生展示C语言强有力的数据表示和处理能力。

另外,可以将C语言中的“语法灵活性”和不同部分的各种“特殊情况”分类总结,归纳整理成“语言参考手册”等形式,以附录的形式提供给学生,以便需要时“备查”。这样既可节省教学课时,又可向学生提供学习语言的主动权。

3.4教学策略和方法

“C语言程序设计”属语言类课程,教学过程充满了逐步完善和熟练的基本特点,因此,从教学安排的策略上要分重点、分阶段逐步进行,每个阶段的教学方法应该采用建立在一定基础上的有重点的“部分教学法”,以核心内容为基础,向外逐渐延伸,部分学习,渐进掌握。尽可能避免不分主次、不论难易、不顾急缓,盲目一次性扫清各类知识点的“地毯式”教授方法或学习方法,同时强调自学和上机验证,强化在特定环境下(如Turbo C++ 3.0)的程序设计训练,做到“精讲多练[2]”,从小程序练起,逐渐过渡到求解较大或实际问题的程序设计上来。

4结束语

从目前的教学现状看,无论是计算机相关专业,还是理工科的电子信息类专业,乃至综合性大学的非计算机专业,“C语言程序设计”的课程教学均占有重要的教学地位,在全面提高教学质量和教学效率的今天,不同类型专业结合自身优势和程序设计语言类课程的特点,选择合适的角度组织和实施“C语言程序设计”课程的教学活动非常重要,而且很有必要。笔者的教学实践证明,避开“语法研究”的程序设计教学不仅可减少课时,更可提高学生利用程序设计语言“表述求解问题过程”的能力。

参 考 文 献