计算机与编程专业十篇

发布时间:2024-04-25 17:13:42

计算机与编程专业篇1

关键词:非计算机专业;C程序设计;编程能力;提高

中图分类号:G642文献标识码:a文章编号:1009-3044(2009)13-3446-02

1引言

随着高科技在各行各业的普及与深入,计算机已成为一种处理专业领域问题的有力工具。是否掌握计算机知识和技能已成为衡量当代大学生适应社会发展需要的重要标志。非计算机专业的《C程序设计》[1]课程的教学目标是通过学习使学生熟练C语言,掌握程序设计的思路,并具有用C语言编程的能力;培养学生利用计算机技术解决工程实际问题的能力。但在实际教学过程中发现,学生对课程的基础知识和基本概念的理解和掌握比较扎实,但在灵活应用C语言编制程序的能力方面就比较薄弱,处于看得懂、编不出的状态。

对于一些非计算机专业的学生,他们普遍对为什么要学习编程语言尤其是C语言感到困惑。另外计算机学科概念的基础术语比较抽象,程序设计语言的语法枯燥,编程的算法比较复杂,学生普遍存在畏难心理[2]。由于以上几方面的原因导致学生在学习过程中没有学习的兴趣及动力。所以在教学中如何提高学生的学习兴趣和消除学生的畏难心理是提高学生编程能力的关键。本文针对非计算机专业学生的特点,从理论教学和实践教学两个方面作了一些探索,收到了较好的效果。

2理论教学上的探讨与实践

一直以来,程序设计课程都采取“理论+实践”的教学模式。理论课主要教授语法、算法;实践课主要是验证性、设计性的内容。本人认为要提高学生的编程能力,理论课应该在如何提高学生的学习兴趣上下工夫。

2.1利用第一堂课充分调动学生学习兴趣

《C程序设计》课程的第一堂课一般是概述,介绍C语言的产生、发展以及特点,初步认识C程序,介绍编辑、编译、运行C程序的步骤。但如果照本宣科地向学生灌输书本上的知识,不免让学生感到枯燥。

本人认为第一堂课应该充分调动起学生学习C语言的兴趣和热情。在简单明了地介绍上述基础知识外,应该将重点放在让学生了解为什么要学习C语言程序设计、学习C语言是件很有意思的事情上。比如本人会把用C语言编程解决实际问题作为一个切入点,以过河游戏为例。首先和学生一起玩游戏,将课堂气氛活跃起来。学生在玩这个游戏的时候,一方面启发其解决这个问题的方法,比如提出“规则”、“遍历”等概念,一方面提出人在解决问题时的“力不从心”。然后不失时机的向学生展示自己编写的解决该问题的程序,并向学生提出算法的概念。告诉学生,C语言可以解决现实中的实际问题,编程就是将自己所想的用另一种语言表达出来而已。

这样,在一定程度上消除了学生对程序设计课程的恐惧心理,充分调动起其学习编程的兴趣和热情,学生普遍进入一种迫不及待、跃跃欲试的状态。

2.2合理调整授课顺序

在C语言教学中,无论是教材还是教师上课,一般都是先介绍数据类型和表达式,再介绍各种语句的语法规则,然后是数组、函数、指针等等。这种编写安排或教学模式不利于学生编程能力的提高[3]。学生在学习C语言时,开始怀着神秘兴奋的心情进入课堂,但随着几节关于大量难以理解和记忆的新术语、新规则的介绍,枯燥乏味的例题分析后,学生马上又产生了厌学心理,一开始的热情也随之减弱甚至消失。

针对这种情况以及非计算机专业学生的认知特点,本人在教学过程中,合理调整了授课顺序。本人主张应使学生先对程序设计有个宏观的认识,然后才是细节上的深入。所以在第一堂课后,先讲授程序设计结构,中间穿插讲解必要的基础知识,然后在学生上机过程中点出、强调,使学生在特定的编程环境中吸收这些基础知识。

3实践教学上的探讨与实践

《C程序设计》是一门实践性要求很强的课程,只有通过上机实践,学生才能真正理解消化课堂上的教学内容,纠正原来理解上的偏差,加深对C语言的了解。学习的能力和方法比掌握的知识更为重要,教师更应该教会学生编程领域的学习方法,培养他们的学习能力,而不是仅仅教给他们知识点。在上机实践环节本人作了以下几个方面的研究和尝试。

3.1递进启发式编程

在非计算机专业学生编程的时候,会觉得代码处处出错,无从下手,似乎只有在教师的指导下才能完成编程。因此,有必要找到一种有效的自我提高的方法。本人在实践教学过程中发现,对于初学者,应该循序渐进地进行启发,教会学生编程的方法。

第一阶段抄代码。在每个新知识点的学习后,提供给学生范例代码。学生通过读懂、调试通过程序,感受新知识点的应用方法。

第二阶段填空补充。在读透程序的前提下,设计新的题目,应用前面程序的知识点。在这个阶段不能全部把程序代码给学生。采取填空的方式,让学生去补充完成代码,并上机调试。

在这个阶段仍然要分步进行。开始的时候让学生补充单个的语句,最后以补充程序段的方式来提高学生的编程能力。

第三阶段设计程序。在前两个阶段的基础上,让学生独立设计出应用相关知识点的程序。这里其实也是一种模仿阶段。

这种学习方法一方面强调了学习的渐进性,降低了学习的难度,能力得以逐步提高;另一方面可以逐步使学生从依赖老师向独立解决问题而转变。

3.2鼓励学生读出错信息,学会自己解决问题

学生在编程的过程中,往往一出现问题,就不知道该如何是好,不会自己去查错。本人在教学过程中强调编译环境中编译信息的查看,鼓励学生遇到问题自己发现问题、分析问题、解决问题。在出错中学习,从而提高学生的编程能力。

3.3重视程序调试

在C的编译编译环境中一般都有调试功能。虽然对于非计算机专业的学生没有调试程序的要求。但本人认为,学生通过调试不但可以对程序进行逻辑错误的查找,还可以在调试过程中更深层次地理解程序的执行过程。

4结束语

提高非计算机专业学生的编程能力,是公共程序设计课程教学改革研究的一个课题,需要在教学的各个方面进行探索和研究。本人在提高学生学习兴趣以及消除学生畏难心理等方面总结了几种行之有效的方法,并应用于实际教学中。学生编程能力得到了很大的提高,取得了很好的效果。

参考文献:

[1]谭浩强.C程序设计[m].3版.北京:清华大学出版社,2005.

[2]谢书良.试论学习程序设计语言课程的心理障碍及压力来源[J].计算机教育,2008(20):120-122,199.

[3]李妮.公共《C语言程序设计》课程教学改革的探讨[J].电脑知识与技术,2008(23):1094-1095.

计算机与编程专业篇2

随着信息技术的迅猛发展及其应用领域的不断深化,几乎所有专业的研究与应用都离不开信息技术。信息化浪潮对高等教育也带来非常直接的变化,各专业课程设置无不将计算机知识教育作为其课程设置的组成部分。几乎所有专业的大学毕业生,都要求掌握基本的计算机操作技能,非计算机专业学生需要通过计算机等级考试,而一些和信息技术密切相关的专业,如电子信息、信息管理、电子商务等,课程设置上与计算机专业更是大量重叠,计算机知识教育在各专业中的渗透程度日渐加剧。

1计算机专业面临的新挑战

在计算机知识正在成为各专业基本教育内容的背景下,计算机专业学生的专业优势受到很大的挑战,以往在软硬件知识和应用能力上的独特优势似乎在逐渐弱化,与具有特定专业背景的学生相比就业压力越来越大,由此也引发计算机专业到底学什么、专什么的现实思考,我们必须面临的问题是:计算机专业的学生专业优势体现在哪里?

计算机学科是一门技术性、工程性和应用性很强的学科,并有其基础理论支撑的科学体系。计算机也是一种使用工具,但那种把工具使用等同于计算机专业的狭隘认识,其思维实际上和十多年前认为“会用计算机打字就是会用计算机”如出一辙。计算机专业学生的优势应该在于:通过系统的专业原理性知识的学习与训练,熟练掌握基本的应用技能,并能够“知其然,且知其所以然”,为此专业基础课程的熏陶必不可少。而编译原理就是一门介绍这种原理性知识的综合性专业基础课程。

2 编译原理是计算机专业必不可少的基础知识

计算机专业的理论基础对培养学生的计算机专业素养具有非常重要的作用。

在众多的原理性学习课程中,编译原理主要承担了语言实现原理、方法和技术的介绍。人们借助计算机减轻自己的劳动强度,提高生产率,完成一些人类无法进行的危险、高难度工作。然而所有这些工作都必须借助程序设计语言书写的程序来指挥计算机。非机器语言程序功能的实现必须由翻译程序来完成。正是有了编译程序、解释程序、汇编程序等翻译程序,人们才可以使用自己习惯的语言将需要计算机做的事情描述成程序,并通过这些翻译程序的工作让计算机理解并执行。可以说,没有翻译程序,计算机本文由论文联盟收集整理不可能象今天这样得到如此广泛的普及,网络也不会有今天这样大的吸引力,我们的生活、学习和工作将会是另一个样子。

包括编译程序在内的翻译程序承担了实现语言的功能,它所涉及的知识包括形式语言、自动机理论等语言定义、翻译与实现的基础知识,这些知识可以让学生领悟到计算机理论的精髓,可以让学生从实现的角度重新审视软件的开发,有助于学生对软件的真正认识,对于今后从事应用软件、语言开发平台、编译系统甚至操作系统开发等都是非常有好处的。同时,编译原理是许多课程的一个综合性的实践,它进一步加深了学生对程序设计语言课程中语言基本单位的定义和作用的理解。例如,编译程序使用的一些数据结构和算法是“离散数学”、“数据结构”以及“算法设计与分析”等课程相关知识的典型应用;编译程序对目标代码的存储组织与分配功能的实现原理又与“操作系统”的相关内容相互渗透;编译程序对中间代码的优化功能的实现则是数学、逻辑学、结构程序设计和优化理论的综合应用和专门化。因此,编译的原理性研究、学习和实践,可以多角度提高学生的逻辑思维能力、实践动手能力、编程调试及综合应用能力,有助于切实有效地提高学生的专业素质。另外,编译课程中介绍的知识也是后续许多课程的基础。所以,编译原理是计算机专业学生必须掌握的基本原理,编译原理课程是计算机专业非常重要的专业课程。

尽管经过计算机专业人员的大量努力,大量的工具软件为我们提供了极大的便利,以至于人们只需要通过若干次点击鼠标左键就可以方便地完成很多工作,但这并不是说所有问题都已经解决,还有很多深层次的工作需要计算机专业人员去完成。如果我们的计算机专业毕业生也只会“点击左键”,很难想象他们会开发出更好的工具,或对计算机技术的发展作出应有的贡献。

专业理论基础的学习,可以培养学生的思维方式和洞察力。计算机技术的更新是非常快的,系统的理论基础可以让学生在将来更好地适应新技术,可以让他们在理论框架的指导下寻找解决问题的方法,朝不同的方向发展!因此,“编译原理”课程应该是计算机专业必须的重要基础课。

3 编译技术的应用及需求

编译原理课程的重要性,不仅仅是因为它所介绍的知识是计算机专业理论知识的重要组成,也在于编译程序所使用的一些原理、方法和技术在非编译系统的实际应用中也发挥了很大作用。

例如我们常用的文本编辑工具的实现,涉及到的字词、语法正确性等内容就是编译里介绍的词法分析、语法分析技术的具体应用;又如现在大家上网必不可少的搜索引擎,在处理用户输入的查询要求、对文档资源的特征分析、提取与描述等工作中都用到编译的相关知识:一些特定的应用也可以用到编译中的方法来解决问题,比如用正规表达式描述网络上某种信息的特征等。

随着消费类电子产品的大量开发,嵌入式系统的应用需求也不断增加。在这种情况下,搭建适合的交叉编译环境的工作日益重要,急需掌握编译器构造相关原理、方法和技术的从业人员。这不仅说明了编译知识的生命力,同时也给高等学校计算机专业的编译课程设置带来了新的要求。

现实告诉我们,目前的问题不是计算机专业要不要开设编译原理课程,而是该如何改进编译原理的内容与教学方式,以更好地适应社会的需求。

4 国内外编译相关课程的设置情况

我们查阅了国外一些著名的大学计算机专业的课程设置情况,研究了其中与编译相关的课程安排,发现他们对与编译相关知识的介绍是非常重视的。

美国麻省理工学院的计算机专业课程设置中,与编译相关的课程就有structureandinterpretationofcomputerprograms,computerlanguageengineering(包括基本概念、编译器的功能和结构、基本程序优化技术、理论和实践的交互作用以及使用工具编制软件),mulfithreadedparallelism:languagesandcompilers加州大学伯克利分校工学院的计算机课程设置中,涉及编译的课程有implarnentationofprogramminglanguages,programminglanguagesandcompilers,

structureandinterpretationofcomputerprograms等:英国剑桥大学的计算机科学课程与编译相关的有compilerconstruction和advancedcompilerdesign等。

可以看到,这些学校的计算机专业课程有的设置了专门的编译课程,有的虽然没有设置专门的课程,但在不同的课程中都安排了专门的内容和相关的知识,不管课程设置的方式如何,编译在其中都占有很重要的分量。这足以说明国外在培养计算机专业的人材时,是非常看中其对编译相关知识的掌握的。

在国内,多年来编译原理一直是各校特别是教育部所属高校计算机专业的必修课,曾经也是计算机专业硕士入学考试的必考科目,现在某些学校的计算机专业硕士生入学面试和博士入学考试还必考编译原理。编译原理课程在我国计算机专业人材培养中起了很重要的作用,新形势下开发具有自主知识产权的计算机系统软、硬件,更需要编译原理课程继续发挥作用。

5 关于我国计算机专业编译原理课程设置的建议

一般认为,编译原理课程是计算机专业最难的课程之一,它是数据结构、语言、算法和软件设计等知识的综合体现,学生对这门课程的理解确实会有一定难度,但这正是教师工作需要解决的问题。实践证明,如果让学生认识到了课程内容的重要性,并辅之以合适的教学方法和教学手段,取得良好的教学效果是不难的。

为此,我们思考了新形势下编译原理课程所涉及内容的教学及课程设置的改革问题,如果必须改变现有的课程设置模式,我们建议在编译原理课程的设置上,可以考虑采取以下两种模式:

(1)课程分解式将编译原理课程根据内容分成两门课:一门为必修,可命名为“编译技术”,主要介绍一些为满足基本应用而需要学生掌握的基础知识、方法、技术,以达到语言实现理论基础介绍的目的;另一门为选修,可命名为“编译理论”,主要介绍偏重原理性的、更深层次的内容,方便有进一步深造需要的学生学习。

(2)内容分解式

可以不单独设置一门编译课程,可将课程的内容根据其深浅,涉及到的具体问题,及与其他课程内容的相关性等分解到不同的课程中去,使学生在不同课程的学习中逐步掌握相关知识。

计算机与编程专业篇3

关键词:编程能力;教学改革;计算机

作者简介:侯春明(1979-),男,白族,湖南吉首人,吉首大学信息科学与工程学院,讲师。(湖南吉首416000)

基金项目:本文系吉首大学校级教改课题“计算机课程群教学中技能培养的教学改革与实践”的研究成果。

中图分类号:G642.45文献标识码:a文章编号:1007-0079(2013)28-0163-02

高校信息类专业(如计算机科学与技术、网络工程、电子信息工程、通信工程、物联网工程等)课程体系中,程序设计类的课程占有相当的比重。常见的专业课有“C语言程序设计”、“VisualFoxpro程序设计”、“面向对象程序设计”、“汇编语言程序设计”、“网络程序设计”等。由于信息类专业的应用领域非常强调技术实现,普通高校学生必须具备较强的编程能力,才能满足社会对人才的要求。据统计,普通二本高校信息类毕业生,除了小部分继续攻读硕士博士学位外,绝大部分都在毕业后直接从事专业技术工作。[1]虽然不同专业对计算机编程能力的要求和应用领域各有不同,比如电子信息工程和物联网工程更侧重对硬件的控制和嵌入式方向,而计算机科学与技术和网络工程等专业更侧重系统软件开发和应用软件的开发。但是从整体上看,这些信息类专业都对学生的编程能力提出了较高要求。为了达到相应的培养目标,相关课程群应该在课程实训环节进行改进,以求提高学生的程序设计能力,进而全面提升学生的专业水平和动手能力,为国家和社会培养合格的人才,这是需要深入研究的课题。[2]

一、计算机课程群实训课的特点与不足

计算机课程群的实训课程是连接理论课程与编程能力的桥梁,程序设计类课程群对编程能力的培养尤为重要。但是在教学实践过程中,要达到全面提升学生动手编程能力的状态,面临诸多困难。

1.课时不足

随着高校课程体系的全面改进,为了宽口径的培养学生,以便学生将来能有更广阔的就业领域,信息类的各个专业被加入了越来越多的课程,程序设计类课程也面临着课时紧缩的问题。一方面要保证理论课的讲授与教学,另一方面要保证学生动手编程能力的提高。这样理论课程的时间显得非常紧张,必须在有限的时间内尽可能的把该语言中的各种各样的知识点传授给学生,还要保证他们能有足够的课时在实训课环节完成相关的实训内容,为此在时间和教学上就要合理安排。

2.技术的快速发展

信息类专业发展速度迅猛,很多技术在过去的几年快速的诞生和崛起。传统的程序设计类课程主要是侧重对基本语法的掌握和中小规模问题的分析与解决。比如运用一些经典的算法解决某些数学问题,并编程实现。这样的培养模式的结果是毕业生的动手实践能力无法满足社会上it企业对人才的要求。

3.师资力量不足

高校教师的教学负担很重,除了要完成各种教学和科研任务外,还要负责学生管理工作。从全局来看,高校的信息类专业是新兴专业,很多高校的该专业教师以中青年为主,部分教师还需要进一步进行深造,比如攻读博士、博士后、做访问学者、参与各种学术交流等。因此,在计算机程序设计类的实训课中,很多时候都是一个教师辅导数十人学生。师资力量不足也是制约学生的计算机程序设计能力全面提高的重要因素。

二、计算机课程群实训课的教学改革建议

1.针对不同专业进行有重点的课程设计

为了提高计算机专业毕业生的职业素养与编程能力,学校应该加强学生的实训教学环节。[3]虽然信息类的不同专业都会开设各种程序设计课程,但是不同的专业侧重点明显不同,比如电子信息、电子科技、物联网等专业,从专业培养目标上看更接近对硬件的控制。在实训课的综合训练项目以及相应的课程设计的培养环节上,可以考虑做单片机、嵌入式系统中的项目。将编程能力训练放到具体的硬件控制项目中,既符合相关专业的专业培养目标,又能帮助学生有效的将程序设计课程与硬件类课程群进行融合,既提高了编程能力,又提高了综合的专业知识的应用能力。比如C语言程序设计,如果只是反复的训练经典的算法和习题,编程能力的提高还是有限。但是如果学生完成一个软硬件相结合的系统设计,对C语言在单片机控制或嵌入式中的应用开发能力就会快速增强。当然,对于计算机科学与技术或网络工程这样的专业,其专业培养目标更偏向于上层应用,也可以选择相关的实用性的软件开发项目(如数据库系统等)来训练学生的动手编程能力。在完成项目的同时,学生一方面加深了对相应专业课的认识,另一方面也加强了编程能力。

2.充分调动不同学生群体的学习积极性

在高校的专业人才培养模式中,不能按照一个固定的模式要求所有的学生,必须考虑到学生自身的实际情况,调动不同学生群体的积极性,才能最大限度的提升学生的程序设计能力。比如现在很多高校都将计算机等级考试和学位证挂钩,非计算机专业的学生必须通过计算机等级考试,才能顺利获得学位证。针对这一学生群体,应该将针对等级考试的训练合理的放入到实训环节,同时鼓励学生积极主动的多做等级考试的习题,并在上机实训的过程中多做题库中的题。一方面可以提升编程能力和动手能力,另一方面也能提高通过等级考试的概率。

最近几年,高校程序设计比赛以及其他的一些设计类比赛越来越受到高校和学生的重视。对于有志于参加全校、全省、全国甚至世界级比赛的学生,在实训环节中可以积极引导他们进行相关的训练。比如参加aCm程序设计大赛的学生,可以鼓励他们在实训环节中,在完成正常学习任务的基础上,充分调动主观能动性,多练习aCm题库中的习题,由浅入深,步步推进。而立志参加嵌入式系统设计的学生,也可以主动去编写一些嵌入式环境中的程序。使学生群体在提高自身编程水平的同时,也能更加接近相应大赛的要求,收到一箭双雕的效果。还有一些学生,立志于从事应用系统的开发,比如网站系统设计、数据库系统设计、电子商务系统、智能手机应用系统、物联网应用系统等。该学生群体对学习的实用性比较看重,更愿意在毕业前就找到专业领域的一个主攻方向,孜孜不倦地钻研该方向,往实用的方向发展。结合这些学生的兴趣和爱好,应该在相关的实训训练和课程设计中鼓励他们多动手写程序,进而力争做出对社会有实用价值的应用系统。在提升了编程能力的同时,也能更多的为社会作出贡献。

3.加强对编程能力的考核

传统的教学模式注重对知识的考察,计算机类课程群也不例外。一门专业课学习完成后,最常见的考核方式就是闭卷考试。这种方式可以很好地检查学生对该课程知识体系的掌握程度,但是对编程类的课程群来说,闭卷考试很难全面考核学生的编程能力。在教学实践中,经常遇到书本知识掌握良好但上机编程能力较差的学生。为了促使学生参与编程能力训练,应该加强对编程能力的考核。比如组织上机考试,将考试成绩纳入到整体的考核成绩中;也可以鼓励学生提交应用软件系统。但是上机考试在实践中也存在一定的困难,如普通考试,一个班级只要2个监考教师即可,但为了避免学生作弊,计算机上机考试需要大量的教师参与监考。另外,如果是固定的几个习题,在机房的环境中不便于监考,而如果是从海量题库中随机抽题,又很难做到绝对的公平,因为有的学生可能抽到较为容易的题目,而有的学生则可能抽到较困难的题目。但是从发展趋势上看,为了提高信息类专业学生的编程能力,加强对编程能力的考核还是非常有必要的。

4.在校企合作中加强编程能力的培养

信息类专业学生的一个主要就业领域是it企业,如何培养适应现代it企业的合格毕业生,一直是高校信息类专业教师研究的重要课题。外部社会和技术变化越来越快,高校中的很多课程和教学变化往往不能及时和外部接轨。为了解决这个问题,可以考虑广泛开展校企合作,选择一些专业对口的大企业,以实习的方式组织学生去企业学习,在实践中提高学生的程序设计能力。高校的程序设计类课程更多的是注重学生知识体系的建立和基本编程能力的培养,而各类it公司更看重的是学生的实际研发能力。高校应该尽量和it企业开展合作,一方面鼓励学生积极参与到企业的实际项目研发中,另一方面也可以扩宽学生的就业渠道,全面提升学生的编程能力。但是实现起来也有诸多困难,比如:高校的课程安排紧凑,学生要挤出较长的时间参与企业的软件研发,时间上比较困难;有的高校位于经济不发达地区,高校所在城市很难找到能提供相应机会的企业;低年级学生没有技术实力参与到企业的研发中,而高年级学生尤其是大四学生,又面临找工作的就业压力,到处参加面试也会给相关的实训和实习工作造成影响。

三、在提高学生编程能力上的一些实践

作为二本高校的计算机教师,在教学过程作了一些有益的教学改革尝试,初步取得了一些效果。作为班主任,在自己管理的班级中对学生进行分类,钻研应用技术的学生,鼓励他们组成兴趣小组(比如嵌入开发小组、电子设计小组、信息安全技术小组、数据库应用技术小组等),在实际项目的研发中提高编程能力。这些学生毕业后大部分成长为国内一些it企业的技术骨干,而将来选择从事it领域非研发方向(如管理、市场、技术支持类工作岗位)的学生,则鼓励他们学好基础知识,扩宽知识面,同时积极参加计算机等级考试和其他的一些技术类证书考试。为他们收集大量的考试资料,调动相关学生的学习兴趣,鼓励他们多通过相应考试。对于立志参加各类学科竞赛的学生,则鼓励他们更多的将精力放到比赛的训练和准备上来,并指导部分学生获得了较好的竞赛成绩。

四、结论

针对高等院校尤其是二本高校计算机课程群的实训课程的现状进行了分析,特别是针对程序设计能力不强的现状进行了分析,给出了在程序设计类课程群的实训环节进行教学改革的一些建议,并总结了为提升学生编程能力所积累的一些工作经验,以期为广大的工作在教学岗位的计算机教师提供参考。

参考文献:

[1]朱建凯.普通高校计算机专业实训教改探索[J].长沙大学学报,2009,(5):112-113.

计算机与编程专业篇4

关键词:计算机类课程;培养计划;编程思想;逻辑联系

中图分类号:G642文献标识码:a文章编号:1009-3044(2013)19-4473-03

根据高等教育对于高校专业的设置,自动化专业一般包括以下计算机及其相关课程:C语言、面向对象程序设计、数据库、微机原理与应用、单片机、可编程程序设计(pLC)、虚拟仪器设计(Labview)、嵌入式系统和DSp程序设计等。计算机类课程的教学,对于专业发展具有非常重要的意义;对于考研的同学来说,考研的复试课程一般都包括C语言和微机原理这两门课程,导师都希望自己的学生会写程序代码;至于参加工作的同学来说,其意义更为重要:众所周知,现在这个社会,it行业的工资福利是最好的,然而这个行业基本上都要求学生有一定的写代码的能力,传统的自动化企业,需要学生会pLC编程,懂汇编语言编程;现代意义上的自动化企业,更多要求学生会C/C++/C#系列程序设计,而不仅仅是简单的硬件设计问题;学生的计算机能力的培养,是时代的需求;但是自动化专业学生普遍存在编程能力不足的弊病,而且作为非计算机专业,不会有完备的计算机课程教学,也不一定有具备专业水平的教师;根据我校自动化专业的多年教学与改革,谈谈几点看法。

1目前专业教学中存在的问题和现状

1.1培养计划制定不合理

培养计划制定的好坏,关乎学生培养的质量,是教学的指挥棒;但是,由于每个高校的师资力量,实验设备等诸多条件不一样,每个高校应该制定适合自己学校的培养计划,当然,核心的内容不能改变;学生从高中到大学,首先有一个学习方式的转变,学习方法和学习思维能力的转变,不是高中那种“填鸭式”的学习,应该是一种主动地学习方式,但是能力的培养有一个过程,不能一蹴而就,因此,学生的培养计划的制定既要考虑培养的目标,也要考虑学生能力的培养,要遵循教学规律。

另外,现代社会是it社会,it行业的薪资水平绝对处于领先地位,远高于其他行业,而程序设计是进入这个行业的敲门砖;在高校培养这个层面上,从国家到学校都有对于学生的动手能力培养的各种竞赛,例如:有挑战杯、电子设计、机械设计和航模等部级的各种科技竞赛,相应有省一级的比赛,很多学校也有;国家鼓励大学参加卓越工程师培养计划也是一个很大的方面,像企业每年举行的西门子全国比赛和虚拟仪器全国竞赛也很多;仔细分析这些比赛可以看出,每一项基本上都需要计算机知识,这就使得很多高校为了获得荣誉过早开设计算机类课程,有很多专业在大一上学期开设《C语言》课程,有的甚至连计算机文化基础都没有学就学编程,这违反教学规律:计算机语言的学习,我们不仅要掌握语法,更重要的是一种编程思想,没有编程理念,掌握语法是没有用的;也有的学校把《C语言》与《面向对象程序设计》在同一个学期开课,也是不对的,一种是面向过程的程序设计语言,一种是面向对象的程序设计语言,两门课程的编程思维完全不同,放在一起,容易搞混;没有处理好《微机原理与应用》、《单片机与接口技术》课程与《模拟电子技术》和《数字电子技术》课程之间的关系,后者是前者的先修课程,掌握了基础课程再来学习单板机的课程效果会更好,不能因为学生尽早培养学生的动手能力而提前开设计算机类语言的课程,学生既没有学习能力,没有思想,也没有相关的理论基础,学的怎么样可想而知。

1.2学生学习盲目性,普遍编程思想缺乏

计算机类课程的学习方法完全不同于高中的学习,并且内容与高中内容没有延续性,这是学生学习计算机时具有盲目性的关键原因,学生不知道学习计算机类课程有什么用,应该怎样去学,与自己所学的专业有什么关系?有很多学生对自己的专业也不太了解,何况,专业的了解也需要一个过程,也是一个渐进的过程;也不能等到学生去了解专业后再去结合专业学习计算机,这是一个矛盾问题。如果学生不知道课程的用处,学习积极性也不高。高中的学习是一种填鸭式的学习,学习缺乏主动性,况且学生所要掌握的知识就那点东西,然而大学计算机课程包括多个方面,比如《C语言程序设计》,学生编程就必须弄懂VisualC++编程环境,懂一点数据结构和操作系统方面的知识,程序通不过,不一定就是程序的问题,可能是编译系统问题。知识点多而杂,学生学习没有一个主线,究竟先掌握程序语法,还是去掌握编程思想,不知何去何从,这两方面,对于初学者来说都很重要;学习阶段,程序的语法就很难对付了,更不用说提高编程思想。

1.3教学没有突出计算机语言之间逻辑联系,没结合专业实际

没有突出计算机语言之间的逻辑联系,教学没有结合自动化专业实际情况,学生对于程序设计的语言没有一个统一的思想;C语言课程,是学生学习的第一门计算机语言,是其他语言的基础,对于其他语言的学习的好不好至关重要;微机原理与单板机,是自动化专业的核心课程,一般采用汇编语言编程,不同于传统的C语言,汇编语言编程与C程序设计之间是不是没有逻辑联系呢?如果没有联系,那么学习C语言有什么用呢?这点都必须讲解清楚;汇编程序设计究竟与自动化专业有什么联系,在微观上程序究竟是怎么实现的,解决了自动化专业中那一方面的问题,具体的应用在什么方面,把这些讲清楚,对于学生语言的学习很有帮助,纯粹讲解程序的语法是没有用的,突出逻辑和思维,这样有利于学生以后自学。

前面提到,从国家到学校都有很多的这样的那样的竞赛,我们学校每年都有面向大学生的“三小制作”创新性设计,教学可以和这些竞赛相结合,计算机类课程老师应该积极带领学生参加这样的比赛,既有助于老师教学水平的提高,也有利于学生能力培养。

2解决方法

2.1制定合理的专业培养计划

培养计划的制定既要符合高等教育的规定,同时也要兼顾学校具体的办学情况;对于计算机类课程,一定要考虑学生能力的培养,能力的提高是需要时间来沉淀的,一年级上学期开计算机类课程是不合适的,这个学期是高中学习方式向大学学习的转变,是一个过渡阶段,对大学各方面的适应阶段,这学期不适宜开很多的课程。根据我校自动化专业的发展,十多年计算机课程的教学,考虑课程之间的逻辑关系和课程之间的先后关系,结合当今社会特别是it行业对计算机课程的强烈需求,对计算机类课程安排开设时间建议作如下安排,如表1所示:

作为微机原理和单板机这样课程的先修课程,《电路分析》、《模拟电子技术》和《数字电子技术》分别在第2、3和4学期开设比较合理,数电学不好,学生对于芯片的逻辑电路的理解会有难度,不可能有更深一步的发展,程序本身就是一种逻辑思想,在这一点上两者是统一的。

2.2教学具有明显的专业特性,注重学生能力的培养

对自动化专业而言,计算机专业课程的设置应该是为专业服务的,应该与计算机专业课程学习有区别,教学应具有明显的专业特性,应该结合专业实际进行计算机课程教学;自动化专业属于电类的宽口径专业,可以从事像pLC和单板机等传统意义上的自动化工作,也可以从事现在热门的嵌入式和DSp方面的开发,也可以从事通讯行业的研究;因此,教学应该结合这几个方面来进行。测试与控制技术,是自动化教学的重点内容,是一个重要的结合点,完全可采用这方面案例来教学。例如:在C语言系列教学中,我们可以结合数据采集的例子来讲述;采用北京阿尔泰公司的基于pC104总线的aRt2932采集卡,数据采集的核心程序如图1所示。

网上有很多与自动化相关的数据采集、控制、aRm和DSp程序代码,教学过程中可以大量采用,远比书本上的知识来的直接,学生学习也有兴趣,书本上一些语法知识,学生课余时间看看就够了,这种教学方式也培养学生的动手能力。

2.3建立合理的考核体系

很多高校进行了学分制改革,大多数高校把学生参加各类竞赛所取得的成绩都折算成学分,这非常合理;计算机类课程考核也应该与此挂钩,比如参加全国虚拟仪器竞赛的学生可以免修《虚拟仪器》课程,参加全国电子设计竞赛的学生可以免修《单片机原理与应用》等课程,考试不能拘泥于试卷,采用灵活的方式,既能调动学生参加各类竞赛的积极性,又能学好计算机课程和专业课程,对于学生参加工作也有促进作用。

3结论

依据自动化专业的培养目标,根据学校师资力量和实验设备的情况,制定合理的培养计划;理论联系实际,有针对性,有的放矢,着重培养学生的动手能力,注重编程思想的培养,树立学生写程序代码和写好代码的信心;计算机类课程的学习和其他课程的学习相互促进,培养自动化方面的现代化合格人才。

参考文献:

[1]赵德安.电气信息类学生计算机应用能力培养体系改革[J].电气电子教学学报,2009,31(1).

[2]孙东方.如何提高高校实践教学质量的几点体会[J].高教论坛,2005(4).

计算机与编程专业篇5

计算机专业主要学什么

计算机专业类包括计算机科学与技术、软件工程、网络工程、信急安全等专业。其中,最核心、最基础的专业就是计算机科学与技术,也是各院校计算机系招生的主要专业。

计算机类专业的学生所要学习的不仅是会使用,而是要学习计算机的墓木原理、基本结构、基本算法、基本设计等。具体而言,一般人所说的“会操作计算机”也就是会使用些现成的软件,而计算机专业的学生要远远高于一股的使用者,他们要研究如何更好地设计、制造计算机,更好地开发计算机的新系统、新软件、新功能。

计算机专业核心课程有电路原理、模拟电子技、数字逻辑、数字分析、计算机原理、计算机系统结构、计算机网络、高级语言、汇编语言、数据结构等。以计算机科学与技术专业为例,该专业的基础课程主要包括数理类课程电器类课程、计算机类课程。由于计算机科学与技术专业是以理学相关学科为专业基础的,因此学生需要具备数学分析的思想和方法。而计算机跟人们常见的冰箱、电视等电器一样,属于电器设备,所以还要学习电路分析等电器类基础课程。

计算机专业适合女生学吗

女生其实也是适合学计算机的,计算机是一门软件型学科,它对体力等的要求不高,现在很多职位都会用到计算机,所以计算机这个专业也挺适合女生的。计算机还要学些编程基础,编程主要是算法逻辑分析和语言规则。从理论上来说,只要有一定的逻辑能力,女孩编程都不会大差。因为很多女生的语言能力要超过男生。

计算机与编程专业篇6

计算机大类学生依托在宁波大学科学技术学院的理工学院进行培养,理工学院的人才培养目标是以技术组合创新为特色的产学研结合培养模式,培养具有技术组合创新应用能力、有一定理论素养和较强工程能力的“两强一高”应用型专业高级人才,在这个大的指导原则下,要求所有课程以群的合力,从培养学生的动手能力切入,在实践中的感性材料丰富之后,引导学生进入理论创新。

通过对当前以计算机英语为题的教材与教学资料分析我们发现,几乎目前所有的教材都没有考虑到独立院校计算机专业学生的特点,大部分教材都试图在一本书中对计算方方面面的知识如计算机结构、算法、编译原理、操作系统、计算机网络等知识进行介绍,就我们过去使用的情况来看,发现学生难以在一个学期完成学习任务,在完成之后,所学知识也无法转化成动手能力,这与我院的教学培养目标是不一致的。

寻找课程改革的切入点

为了对《计算机英语》课程进行改革探索,我们专门对宁波大学科技学院的计算机大类的毕业生进行了调研,调研结果如表2所示。通过调研我们发现,毕业后依然在计算机方向就业的学生中,绝大部分都在进行编程开发工作。针对这种特点,我们决定把《计算机英语》课程改革的切入点与培养学生的编程能力的大目标挂靠,接下来我对当前计算机大类的大四学生所学的编程语言情况进行了调研,调研结果如表3所示,通过调研我们发现大部分学生在校期间都学习两到三门编程语言,而在调研的同时我们也发现大部分学生在学习完多门编程语言后依然有不少问题,如要通过网络获取该门语言的编程文档时,由于现在计算机专业的最新编程文档的大部分是以英语,学生有阅读困难,同时由于学过多门编程语言,在编程的时候,多门语言之间容易出现混淆,如表4所示。在通过相关的调研数据综合分析基础上,我们认为可以针对独立学院的特点,以培养学生的编程能力大目标为指引,从计算机英语教学材料组织入手,对《计算机英语》课程进行改革。

我们所做的一些改革尝试

1.语料选择

为了培养巩固学生的编程能力,从本专业的角度出发,我们自编了一套讲义教材,鉴于面向对象编程语言已经成为当前的主流编程语言,该教材汇编了Java,C#,C++等几门语言的编程规范,由于这些语言的编程规范都是计算机业界主要的it公司所制定,而且是以英语为媒介,所以在指导学生学习这些材料的同时,学生在接受实际工作的专业英语的教育,又由于讲义的内容讲授的是编程语言,而这恰好满足了学生在遇到实际编程问题的时候,需要借助英语了解国际上最新动态的相关专业术语与词汇,为学生通过《计算机英语》的学习,将所学知识投入使用提供了直接的保证。在实际的教学中,我们发现,将几本语言的编程规范汇在一起介绍,将各门语言的类命名、接口命名、方法命名、单行注释、多行注释、段落注释等合在一起来对比分析。

2.教学方法

从体现专业英语教学的特点角度出发,我们在讲课的过程中,对英语语言的语法不做重点的讲解,也不只是将讲义进行翻译讲解,而是将授课内容与动手关联,学生在学习完相关章节后,要求动手编程,将课程内容中的编程规范实际的应用到编码中,学生的代码规范程度成为我们《计算机英语》课程学习过程中的考核要点,体现了宁波大学“学以致用”的校训。

3.教学效果

为了更好的训练学生对授课概念的掌握,我们针对每个知识点,都布置了编程作业,要求同时用3种语言完成,且要求学生按照相应语言的编程规范进行编码。通过本课程的授课,学期末有88%左右的同学认为掌握了两门以上的语言,见表5所示。

结语

计算机与编程专业篇7

1软件系统设计能力现状与分析

多年来,我们从本校计算机本科专业学生的毕业实习、毕业设计,就业应聘、用人单位的考核及反馈的意见来看,学生较好地掌握了计算机科学与技术专业的基本理论和专业知识,具备了计算机的基本操作、程序设计方法、数据库建立和网站建设等专业能力,有少数学生还具备了较强的软件系统设计能力。从学生的就业情况统计分析来看,我校计算机科学与技术专业学生约有10%左右的学生受聘于软件开发企业,从事软件系统的设计与开发工作。也说明我们现在培养的计算机本科专业的学生中,只有10-15%的学生软件系统设计与开发能力得到软件公司的认可,他们的软件系统设计能力比较强的,能够达到软件公司的要求。但是,大部分学生的软件系统设计能力相对较弱,不能满足社会的要求。我们通过对本校计算机本科专业的课程体系结构、教学过程的各个环节进行研究分析,认为学生的软件设计能力还存在如下几点不足:

(1)算法设计与分析能力不足。算法设计与分析是计算机本科专业学生编程的基础,是人类借助计算机解决实际问题的重要一步。但是,从教师的教学以及学生的学习,都没有得到很好的重视。主要体现在:教师在程序设计课程的讲授时,对算法分析与设计讲解得不够,只偏重于程序语句的解读,忽视算法设计过程的讲解和训练;而学生也只满足于课程简单算法的代码描述,不重视算法的分析与设计过程的练习,结果造成学生仅仅掌握了一些简单问题的编程,而对较复杂的实际问题的程序设计则缺乏独立的解决能力。

(2)学生读程与编程量少,训练不足。目前,学生阅读程序量很少,主动找相关程序来阅读理解的不多,大部分只是为了应对作业去查找一些相关的代码。任课教师对学生有阅读程序的要求,但真正对学生进行训练和严格要求的却不多,结果有部分学生看不懂常用算法的代码或复杂一些的程序。学生在校期间,编写的程序量少,大部分学生只满足于完成老师布置的编程作业,没有再多做练习,有些学生四年时间编写的代码总量都不到5000行。但是,按照最基本的要求,计算机专业学生的编程至少应达到20000行到50000行以上的程序量[2]。因此,学生的软件系统设计能力不足,这是一个主要的原因之一。

(3)软件综合设计能力不足,接触的案例少。软件系统设计是一个综合设计过程,要求学生掌握软件工程、数据库、面向对象程序设计等多方面技术和具有综合应用能力。但是,学生掌握的是分散的、各自独立的技术,综合多门技术的软件设计能力明显不足,有些会做系统的界面,却不会设计数据库;有些系统界面和数据库都建立了,却相互不能连接;有少数学生直到毕业还设计不出一个能够正常运行的简单系统。原因是重视了各门课程的教学,而忽视了能够提高学生软件综合设计能力的案例分析课程和综合设计实践课程的设置与教学。学生接触的软件系统案例少,没有得到较为完整和系统的训练。

(4)参与软件系统开发的机会少,缺乏应有的锻炼和实践经验。很多学生的软件系统设计水平仅停留在模仿教材的例子上,还谈不上设计出能够解决实际问题的系统。这与学生参与软件公司项目开发或教师项目开发的机会少有很大的关系。目前,学生到软件公司实习时间短,公司不愿意将开发项目这样重要的任务交给实习生来完成,学生没有机会直接参与公司的项目开发,有些能参与,也只能参与其中的一小部分;教师承担的开发项目能够接纳的学生数量有限,不能满足学生的实践需要。因此,学生缺乏软件系统设计的实践经验和应有的锻炼。

2培养学生软件系统设计能力的方法与途径

2.1读程与编程能力的培养

我们根据学生读程量少,掌握常用算法代码不多的情况,在编程基础课程的教学中,采用“读程目标管理”方法。要求任课教师在一门课程的教学中,必须为学生提供500个以上的程序作为阅读材料,并对学生的读程能力进行训练。要求学生必须阅读并理解500个以上的程序,学生通过阅读掌握一些常用的算法。课程结束时,教师对学生进行单独的读程理解考核,如:给出一个程序,要求学生在规定的时间内讲解出程序实现的功能或运行的结果。考核合格,给一定的学分,不合格,可以重考,直至合格为止。对于软件系统设计课程,教师为学生提供1~2个实用系统的原代码,作为案例让学生阅读理解;在此基础上,要求学生阅读不少于5系统的原代码,以掌握面向对象软件系统的基本架构、功能调用以及常用功能子程序的算法设计与实现。在扩大程序和系统原代码阅读量的同时,不断提高学生的编程能力。我们采用“编程目标管理、逐门课程分解”的方法,将编程总量按照开设的语言设计课程的重要程度逐门分解编程量。如:假设要求每个学生四年的编程总量为至少要达到20000行,最好能达到50000行以上。则根据开设的C、C++或C#、、SQLServer、案例分析与设计等程序设计系列课程,要求学生每门课程的编程量都在5000行以上,最好能达到10000行以上。此外,还通过组织学生参加系级的、校级的、省级甚至部级的程序设计大赛等形式,促进学生编程能力的提高。

2.2算法分析与设计能力的培养

在开设的专业基础课程中,C语言程序设计、数据结构等课程对于培养学生的算法设计能力至关重要。我们采用“对算法步骤描述再用标准语言编写代码实现,阅读程序然后归纳出算法的步骤”正反双向训练的方法,以提高学生的算法设计能力。教师在课堂教学中,必须严格按照程序设计的过程和方法进行讲解,对解决的问题首先要做好算法分析与设计,然后再用标准语言进行描述,并在学生的作业或编程练习中严格要求,使学生逐步养成编写代码之前,先作好算法的分析与设计,逐步培养学生解决实际问题的能力和方法。通过读程训练,反向要求学生描述程序实现的步骤,归纳出程序实现的功能。通过这样正反两方面对学生的算法分析与设计进行训练,学生的算法设计能力就会得到切实的提高,从而促进学生编程能力的提高。

2.3软件系统设计能力的培养

软件系统设计是指在面向对象程序设计语言基础上,根据软件工程的设计原则、设计模式以及模块化的设计方法,设计出一个比较完整的软件系统构架、前后台界面、各模块之间的调用关系以及各功能子模块的详细设计。我们通过以下三种途径,提高学生的软件系统设计能力。

(1)采用“案例教学与学生综合设计训练”相结合的方法,给学生开设《案例分析与设计》课程。通过实用的系统案例,对C/S和B/S系统的总体构架、前台、后台设计、各模块之间的调用、各功能子模块的详细设计进行逐项训练。在此基础上,要求学生参考系统案例进行软件系统的综合设计练习。根据实际的应用,设计出2-3个软件系统,并编程实现。

(2)采用“导师制和项目驱动”方法,通过软件系统开发实践活动,培养学生的软件综合设计能力。如:我们制订了“两个一”工程实施方案,实行本科学生导师制。导师让学生参与自己的项目研究与开发,或给出具有解决实际问题的项目,以项目方式驱动学生进行软件系统的设计并实现。学生在导师的指导下,在毕业实习前,利用课余时间设计出“1个”软件系统和“1个”网站,并以此作为衡量学生能否参与毕业实习的条件,以此促进学生软件系统设计能力的提高。

(3)采用“学生参与教师的项目开发和到软件公司实践”相结合的方法,增加学生的实践经历,提高学生的系统设计实践能力。我们鼓励有项目的老师吸收本科学生参与项目的设计与开发,使学生尽量接触到真正解决实际问题的项目开发过程中。另外,我们还与多个软件开发公司签订“学生实习实训示范基地”协议,建立长期稳定的学生社会实践基地。学生到软件公司实践基地分两次进行,第一次由公司进行项目设计与开发过程的培训,第二次是实习,学生根据公司的安排,参与到项目设计开发的各个开发小组,参与具体的项目开发工作。我们通过这样的方法和途径,不断提高学生参与软件系统开发的机会,使学生获得更多的锻炼和实践经验,提高学生的软件系统设计能力。

3实践与效果

为了提高计算机本科专业学生的软件系统设计能力,从2006年开始,我们在计算机科学与技术专业的多个年级按照上述方法和途径开展教学活动,对学生的读程、编程以及综合设计能力进行训练,取得了较好的成效,学生的读程和编程能力得到了进一步的提高。在提高学生的软件系统设计能力的实践活动中,我们从如下三个方面开展实践活动。第一,在学生中开展“两个一”工程活动,实行本科学生导师制。2006、2007、2008级的计算机本科专业学生共计210多人、教师80多人次参与“两个一”工程的活动,设计与开发出300多个初级的软件系统或网站。其中,有些学生设计开发的系统或网站具有较高的实用价值和实用性。第二,派出8批次共160多名学生到实习实训示范基地进行实训和实习,直接参与了软件开发公司的软件项目设计与开发。第三,组织部分学生参加省级、部级的计算机应用比赛、程序设计比赛,网页设计等比赛,其中,8人次获得部级的奖项,16人次获得省级奖项。通过几年的实践,学生的软件系统设计能力普遍提高,学生的毕业设计完成得比以前更好、更完善,设计的系统功能更强、界面更漂亮、更实用。学生的就业率在不断提高,能够应聘到软件开发公司工作的学生也在不断增多。我们提出提高学生的软件系统设计能力的方法与途径,通过多年的实施与实践,取得了较为理想的效果。

计算机与编程专业篇8

关键词:微型计算机技术;教学改革;专业建设

引言

专业建设是高等学校人才培养的核心与基础,也是课程体系设置与教学改革的关键和切入点[1]。内蒙古科技大学自动化专业获得2020年度国家一流专业建设点,也是国家首批部级卓越工程师教育试点专业和内蒙古自治区首批品牌专业。专业核心课程教学改革是国家一流专业建设的重要内容[2,3],是人才培养的核心任务,特别是应用型人才培养的一流专业建设,专业核心课程的实验以及实践教学环节的改革已成为迫切需要解决的问题。为此,本文以我校国家一流专业建设点-自动化专业为契机,针对该专业核心课程“微型计算机技术与应用”,从教学目标、教学模式以及课程实验等方面开展教学改革研究与实践工作,全面推进应用型人才培养的新模式,开创我校国家一流专业-自动化专业核心课程改革的新局面。

1教学目标

依据自动化专业人才培养目标,构建了“微型计算机技术与应用”课程的教学目标,根据教学目标进一步提出了该课程的课程目标,通过课程目标考核学生专业知识和实践动手能力的掌握程度。本课程的教学目标如下。通过本课程的学习,要求学生掌握微型计算机组成原理、mCS-51单片机的硬件组成及工作原理、指令集、微型计算机接口技术、C51程序设计及单片机应用系统的设计方法,使学生具备一定的应用“单片微型计算机”实现应用系统开发的能力。根据教学目标,制定了相应的课程目标,具体如表1所示。

2教学模式改革

为了提高课堂的教学效果,改变传统课堂教学模式,采用“板书+多媒体课件”与实验教学“实验室实验台”不同步的教学模式。即传统的教学模式下理论教学和实验教学是分离的,实验教学由专门的实验室老师在实验箱上完成。这样造成实验教学与理论教学不能有效配合,不利于学生对理论知识的理解。通过使用pRoteUSeDa仿真软件,搭建单片机虚拟实验平台,可实现微型计算机技术与应用课程的课堂教学与实验教学同步进行,取得了良好的教学效果。本次教学改革后可开展的实验教学内容如表2所示。

3课程实验教学效果

在理论教学过程中,例程的讲解可以采用pRoteUS绘制硬件电路图,采用KeiL软件编写程序,且KeiL支持汇编语言和C语言,其中,汇编语言有助于学生对单片机硬件工作原理的理解,C语言编写方便,并且是嵌入式系统编程的主流。KeiL开发环境下编写好程序经编译生成HeX文件,然后加载到pRoteUS硬件电路模块中,通过运行输出实验结果,实验效果更加直观,使课堂气氛变得活跃、生动、有效。接下来分析一下基于pRoteUS的单片机教学实例。本文仅针对定时器实验进行分析。定时器作为单片机基本外设之一,利用定时器很方便产生周期性信号。用定时/计数器t0编程实现从p3.0引脚输出周期为500μs的方波,系统时钟频率为12mHz,具体电路图如图1所示。通过KeiL环境下编译程序,并且生产HeX文件,在pRoteUS下加载生成的HeX文件并运行,可以通过示波器观察输出波形,具体如图2所示。通过图2示波器可以生动形象地反映单片机的输出结果,便于学生们对单片机运行状态的理解。

计算机与编程专业篇9

1地球科学信息与技术专业中数据结构的教学现状与困境

笔者对中国海洋大学、同济大学、中山大学、浙江大学、中国地质大学(武汉)、中南大学、河南理工大学、石家庄经济学院8所院校的地科专业数据结构课程教学现状进行了调查和分析,认为该专业数据结构课程教学存在着一些亟待解决的问题。这些问题主要表现在以下两个方面:

1.1教学内容与专业应用脱节笔者对上述8所学校的地科专业的基础信息进行了汇总和分析(见表1),发现8所学校的地科专业成立时间比较晚,集中在2002年至2006年,而且依托学科多为地质学、勘察技术、地球物理学、测绘学,科研实力雄厚、教学经验丰富,但缺乏计算机学科方面有经验的教师。目前大部分从事数据结构教学的教师来自于计算机学科,这些教师具有丰富的计算机学科的专业知识,但缺乏的是如何把数据结构同其本专业进行有机地融合,使学生误认为学习数据结构仅仅是为了掌握相关的计算机技术,而与本专业的知识结构没有直接联系。

1.2学生的计算机语言基础较为薄弱数据结构就教科书的内容而言,主要介绍一些算法,理论性强,大部分算法只给出主体的部分,通常采用伪代码、C语言或者类C语言描述,如果没有很好的计算机语言基础,学生就不能很好地在上机实践中编写完整程序去检验算法[2]。目前,地科专业学生不重视高级语言程序设计课程的学习,导致其计算机语言基础较为薄弱,影响其对数据结构课程内容的理解和实践。

2数据结构课程改革的总体思路

2.1依据专业特色调整教学内容和教学重点由表1可知,8所学校地科专业的专业特色各不相同。依据专业特色调整数据结构课程的教学内容和教学重点,把地球信息科学专业知识与数据结构理论进行有机地融合,使学生明白数据结构课程在本专业知识体系中的位置。

2.2注意前导课程的复习针对学生计算机语言基础较为薄弱这种情况,在数据结构正式开始学习之前需要复习一下高级程序设计语言的相关知识,如数组、指针、函数(特别是指针做函数参数)、结构体等[3]。然后,对刚进入本课程学习的前几个算法给出完整的程序并加以详细讲解,使学生理解算法和源程序之间的关系。

2.3协调高级语言程序设计与数据结构关系为避免高级语言程序设计与数据结构课程使用的计算机编程语言不一致而导致数据结构课程教学效果差的情况发生,需要保持高级语言程序设计与数据结构编程语言一致、编译平台一致。在数据结构教学过程中应重视学生实践能力的培养,培养学生在编译平台环境中使用高级语言编写完整程序去检验算法的能力。

3数据结构课程改革的具体实施

3.1加强学生计算机编程能力的培养力度首先需要加强地科专业学生计算机编程能力的培养力度。学生应该明确自己学习高级语言程序设计的目的,不是把它作为纯理论的课程来学习,而是作为应用技术来掌握,为数据结构课程的顺利学习提供扎实的应用基础。根据这种情况,在这一模块的改革过程中需要对高级语言程序设计和数据结构课程教学的内容进行微调,在高级语言程序设计课程原有内容的基础上添加几章“数据结构”的基础内容,在数据结构课程正式开始学习之前需要复习一下高级语言程序设计的相关知识,使两门课程内容顺利过渡和衔接。这样既提高了学生的编程能力,也使两门课程融会贯通。

3.2培养学生算法验证能力在第一模块的基础之上,学生还必须理解数据结构基础理论,具有算法验证的能力。简单地说,数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作等的学科。对于学习数据结构的学生,不能靠死记硬背,必须理解数据结构中的各类定义,抓住研究数据结构的规律,这一规律就是,在研究一种数据结构时,要掌握它的逻辑和物理关系,逻辑关系在其定义中阐述,物理关系在它的存储结构中说明。另外,数据结构学习一定要要求学生自己独立完成代码实现,虽然有时候学生理解算法内容了,但是实现上面还是会遇到很多困难的,解决这些困难会帮助学生提高算法验证和程序设计的能力。

3.3培养学生专业应用能力在前两个模块的基础之上,学生还必须具备专业应用能力,将数据结构理论灵活的应用于本专业领域。对于地科专业的学生来说,在后续课程和以后的工作中有许多地方需要数据结构理论,如:在数据结构课程中学习的排序问题的算法,以及基本的树、图等数据结构,是计算机科学的基本功,无论是在数据库还是网络中,都将作为基本知识来运用;同时,通过B+树、Hash等高级数据结构的学习,也对学生今后数据库的学习影响颇深。根据这种情况,在这一模块的改革过程中首先需要依据专业特色调整数据结构课程的教学内容和教学重点,把地球信息科学专业知识与数据结构理论进行有机地融合,使学生明白数据结构课程在本专业知识体系中的位置。在数据结构课程教学中加入位图、遥感图像、DXF文件、miF文件、SRF文件等常见图像或图形文件结构和四叉树、八叉树等二维和三维图形数据文件存储结构,使学生能够理解数据结构的真正内涵并能活学活用,为后续专业课程的学习和专业知识的理解奠定良好的基础。其次,鼓励学生参与数据结构与专业相结合方面的课题研究,如“基于VtK技术的三维地层可视化研究”项目需要将专业知识、数据结构理论、数据库理论、高级语言程序设计交叉融合,学生参与此项目既可以加深对数据结构理论的理解,又提高了专业综合应用能力。此外,在课程设计和毕业设计时布置相应的课题,在教师的指导下让学生自己动手去完成这些课题,以求进一步提高学生应用数据结构解决专业问题的综合能力。

计算机与编程专业篇10

关键词:英语教师;计算机专业学生;计算机专业教师;计算机英语校本教材

G633.41

一、研究背景

中职英语作为一门文化课,其主要教学目标是服务地区学生专业发展,提高中职学生的人文素养。但现实的情况是目前中职英语的教学离以上的目标还有很大差距。如何与专业结合?能在多大范围服务专业?这都是我们每一个中职教师迫切需要回答的问题。回答好这个问题对于我们理清思路,改变观念,编写出优秀的校本教材有着积极的意义。

二、文献综述

国内计算机英语教材研究在大学和高职院校开展较早。曹阳、李志梅(2005)梁文玲(2006)卜艳萍,周伟(2007)李晓堂,邓霞,张艳玲,张志纲,万朝阳(2008)分别就高校计算机英语教材选用作了专题研究,对计算机英语的教学内容提出了调整、更新和补充的建议,认为在教学中不仅要讲授计算机英语的专业词汇和专业文献,还应增加计算机专业知识与计算机专业英语学习技巧的教学内容。这些研究更多的是从高校计算机专业英语教材的使用来着手,对计算机专业教材编写没有多少涉猎。

国内对中职计算机英语教材编写的研究比较少。罗清芳(2010)在《计算机专业英语教学改革探讨》一文中提出“教师在教学内容的安排上,一定要和本校专业教师讨论,哪些内容先讲,哪些内容后讲,哪些内容不讲,这样才能照顾到学生的接受能力”。她主张对原教材的内容进行二次处理。因此,本研究着重从中职计算机英语校本教材的编写原则,英语与计算机专业结合点及编写形式三方面进行调查分析,旨在为课题组教师在教材编写时理清思路,提供参考。

三、研究方法

本研究采用卷调查的方式对中山市10所中职学校的33名英语教师进行了调查;对东凤理工学校和港口理工学校共228名计算机专业的学生进行了问卷调查;采用调查和访谈两种方式对东凤理工学校和港口理工学校的24名计算机专业教师进行了调查。笔者对调查和访谈所得到数据和文字材料,在统计和整理之后,进行了分析。

四、结果与讨论

1.中职英语教师对中职计算机英语教材的看法

当问到“您认为当前职业学校的有合适的计算机英语教材吗?”,71.4%老师认为没有,选择不好说的老师23%,只有不4.7%的教师认为有合适教材。整体来说,近95.3%的教师认为目前中职计算机英语教材不合适或不适用。63%的英语教师认为职业学校学生不喜欢学习计算机英语的原因是教学内容陈旧、深奥、抽象。这一方面h明目前的中职计算机英语教材不适合目前的教学实际,另一方面也h明开发结合中职实际的创新型校本教材具有必要性。

当问道“您对目前以英语与计算机结合实践改革有什么看法”时,有69%英语教师提出计算机英语教学内容难度要适中,与实际生活相关的内容多一点,要操作性强,简单实用;50%老师认为基础计算机英语课程应与专业结合,与学生未来职业相联系。有62%教师提出计算机英语教学英语要切实为专业服务,教材要口语化,简短,重视计算机日常操作中常用频繁的英语,重视教材的实用性和趣味性,以听说为主,在专业实践中运用口语进行交际。这h明大部分英语教师赞成计算机英语与专业结合,提出计算机英语教材要实用,简单而且有趣。

有70%教师提出要编写适合中职学校的的教材,而且教材的编写需要英语教师与计算机教师共同研究与专业相关的活动教学。

2.中职学生对目前中职计算机英语教材的看法

当问道“你喜欢什么样的专业英语教材?”时,59.9%的学生都选择了把专业学习融入在简单的任务解决中的项目教材;有67.8%学生希望英语老师在教学中将英语课与专业课结合时,选择游园活动或比赛等活动形式,以增加计算机英语教学的趣味性,激发学生学习英语和专业课的兴趣,让老师上课有成就感。从以上数据来看,一方面,学生希望计算机英语教材与专业密切结合,另一方面要求计算机英语教材形式简洁,有趣,最好把教学内容融入到任务型教学中。但对于英语与哪些专业结合,学生没有回答,可能是学生还不清楚自己的专业学习需要哪些英语知识的支持。

3.中职计算机专业教师对中职计算机英语教材的看法

当问道“您认为英语教学中应该加强那方面对专业支持?您认为哪个方向的专业与英语有结合的地方?”。37.5%的教师认为日常英语教学中适当地补充计算机专业英语;68%的老师认为平面、三维、软件界面和电子商务方向需要与英语结合;91.6%的教师认为英语教学中应该加强计算机英语术语的教学;有25%的教师认为多开展专业知识或术语的的比赛。这h明大多数的计算机教师认为目前计算机英语教材编写重点应放在计算机术语的学习上,结合的方向应在平面、三维、软件界面和电子商务等。

五、启示

为了更好地编写计算机英语校本教材,我们有必要注意以下几个方面:

(1)中职计算机英语要为专业课程服务,教材要突出实用性、应用性和岗位性的特点,坚持“实用为主,应用为目的,够用为度”原则。中职计算机专业学生一般所从事的工作包括计算机操作使用,技术管理和支持服务等,这些工作对计算机英语的要求不高,一般能使用英文界面的软件,能够借助词典阅读英语操作手册和h明书就可以。所以计算机英语校本教材的内容的重点放在计算机专业术语和英语提示h明上,降低学习难度,提高学生的学习兴趣和教学效果。

(2)中山市计算机英语校本教材应以硬件、维护,电子商务、网络、网页设计和研发等专业方向为英语与专业结合的切入点。以项目课程为载体,以任务驱动教学为主线。在每个项目的开始,先介绍重点专业词汇,课文形式尽量简单,突出基础性和专业性,使计算机英语教学内容贴近专业和学生的实际。

(3)教材编写时,要考虑到职业中学的学生的心理特点和知识基础的现实。在考虑专业性和实用性的时候,尽可能地增加教材的活动性和趣味性。兴趣是最好的老师。学生喜欢活动,爱有趣的教学内容。让教学活动围绕任务而开展,让学生在真实的任务语境中完成任务,学习语言。

参考文献:

[1]刘颖.高职计算机英语教学现状与方法探索[J].职业时空,2010