“程序设计基础”精品课程建设
- 格式:doc
- 大小:35.50 KB
- 文档页数:6
程序设计基础教程课程设计1.课程设计概述随着信息化和数字化的快速发展,计算机技术的普及程度越来越高,而计算机程序设计作为计算机科学中的重要基础学科,具有越来越重要的地位。
为了更好地适应社会发展的需求,提升学生应用计算机程序设计的能力,本次课程设计方案拟定了以下目标:•熟悉计算机程序设计基本概念和基本操作;•掌握常用的程序设计语言;•学会利用现有工具和资源实现编程应用;•提高程序设计和调试能力。
此课程设计的内容主要以C语言为主,包括基本数据类型、算术运算、条件语句、循环语句、函数、指针等内容。
2.教学方案2.1教学目标通过此次课程的学习,学生需要达到以下目标:•理解程序设计结构和基本语法;•掌握程序设计的基本方法和技巧;•能够独立设计和编写简单的程序。
2.2教学方法为了提高教学效果,本课程采用以下教学方法:•讲解理论知识并配合实例讲解;•演示实例程序,并进行详细分析和解释;•配合实验教学,巩固所学知识,提高程序设计能力;•引入大量练习和编程实践以加强学习效果。
2.3 教学内容本次课程包含以下内容:•C程序设计基础•常量、变量及其数据类型•运算符和表达式•条件语句、循环语句•数组和指针•函数、结构体2.4 实验教学在课程学习过程中,将为学生设置多项实验作业,以加强学生的实践技能。
实验教学的具体要求如下:•学生需要按照课程进度,按时完成实验;•每个实验教育的主要内容由教师在课前准备实验指导书发送给学生进行预习;•实验教育负责教师需定期检查学生进度,对学生学习情况进行综合评定,并及时反馈意见。
2.5 考核方式为了保证学生的学习效果,我们将通过以下方式进行考核:•平时表现考核;•课堂笔记;•课堂练习分数;•实验作业分数。
3.课程进度本次课程根据授课计划将设置为20个学时,下面是具体的时间表:学时内容1 C程序设计基础2 常量、变量及其数据类型3 运算符和表达式4 条件语句、循环语句5 数组和指针6 函数7 函数8 函数9 复习和总结学时内容10 基于数组的简单程序设计11 基于数组的简单程序设计12 基于指针的简单程序设计13 基于指针的简单程序设计14 基于结构体的简单程序设计15 基于结构体的简单程序设计16 基于文件的程序设计17 基于文件的程序设计18 复习和总结19 课程测试及考核安排20 课程测试及考核安排4.课程总结本次课程的目标是让学生了解程序设计基础,并能够运用所学知识解决实际问题。
“程序设计基础”精品课程建设摘要:从课程体系、教学方法和手段、实践教学、考核评价、实践创新能力培养等几个方面的改革实践阐述“程序设计基础”精品课程建设方案。
关键词:程序设计基础;精品课程;教学改革;实践“程序设计基础”是计算机科学与技术专业的主干专业基础课,是所有后续软件专业课的基础和支撑,在计算机整个课程体系中起着举足轻重的作用。
本课程是一门实践性很强的学科基础课,不仅要学习基本理论知识,更要注重上机实践,通过上机实践掌握高级语言的特征,巩固所学的理论知识。
“程序设计基础”经过多年的教改实践,取得了令人满意的成绩,2004年被评为校级精品课程,2005年入选首批自治区级精品课程[1-2]。
本课程开设以来,课程教学团队一直致力于教学改革,通过多年的探索和实践,确立了课程建设的指导思想—既要培养学生解决问题(算法与程序设计)的能力,又能比较熟练地掌握一种程序设计语言(C/C++)。
本课程以程序设计方法为纲,较为系统全面地介绍了程序设计发展和程序设计的基本方法,其目的是让学生掌握程序设计的基本理论和基本方法。
在讲授过程中,教师特别注意介绍有关独立于任何特定编程语言的算法概念和结构,强化训练程序设计的经验和相关技术,把重点放在程序设计实践及培养学生分析问题和解决问题的能力训练方面。
1课程建设方案1.1完善程序设计类课程的课程体系程序设计基础包含两方面教学内容:程序设计的基本方法和程序设计语言入门。
因此,教师在课程讲授中,既要培养学生解决问题(算法与程序设计)的能力,又使他们能比较熟练地掌握一种程序设计语言(C/C++)。
本课程以程序设计方法为纲,较为系统全面地介绍了程序设计,其目的是让学生掌握程序设计的基本理论和基本方法。
同时,以C/C++作为典型的程序设计语言,介绍结构化程序设计和面向对象程序设计两种编程思想。
教师在讲授过程中,特别注意介绍有关独立于任何特定编程语言的算法概念和结构,强化训练程序设计的经验和相关技术,把重点放在程序设计实践方面,以培养学生分析问题和解决问题的能力方面。
高职Java程序设计精品课程建设【摘要】本文提出了高职Java程序设计课程的设计理念及思路,并根据精品课程建设的要求调整了教学内容、教学方法,提出了高职Java程序设计课程的教学改革及实验建设的思路。
【关键词】高职高专Java程序设计建设Java是一种面向对象的程序设计语言,Java程序具有“一次编译,到处运行”的特点,Java具有不依附于平台、可靠性、安全性、可移植性、动态性、多线程等特性。
随着经济的发展及互联网的广泛应用,对Java程序设计的人员需求越来越旺盛。
但高职学生学制一般为两至三年,而学习Java又必须学习一定的前设课程,如何在较短的教学时间里,结合高职的特点开展Java程序设计课程,需要教师不断探索新的课程改革。
一、课程设计理念及思路Java程序设计是一门实践性很强的课程,根据职业能力要求,可按照工作过程的实际需要来设计、组织和实施课程。
应打破传统先理论、后实践的教学模式,尽早让学生进入工作实践,为学生提供完整的工作过程学习机会,逐步实现从学习者到工作者角色的转换。
课程实施“实行工学交替、任务驱动方式、多元化考核”模式,通过教学组织和实施、考核方式的改革,提高教学效果。
在具体实施中,笔者结合高职教育的特点,对教学目标、教学内容、教学方法等多个方面都进行了创新探索。
一是重点组织教学内容!秉承“实用、够用”的原则,尽量减少抽象理论描述,下力气组织好适合岗位技能需求的、符合高职学生认知特点的理论教学内容,突出应用主线。
二是采取现代教学方法。
理论教学中采用启发式教学法、讨论式教学法、任务驱动教学法等。
实践教学中采用“模拟一扩展”、“项目驱动一双主互动”等教学方法。
三是突出项目实践教学环节。
课程中专门设立了项目开发综合实践教学环节,组织学生以个体为单位进行模拟项目开发,完成相应技术文档的编写,最后答辩验收。
物流产业将成为北部湾区域经济的重要产业之一。
考虑物流信息管理系统的复杂性和综合性,为使学生的专业学习与地方经济发展相结合,并能够更好地掌握行业前沿性知识和技能,以培养地方经济发展急需的应用型人才,因此,把物流信息管理系统设计作为总项目导入课程内容中。
发学生利用计算机解决问题能力,而且很少教会学生什么事情可以用计算机解决,怎样有效地使用计算机,计算机在所学的专业中所处的地位等,从而就造成学生觉得计算机学不学习没有太大关系,严重挫伤了学生学习计算机的积极性。
1.2 理论教学与实践教学环节相脱节计算机基础是一门理论与实践结合比较紧密的课程。
理论知识与实践内容相辅相承。
我们在上课的时候会发现这样一种情况,学生上理论课时都能听懂,但是当上实践课程时,需要学生自己操作时就无所适从,使得课堂理论授课和实际动手不能统一,因此学生很难对计算机进行娴熟应用。
1.3 学生差异太大根据各地区发展速度不同,学生在上高中时,计算机水平存在很大的差异,而我们由于师资、教学条件限制,计算机基础教学通常采用统一的教学进度和教学方法,这样就造成两极分化的局面。
对于层次较高的学生,再继续重复计算机基础内容,是很浪费时间的,这就使得学生的学习兴趣和学习积极性受挫;而对于层次较低的学生从来没有接触过计算机,感觉计算机基础内容很难,从而对计算机基础课程产生畏惧,自我放弃。
种种情况都对提高学生计算机应用能力都将产生非常大的影响。
2 计算机基础网络教学模式2.1 计算机网络教学总述计算机基础授课过程中,通常我们认为非常简单的概念和知识,学生们却要花费很长时间和很多精力才能够去理解和掌握,甚至有的学生根本就对此不能理解,从而使得教学效果不好。
究其原因这与计算机本身的特点有很大的关系,计算机有它自己的一套理论体系和技术规范,所以要理解和掌握,单纯采取传统的教学方法来讲授这种高科技的课程,必然会效果不理想。
计算机基础这门课程的授课过程中,采取的是网络教学模式,即集中面授、辅导网络学习、实践指导自由练习1:2:1,这样就使得不同层次的学生都能够根据自己的实际情况进行学习,这样既能够提高学生的学习兴趣,也能够使有基础的学生不再浪费时间,从而解决了计算机基础教学中的问题。
真正锻炼了学生,提高了学生的实际动手能力。
计算机程序设计基础精品课程建设与总结摘要:精品课程建设是实施质量工程的重要组成部分,文章就课程定位、教学模式、课程内容、教学队伍以及教材建设等方面进行了阐述,深入探讨了计算机程序设计基础精品课程建设的思路。
关键词:精品课程课程建设教学模式1.课程定位及历史沿革程序设计基础是高等学校一门重要的计算机基础课程,是计算机基础教育的基础与重点,高级语言程序设计课程是继大学计算机基础之后的一门必修基础课,属于校级平台的必修课程。
我校的程序设计课程由一系列课程组成,包含了C语言程序设计、Visual Basic程序设计、算法与程序设计、面向对象程序设计以及高级程序设计等五门课程。
其中,前两种程序设计语言类课程面向我校广大非计算机专业学生开设,后三种程序设计语言类课程是我校计算机专业学生的专业基础课程。
虽然高级语言种类不同,但程序的基本思想都是相同的。
并且,程序设计的基本理论及思想不仅仅在计算机科学各领域使用,在其他非计算机专业的计算机辅助教学中也大量运用。
它所讨论的知识内容和提倡的技术方法,不仅为计算机专业后续课程如操作系统、数据库系统、编译原理等课程提供了必要的知识基础,同时,对从事软件开发与设计也有着不可替代的作用,而且为广大非计算机学生,诸如电子控制类、机电类、信息管理类学生提供了必要的基础知识和技能训练。
1997年以前,该课程只是小规模在学校部分专业开设,内容以Basic为主。
1997年成立计算机基础教研室,负责面向全校的计算机基础课程,这时该课程授课语言改为Pascal。
从2001年后,我们以学生专业需求为导向,选择不同的高级语言,以便为后续相关课程服务。
理工类非计算机专业学生学习C语言,文科类学生学习Visual Basic,计算机相关专业采用能支持面向过程方式和面向对象方式的C++语言,计算机专业高年级学生学习Java语言。
至此,按照不同专业需求及不同学生层次设置课程,课程内容不断更新,逐步形成比较完整的系列课程体系。
省级精品课程“程序设计基础”的建设与成效作者:汪世杰赵毅来源:《教育与职业·理论版》2010年第11期[摘要]文章论述了九江学院面向所有专业开设“程序设计基础”课程(其中理工科讲授C程序设计,文科讲授Visual basic 程序设计)的建议。
课程组在课程原建设的基础上,历经三年,对教学内容、教材和教学手段等方面作了进一步的探讨和建设,逐步完善和实现了教学规范化、教材自产化、助教多媒体化、助学网络化、试题生成自动化,从而提高了教学质量。
[关键词]程序设计教学大纲自编教材多媒体课件网上教学系统试题库管理系统[作者简介]汪世杰(1964- ),男,江西瑞昌人,九江学院信息科学与技术学院,副教授,研究方向为计算机教育;赵毅(1965- ),男,江西永修人,九江学院信息科学与技术学院,副教授,研究方向为教育技术。
(江西九江 332005)[基金项目]本文系2007年江西省高校教学研究省级课题“非计算机专业《高级语言程序设计》优质课程建设”的研究成果之一。
(课题编号:JXJG-07-17-71)[中图分类号]G642.3[文献标识码]A[文章编号]1004-3985(2010)17-0127-02人类第一台计算机诞生,催生了计算机语言。
计算机语言不断繁衍与发展,从机器语言、汇编语言到过程语言FORTRAN,再到高级语言BASIC和C,一路成长,一路精彩,最光芒四射的是靠BASIC起家的比尔·盖茨,其巨大的成功激发了世人学习程序设计技术的热情。
九江学院(以下简称“我院”)自1985年开始开设程序设计课程,当时仅仅面向计算机专业,语言是BASIC。
从1994年起至今,我院面对所有理工科学生开设“高级语言程序设计”课程,先讲授BASIC语言、QBASIC语言,再讲授C语言。
随着程序设计技术的发展和全面提高学生素质的需要,突破文理界限,2003年我们在文科学生中开展“Visual Basic程序设计”教学。
程序设计基础的课程设计一、课程目标知识目标:1. 让学生掌握程序设计的基本概念和原理,如变量、数据类型、运算符、控制结构等。
2. 使学生理解程序设计的流程,学会编写、调试和运行简单的程序。
3. 引导学生了解程序设计中的常用算法和解决问题的策略。
技能目标:1. 培养学生运用所学知识编写简单程序的能力,提高逻辑思维和编程技巧。
2. 培养学生运用调试工具找出程序错误并修正的能力,提高解决问题的能力。
3. 培养学生合作学习和团队协作的能力,学会共同分析问题、讨论解决方案。
情感态度价值观目标:1. 激发学生对程序设计的兴趣,培养学习编程的热情和积极性。
2. 培养学生勇于尝试、不怕失败的精神,提高面对困难的勇气和毅力。
3. 引导学生认识到程序设计在生活中的应用和价值,增强信息素养和创新能力。
分析课程性质、学生特点和教学要求,本课程目标旨在使学生在掌握程序设计基本知识的基础上,提高编程能力和解决问题的能力,培养学生对编程的兴趣和热情,为后续学习打下坚实基础。
课程目标具体、可衡量,以便教师进行教学设计和评估。
二、教学内容本章节教学内容围绕程序设计基础展开,包括以下部分:1. 程序设计基本概念- 变量和常量的概念及其应用- 数据类型和数据表示- 运算符和表达式2. 控制结构- 顺序结构- 选择结构(if-else语句)- 循环结构(for、while语句)3. 算法基础- 算法的概念和描述方法- 常见算法策略(顺序查找、二分查找、冒泡排序等)4. 编程实践- 编写简单程序,解决问题实例- 调试程序,找出并修正错误- 代码优化,提高程序性能5. 课程项目- 团队合作,共同完成一个程序设计项目- 项目过程中,学会分析问题、设计算法、编写代码和测试教学内容根据课程目标制定,涵盖教材相关章节,确保科学性和系统性。
教学进度安排如下:- 第1-2课时:程序设计基本概念- 第3-4课时:控制结构- 第5-6课时:算法基础- 第7-8课时:编程实践- 第9-10课时:课程项目教学内容和进度安排旨在使学生扎实掌握程序设计基础知识,培养实际编程能力,为后续学习打下坚实基础。
Java程序设计精品课程建设摘要:java程序设计是我院计算机相关专业的专业核心课程,该课程对学生职业能力的形成具有至关重要的作用。
精品课程的建设体现了教育教学改革的方向。
本文围绕课程建设基础、课程建设目标、课程建设内容和课程特色与创新进行了深入的探讨,在师资队伍建设、工学结合教学设计及特色教材等方面提出了建设性的意建。
关键词:精品课程;工学结合;任务驱动教学法;项目实训教学法中图分类号:tp312.2-4精品课程建设是郑州电子信息职业技术学院教学改革和教学质量工程的重要内容之一。
java程序设计是我院信息工程系计算机相关专业的专业核心课程,重点培养学生java方向程序设计能力,是一门实践性很强的课程。
该课程的知识教育目标是使学生能够熟练使用jdk(java开发工具包),eclipse,ultraedit等常用编辑工具来开发java程序;能力教育目标是培养学生运用面向对象的思想解决实际问题的能力。
思想教育目标是培养学生的团队协作能力和爱岗敬业的职业素养。
1 精品课程建设基础1.1 硬件基础学院有先进的网络教学环境和充足的实践教学条件,java程序设计的教学环境是我院多媒体中心,该中心下设30个多媒体教室。
课程全面应用多媒体方式授课,学生可以利用移动存储设备下载教学资源。
在网上为学生提供授课计划、教学大纲、实训大纲、实验指导书、课件、学习指南、上机习题与指导、模拟测试题、学习参考书目录等网络学习资源。
另外,教师利用电子邮件、qq进行答疑,探讨师生共同关心的问题,了解学生的学习和其它方面的动态,及时调整教学方法和进度。
java程序设计的实训环境是我院计算机实训中心,现有22个实训室,近1500台机器,实训室设备先进、功能齐全、管理严格规范,每个实训室自成局域网并接入了互联网。
实训室均安装了jdk (java开发工具包)、myeclipse、tomcat、sqlsever及全国高等院校计算机等级考试模拟软件,能够保证人均一台机器,学校实训室在课余及周末时间为学生开放,方便学生的上机实习。
/CHINA MANAGEMENT INFORMATIONIZATION本课程从高技能人才的培养要求出发,以强化技术应用能力培养为主线,构建理论教学体系和实践教学体系。
VB(Visual Basic 简称VB,以下同)程序设计是一门实践性很强的课程,只听、看、读是学不会程序设计的,只有让学生多动手、多实践,通过编写调试大量的程序,才能使学生从中理解程序设计的思想方法、积累程序调试的经验,体会成功的乐趣,从而激发学生的学习兴趣。
我们坚持程序设计课程以培养学生的创新意识和动手能力为目的。
我们的指导思想是:课堂精讲,上机多练,课程设计综合实训。
使学生初步具备设计、开发中小型应用程序的综合素质和技能。
我们在教学中,采用任务驱动与项目教学相结合的方式,以案例提出问题,教师示范解决方案为基本形式,充分调动学生学习积极性为核心,使学生在教师的示范过程中,掌握知识点,学习分析问题的方法,提高解决问题的能力。
在教学内容方面,注意了紧密跟踪计算机技术的最新发展,不断增加反映VB 程序设计最新技术的内容,基本做到了与世界同步、与国际接轨。
在教学中,坚决贯彻以实际应用为目的,以提高实际编程能力为核心的教学思想,精讲多练,不去纠缠过多的语法和算法,着重培养和训练解决实际问题的能力编程能力,让学生在编程中学编程,取得了较好的教学效果。
1课程体系结构的研究与实践VB 程序设计是计算机信息管理专业的一门专业基础课程。
“程序设计”是计算机的灵魂,由于VB 简单易学、方便快捷,是近年来发展最为迅速的面向对象的程序设计语言。
传统的程序是由过程或函数组成,过程或函数由一系列的字符组成,岂不说编写程序,阅读起来就晦涩难懂,程序出错、查错、修改等都是十分困难的事情。
从而,可视化的编程工具应运而生,VB 就是其中之一。
有了可视化的开发环境,编程工作变得越来越轻松、有趣味。
便编程人员在编写应用程序时,既不需要通过反复调试运行调整它们,而只是把由开发工具提供的各个对象拖放到屏幕上并调整位置、大小、颜色、字体等即可。
谈Visual Basic程序设计精品课程建设[摘要] 结合本院的Visual Basic程序设计精品课程建设实际,持之以恒,与时俱进,不断更新完善。
根据学院定位,提炼出鲜明个性化的课程体系结构,完善教学资源,提供交互平台,优化师资队伍结构,创新教学方法和手段等方面,努力成为示范性课程。
[关键词] 程序设计;精品课程;课程体系结构本课程从高技能人才的培养要求出发,以强化技术应用能力培养为主线,构建理论教学体系和实践教学体系。
VB(Visual Basic简称VB,以下同)程序设计是一门实践性很强的课程,只听、看、读是学不会程序设计的,只有让学生多动手、多实践,通过编写调试大量的程序,才能使学生从中理解程序设计的思想方法、积累程序调试的经验,体会成功的乐趣,从而激发学生的学习兴趣。
我们坚持程序设计课程以培养学生的创新意识和动手能力为目的。
我们的指导思想是:课堂精讲,上机多练,课程设计综合实训。
使学生初步具备设计、开发中小型应用程序的综合素质和技能。
我们在教学中,采用任务驱动与项目教学相结合的方式,以案例提出问题,教师示范解决方案为基本形式,充分调动学生学习积极性为核心,使学生在教师的示范过程中,掌握知识点,学习分析问题的方法,提高解决问题的能力。
在教学内容方面,注意了紧密跟踪计算机技术的最新发展,不断增加反映VB程序设计最新技术的内容,基本做到了与世界同步、与国际接轨。
在教学中,坚决贯彻以实际应用为目的,以提高实际编程能力为核心的教学思想,精讲多练,不去纠缠过多的语法和算法,着重培养和训练解决实际问题的能力编程能力,让学生在编程中学编程,取得了较好的教学效果。
1 课程体系结构的研究与实践VB程序设计是计算机信息管理专业的一门专业基础课程。
”程序设计”是计算机的灵魂,由于VB简单易学、方便快捷,是近年来发展最为迅速的面向对象的程序设计语言。
传统的程序是由过程或函数组成,过程或函数由一系列的字符组成,岂不说编写程序,阅读起来就晦涩难懂,程序出错、查错、修改等都是十分困难的事情。
基于CDIO模式的程序设计基础课程群建设CDIO模式是以Conceive(构想)、Design(设计)、Implement(实现)和Operate (运营)四个阶段为基础的一种工程教育模式。
在这个模式下,学生不仅仅是被passively 接受知识,而是被要求主动参与解决实际问题,培养他们的创新能力、设计能力和团队合作精神。
基于CDIO模式的程序设计基础课程群建设势在必行。
程序设计基础课程是计算机科学与技术专业的核心课程之一,主要介绍程序设计的基本概念、基本原理和基本方法,培养学生的计算机编程能力和软件开发能力。
而基于CDIO 模式的程序设计基础课程群建设,应该包含以下几个方面的内容:一、构想(Conceive)1. 课程定位与目标:明确基于CDIO模式的程序设计基础课程的定位,以及培养学生的具体目标。
帮助学生理解程序设计的基本原理和方法,培养他们的编程能力和解决问题的能力等。
2. 课程内容与结构:构思课程的内容和结构,明确学生需要学习的知识点和技能,以及课程的教学安排和学习进度。
3. 课程评估方式:考虑如何评估学生对课程的掌握程度,包括笔试、实验报告、小组项目、课堂表现等多种评估方式。
二、设计(Design)1. 课程组织与教学方法:设计课程教学大纲和教学计划,包括教学内容、教学方法、教学资源等。
2. 课程教材与资源:选择合适的教材和学习资源,包括教科书、参考书、网络资源等。
3. 课程实践与项目:设计实践性强的教学项目,让学生通过实际操作来巩固所学的知识和技能。
三、实现(Implement)1. 师资建设与培训:培养一支符合CDIO模式教学理念的教师队伍,提供相关的培训和指导。
2. 教学设施与实验室:提供良好的教学设施和实验室条件,支持学生进行编程实践和项目开发。
3. 学生管理与指导:建立健全的学生管理与指导机制,对学生进行评估和辅导,帮助他们解决学习和生活中的问题。
四、运营(Operate)1. 课程质量与效果评估:建立一套完整的课程质量评估体系,对课程的教学效果进行评估和改进。
基于CDIO模式的程序设计基础课程群建设
CDIO模式是一种以学生为主体,注重实践能力培养的教学模式。
基于CDIO模式的程
序设计基础课程群建设,将更好地满足学生的需求,培养学生的创新能力和实践能力。
程序设计基础课程群的建设应注重培养学生的基础知识和实践能力。
建设课程应从基
础知识出发,逐步提高学生的编程能力和问题解决能力。
通过理论讲解与实践操作相结合
的方式,提高学生的实践操作能力,培养学生的编程思维和问题解决能力。
课程群建设应加强实践项目的设计与实施。
课程设计应有明确的目标和需求,围绕实
践项目展开,让学生参与到实际的项目中去,亲身实践所学知识。
通过实践项目的实施,
学生能够更好地理解所学知识,并将其应用到实际项目中,提高自己的实践能力和问题解
决能力。
课程群建设也应注重团队合作与交流。
在实践项目中,学生可以组成小组,分工合作,共同完成一个项目。
通过团队合作,学生可以学会与他人合作、沟通、交流和协调,培养
自己的团队合作能力和领导能力。
课程群建设还应加强对新技术和新方法的学习和应用。
随着时代的变迁,技术不断进步,教学内容也需要与时俱进。
建设课程群应不断关注行业的最新动态,引入新技术和新
方法,让学生接触到最新的技术和工具,培养学生对新技术的学习和应用能力。
课程群建设还应加强对学生综合素质的培养。
除了专业知识和实践能力的培养,课程
群也应注重学生的综合素质培养。
通过培养学生的创新能力、团队合作能力、领导能力等,全面提高学生的综合素质。
“程序设计基础”精品课程建设摘要:从课程体系、教学方法和手段、实践教学、考核评价、实践创新能力培养等几个方面的改革实践阐述“程序设计基础”精品课程建设方案。
关键词:程序设计基础;精品课程;教学改革;实践“程序设计基础”是计算机科学与技术专业的主干专业基础课,是所有后续软件专业课的基础和支撑,在计算机整个课程体系中起着举足轻重的作用。
本课程是一门实践性很强的学科基础课,不仅要学习基本理论知识,更要注重上机实践,通过上机实践掌握高级语言的特征,巩固所学的理论知识。
“程序设计基础”经过多年的教改实践,取得了令人满意的成绩,2004年被评为校级精品课程,2005年入选首批自治区级精品课程[1-2]。
本课程开设以来,课程教学团队一直致力于教学改革,通过多年的探索和实践,确立了课程建设的指导思想—既要培养学生解决问题(算法与程序设计)的能力,又能比较熟练地掌握一种程序设计语言(C/C++)。
本课程以程序设计方法为纲,较为系统全面地介绍了程序设计发展和程序设计的基本方法,其目的是让学生掌握程序设计的基本理论和基本方法。
在讲授过程中,教师特别注意介绍有关独立于任何特定编程语言的算法概念和结构,强化训练程序设计的经验和相关技术,把重点放在程序设计实践及培养学生分析问题和解决问题的能力训练方面。
1课程建设方案1.1完善程序设计类课程的课程体系程序设计基础包含两方面教学内容:程序设计的基本方法和程序设计语言入门。
因此,教师在课程讲授中,既要培养学生解决问题(算法与程序设计)的能力,又使他们能比较熟练地掌握一种程序设计语言(C/C++)。
本课程以程序设计方法为纲,较为系统全面地介绍了程序设计,其目的是让学生掌握程序设计的基本理论和基本方法。
同时,以C/C++作为典型的程序设计语言,介绍结构化程序设计和面向对象程序设计两种编程思想。
教师在讲授过程中,特别注意介绍有关独立于任何特定编程语言的算法概念和结构,强化训练程序设计的经验和相关技术,把重点放在程序设计实践方面,以培养学生分析问题和解决问题的能力方面。
程序设计基础课程的学习效果直接关系到许多后续课程的学习,在课程改革与建设的过程中不但要关注这一门课程,还要考虑到与其关联的许多课程,甚至覆盖到与其有内在联系的整个课程群。
所以,软件类课程的发展方向必然是从单一走向系列,进一步建立完善的课程体系,发挥其整体优势。
笔者以“程序设计”为主线,从程序设计基础、数据结构、可视化编程、网络编程等相关的课程入手,进行课程体系改革,逐步完善程序设计类课程体系。
1.2改革教学方法和教学手段我们围绕程序设计的关键技术,采用“精讲多练”的教学方法,并辅以多种媒体进行教学,将PowerPoint课件与专业教学软件相结合,大大降低教学难度。
此外,我们在教学中使用网络教学平台,通过平台提供教学大纲、实验大纲、课件、学生参考书和例程源代码等教学资源,学生可以随时下载教学资源、软件工具以及辅导材料等,了解课程学习的各项信息,提交作业,查看作业情况和成绩等。
课程网络平台还提供了自测题和留言板,方便师生课外的交流与互动。
1.3加强实践教学环节计算机科学与技术专业不同于传统意义上的理学各专业,计算机技术更接近于工程技术科学,把解决实际问题放在首位。
因此,对我国大多数学校的计算机科学与技术专业人才培养目标,应更加注重培养学生的动手实践能力[3]。
为了加强学生的动手实践能力,我们在以往的课程实验的基础上,又增加了课程设计,以便更好地加强实践教学环节。
课程实验的侧重点是将讲授的原理与实际应用相结合,使学生将书本上学到的知识运用于解决实际问题,培养他们的动手实践能力,能够活学活用书本知识,从而深化理解和灵活掌握教学内容。
而课程设计的工作量则大得多,相当于是对软件综合设计的一次训练,它的整个过程完全等同于软件工程的一次完整训练,包括问题分析、总体设计、详细设计、编码、测试等阶段,这其中还涉及到用户界面的设计、进行多人合作、分析程序的效率、软件工作规范和科学作风的培养与训练,为学生学习后续的软件类课程、理解和掌握程序设计相关技术、编写大型程序打下良好的基础。
1.4建立新的考核评价方法为了体现程序设计基础这门课程的工程实践性,我们以机试取代笔试作为考核评价方法。
早期,教师需要对机试的结果进行事后检查,不但工作量相当大、效率低,而且人为因素较多,造成成绩评定不够客观、公平。
此外,在程序设计课程的教学中还存在一个不能回避的问题,即使在一些学风良好的大学,在上机考试或平时作业中互相抄袭程序代码的现象也较为普遍[4]。
当一个程序被几个或者十几个同学抄袭,要发现抄袭,进而要证明谁是原创,谁是抄袭,都比较困难,十分耗费精力。
因此,通过多年的教学实践,我们发现,考核评价方法既要保证能够考查出学生的实际学习水平(编程能力),又要对那些考试抄袭的学生进行认定和制裁,因此,我们采用了在线评测与抄袭检测两种方法。
1) 在线评测。
在线评测[5](OnlineJudge,简称OJ)是个基于WWW的服务器端软件系统,其主要功能包括:用户注册和管理、题库管理、在线提交和实时评测、网上考试、讨论、邮件服务等。
该服务器上有一个丰富的题库,题目包括ACM/ICPC(ACM 国际大学生程序设计竞赛)所公布的赛题和我院师生自创的与教学内容紧密结合的问题。
将ACM/ICPC的训练思想引入程序设计的教学,鼓励同学们多动手、多动脑、多实践,大有裨益。
我们将OJ上公布的题目作为平时的实验与作业题,以往学生们完成的上机作业,由于缺乏OJ这样的程序代码评测工具,老师人工评测时只能保证学生的程序没有编译错误、能够运行、运行结果大致正确即可,而且人工评测的效率可想而知。
而OJ这种高效、客观的评测工具不仅能够客观、公正地评测学生的程序,而且大大减轻了老师的工作量。
此外,在OJ上做题,学生们会有成就感,看到自己的排名在解决一个又一个问题的过程中在不断上升时,他们就会主动地去完成更多、更难的题目,这是多么自然和愉快的学习过程。
2) 抄袭检测。
检测抄袭就是检测一个程序是否通过对另一个程序的修改而来的。
对提交的程序代码进行相似性检测,能够对这一批程序中的所有程序进行两两比较,找出程序对之间可能存在的相似性代码,并给出两个程序之间相似度的值。
通常,相似度越高程序之间进行抄袭的可能性越大。
但是,毕竟抄袭是一件严肃的事情,所以在认定抄袭的过程中不能只看抄袭检测的结果,这个认定的过程一般分为以下3个阶段[6]进行。
(1) 收集阶段。
我们先将OJ上的题目布置给学生,要求他们在规定的时间内完成。
然后把学生提交的同一题目的代码放在同一文件夹中,采用抄袭检测的工具进行检测。
(2) 分析阶段。
抄袭检测工具对学生的程序代码进行两两比较,将雷同的部分标注出来,并且给出每对程序的相似度,从而为抄袭认定提供了部分依据。
(3) 确认阶段。
对存在抄袭可能的学生进行确认,进一步核实是否真的属于抄袭。
这个过程其实非常容易,只要询问一下其结题思路或结题过程,或者查看一下其平时练习情况即可得出结论。
这种将在线评测与抄袭检测相结合的方法,不仅对于程序设计基础这一门课程有效,其实可以推广到整个程序设计类课程当中。
这样做既能加强学生的动手实践能力,又能考查出学生在编程方面的真实水平,还可以对抄袭的学生起到一定的震慑作用,减少抄袭现象的发生,同时大大减轻了老师的工作量。
1.5注重学生实践创新能力的培养我们在教学模式、教学方法和教学手段改革等方面进行了大胆探索,使学生的实践创新能力得到了很好地锻炼[7]。
1) 改革了各种实验指标。
解决了教师设计多、学生主动创新少,大型实验与课程设计限定条件多、学生自主发挥独立思维余地少的问题。
2) 探索符合国情的大学生培养模式。
推动开辟第二课堂,使学生尽早接触工程实际问题,增强创新意识与能力。
3) 改善程序设计类、算法类课程的实践教学模式。
采用在线评测系统,进行经典算法的验证型实验和小规模设计型实验训练;设计与学科前沿研究相结合的大项目进行设计型和综合型实践训练;作业题和实习题应融合当前最新理论和技术,使其具有前瞻性。
4) 推进大学生科研训练和学科竞赛。
2006年我们首次将ACM/ICPC国际大学生程序设计竞赛引入到内蒙古自治区的大学内,通过学校、学生和社会的积极参与,使我校大学生研究性、探索性学习得到全面展开。
2课程建设的基本理念课程改革与建设是人才培养活动中的一项基础性、长期性工作,决定了人才的培养质量。
在程序设计基础精品课程建设中,我们总结了以下基本理念。
1) 以点带面,完善课程体系建设。
在教学改革与课程建设中,我们以程序设计基础课程作为试点,由于程序设计课程并不是孤立的某门课程,而是一个整体,该课程的学习效果直接关系到许多后续课程的学习。
因此,在课程改革与建设的过程中不但要关注这一门课程,还要考虑到与其关联的许多课程,甚至覆盖到与其有内在联系的整个课程群。
所以,软件类课程的发展方向必然是从单一走向系列,应该建立完善的课程体系,发挥其整体优势。
因此,我们以“程序设计”为主线,对与程序设计相关的一系列课程进行课程体系方面的改革,从程序设计基础、数据结构、可视化编程、网络编程等相关的课程入手,逐步完善程序设计类课程的课程体系。
2) 教学研究与科学研究相结合,运用技术手段解决教学问题。
在教学实践的过程中,我们一方面将在线评测与抄袭检测相结合进行程序设计基础课程的考核评价;另一方面,从教学工作中抽取出部分具有科研价值的问题进行科学研究。
我们先后针对程序代码的在线评测和抄袭检测问题进行深入研究,并获得了多个项目的资助。
因此,我们的教师队伍既是教学团队又是科研团队,不仅积累了大量程序设计类课程教学经验,并通过硕士生培养,形成了一支稳定的科研队伍。
3) 赛课结合,以赛促教,以赛促学。
我们把程序设计大赛的许多理念引入相关课程的教学当中,对课程的教学进行了有益的改革与调整。
将课程的实验模式从过去的验证型向综合设计方向转变;将学生进行分类教学,更好地发现和培养人才,实现因材施教;为学校非计算机专业但又酷爱编程的学生们开设了算法与程序设计这类选修课,使得更多的学生得到这方面的培养和训练。
竞赛的影响经几年来的积淀,无疑从某些侧面触动了原有的专业课程教学体系,对计算机专业课程实践教学体系、内容、方式的改革以及实验室建设都起着推动作用。
3结语通过多年的教学实践,我们针对程序设计基础精品课程进行了教学改革和课程建设,包括课程体系、教学方法和手段、实践教学、考核评价、实践创新能力培养等一整套课程改革与建设方案。
程序设计基础既是计算机专业重要的基础课程,同时也是各类非计算机专业的公共课程之一,该课程的教学成果经过专业课和公共课的教学实践检验,符合教学实际,影响面大,开创性强,受益面广,具有一定的示范性、先进性与推广意义和应用价值。