软件技术专业核心课程标准《C语言程序设计》课程标准1.前言1.1课程类别专业课1.2适用专业软件技术专业1.3课程性质必修课1.4设计思路本课程是大学一年级学生第一次接触到计算机的程序设计语言,在教学方法上采用课堂讲授、演讲和上机实践相结合,以能力培养为出发点以具备程序设计能力为教学目标。理论教学以C语言为最基本、最常用的功能(数据表达和流程控制)为重点教学,以:“够用”、“必须”为标准,在掌握必要的理论知识上从问题分析、建立数学模型、算法设计和编码、测试等方面,重点讲授程序设计的思想和方法以及设计风格,要使学生能够从较高的角度认识课程的学习目的,应看重对程序设计语言(并一定只是C语言)的特点、学习方法和应用能力的培养。在教学过程中,应通过丰富的图片、动画、演示来帮助学生学习。本课程实践性很强,在实践教学中以培养学生的独立思考能力与动手能力为主导原则,由教师布置时间内容和要求,并展示项目的参考作品,有学生独立上机编写并调试程序,解决实际问题,教师给予必要的辅导。要求学生通过上机训练巩固、验证、扩充或综合运用课堂讲授内容,从而进一步加深对知识的理解与掌握,培养构思解决问题的思路和良好的编程能力。在学习方法上要求学生要“弄清概念、注重实践、由浅入深、循序渐进”。2.课程目标学习本课程后,学生应达到以下教学目标:1.能正确使用C语言的标识符、数据类型、常量、变量、运算符、表达式、基本语句等基础知识;2.认识算法流程图常用符号,能看懂算法流程图;3.能编写简单的顺序结构,选择结构和循环结构的程序;4.能使用函数进行模块化结构的程序设计;5.能编写复杂的数据结构(数组、结构体、指针等)的程序;6.会正确分析较复杂的C语言程序;7.初步学会运用计算机解决实际问题的方法和步骤。从分析问题入手,设计合理的数据结构和可行的算法,编写出具有良好风格的C语言程序;8.具有进一步学习其他语言的能力。学生职业能力培养目标1.具有理解和应用软件规范、软件开发流程的能力;2.具有将实际问题转化成计算机语言计算模型的能力;3.学会使用计算机处理问题的思维方法,具有阅读和编写程序的能力;4.具有进一步学习其他计算机语言的能力;5.具有良好的软件开发团队素质和沟通与协作能力。3.课程内容和要求1.教学内容、目标及考核标准模块名称能力目标知识和技能要素考核标准C语言基础知识1、能正确使用C语言的标识符;2、能正确使用C语言的数据类型;3、能正确定义和使用符号常量和变量;4、熟悉C语言的书写格式和结构;5、能正确的使用运算符和表达式。1、C语言的标识符;2、C语言的注释符;3、C语言的程序结构;4、语言的数据类型(char,int,float,double);5、常量和变量6、运算符和表达式。1、考核内容:1)C语言的标识符、注释符和程序结构;2)C语言的数据类型;3)C语言的运算符和表达式;2、考核方式:作业、测试;3、占总成绩的比例:5~10%顺序结构1、能看懂算法流程图(程序框图);1、程序设计的三种基本结构;1、考核内容:1)输入与输出函程序设计2、能编写简单的顺序结构程序;3、掌握通过求余和取整运算拆分数字等算法。2、流程图符号及画法;3、输入与输出的函数格式及应用(%d,%c,%s,%f,%lf);4、顺序结构程序设计。数;2)顺序结构程序设计;2、考核方式:作业、测试;3、占总成绩的比例:5~10%选择结构程序设计1、会构造选择条件表达式;2、能编写选择结构程序;3、掌握数据比较大小、数据交换算法。1、if语句格式以及应用;2、If-else语句格式以及应用;3、If-else嵌套结构的应用;4、Switch语句格式及应用5、Switch语句中default和break语句的作用1、考核标准:选择结构程序设计2、考核方式:作业、测试3、占总成绩的比例:10~20%循环结构程序设计1、能根据问题构造循环结构;2、能编写循环结构的程序;3、会根据具体情况从这三种循环结构中选择合适的循环结构。4、掌握循环典型应用,如使用循环进行数字拆分、求最大元素、最小元素、累加、阶乘、素数等常用算法。1、for循环结构的语句执行过程及构造方法;2、While(当型)循环结构的构造方法;3、Do-while(直到型)循环结构的构造方法4、“永真”循环结构的构造方法;5、循环结构中break/continue语句中的作用以及循环标志变量使用;6、多重循环结构的程序。1、考核内容:循环结构程序设计。2、考核方式:作业、测试3、占总成绩的比例20~30%数组1、理解数组的作用2、理解数组元素的存储机制3、会定义一维数组和二维数组4、会对数组元素赋值、输出、查1、数组的定义;2、数组的初始化;3、数组元素的赋值、数据修改与输出;1、考核内容;能使用数组进行程序设计。2、考核方式:作业、测试找、逆置等操作、5、能运用字符数组处理字符串6、掌握排序、查找、逆置常用的算法,能使用数组求最大元素、最小元素、累加、阶乘、素数等。4、字符串输入。输出函数。3、占总成绩的比例10~20%函数1、理解函数的作用;2、熟悉常用的数学函数(math.h)、字符串函数(string.h)的应用;3、能使用函数编写模块化结构的程序;4、理解函数的嵌套调用和递归调用;5、能正确阅读并分析具有多个函数活多个文件的C程序。1、C语言函数的定义、声明和调用;2、变量的作用域和存储类型;3、函数间数据的传递方法;4、多文件程序的编写与运行方法;5、基于函数模块结构程序的编写;6、数组元素或数组作函数参加的应用。1、考核内容:1)使用函数进行模块结构程序设计;2)变量的作用域和存储类型;2、考核方式:作业、测试;3、占总成绩的比例20~25%指针1、理解指针的作用2、会通过指针类型使函数返回多个值3、会通过指针访问数组元素1、指针的定义及使用2、指针作函数的应用1、考核内容:使用指针进行程序设计2、考核方式:作业、测试3、占总成绩的比例:5~10%结构体1、会使用结构体存储数据2、会引用结构体元素3、会使用结构体数组4、了解指向结构体变量的指针的应用;5、会使用typedef语句的定义类型。1、结构体类型及结构体变量的定义;2、结构体变量、结构体数组元素的引用;3、用户自定义类型的使用1、考核内容:结构体类型、结构体变量、结构体数组的定义、结构体成员的引用。2、考核方式:作业、测试2.模块与建议课时数模块课程内容学时数讲授实践教学合计基础模块C语言程序设计初步了解C语言的背景,掌握C语言程序的结构,领会C语言程序设计的风格22基本数据类型掌握算法的基本概念与特征,掌握结构化程序设计的基本概念22运算符与表达式了解基本类型及其常量的表示法,掌握变量的定义及初始化方法,掌握运算符与表达式的概念,领会C语言的自动类型转换和强制类型转、左值和赋值的概念66顺序结构程序设计了解C语句的概念及种类,掌握C语言常用的输入/出方式22选择结构程序设计熟练掌握if…else的三种语法,领会switch与break语句的作用66循环结构程序设计领会程序设计中构成循环的方法,掌握for、while、do-while语句的用法,了解break、continue在循环语句中的作用66数组了解一维数组、二维数组的基本概念,掌握数组类型变量的定义与引用,掌握数组元素的引用44函数掌握函数的定义与调用,掌握函数参数的传递方式,领会变量存储类型的概念及各种存储类型变量的生存期和有效范围,领会函数的嵌套调用与递归调用,了解带参数的main函数44编译预处理了解预处理的概念及特点,掌握有参宏与无参宏的定义及使用,领会文件包含的使用及效果223、占总成绩的比例:5~10%指针了解指针与地址的概念,掌握指针变量的定义、初始化及指针的运算,掌握指针与数组、指针数组、二级指针等知识,了解指针与函数的概念,掌握指针作为函数参数的应用88结构体、联合体与位运算掌握结构体和共用体类型的说明、结构体和共用体变量的定义及初始化方法,掌握结构体与共用体变量成员的引用,领会存储动态分配和释放,领会链表的基本概念和基本操作,领会枚举类型变量的定义,了解typedef的作用22文件掌握标准设备输入/输出函数的使用,掌握缓冲文件系统的使用22实践教学模块C语言运行环境了解C语言程序从编辑、编译、连接到运行并得到运行结果的过程22数据类型及顺序结构学习C语言赋值语句和基本输入输出函数的使用,编写顺序结构程序并运行,了解数据类型在程序设计语言中的意义。66数据的输入与输出熟悉并掌握标准输入与输出函数scanf()/printf()函数的使用44选择结构程序设计正确使用关系表达式和逻辑表达式表达条件。学习分支语句if和switch的使用方法。66循环结构程序设计学习循环语句for、while和do-while语句的使用方法,学习用循环语句实现各种算法,例如穷举法、迭代法等。66数组掌握数组的定义、赋值和输入输出的方法,学习用数组实现相关的算法(如排序、求最大和最小值、对有序数组的插入等)44函数学习C语言中函数的定义和调用方法,掌握通过参数在函数间传递数据的方法。44指针掌握指针变量的定义与引用,掌握指针与变量、指针与数组的关系,掌握用数组指针作为函数参数的方法。44结构体掌握C语言中结构体类型的定义和结构体变量的定义和引用,掌握用结构指针传递结构数据的方法。44文件掌握C语言中文件和文件指针的概念,掌握C语言中文件的打开与关闭及各种文件函数的使用方法。44复习(机动)6总计4444904.实施要求4.1教材编写与选用选用教育部国家高职高专“十一五”规划教材《C语言程序设计》(高等教育出版社,乌云高娃主编,2009年版)及配套教学资源,保证优质课程教学资源进入课堂。配套完整的实训教材,为配合课程实训的需要,参考《C语言程序设计》精品课程资源,编写《C实训指导书》,根据课程特点和学生的实际情况,强调课程内容之间的内在联系和程序员工作的系统性,注重了案例分析和工作任务的设置,力争在教学中取得良好的效果。补充教学参考书:[1]徐建民主编《C语言程序设计》,电子工业出版社,2010[2]李大友主编《C语言程序设计》,清华大学出版社,2010[3]张强华主编《C语言程序设计》,人民邮电出版社,20114.2教学模式与方法《C语言程序设计》作为专业基础课,一方面要把基本知识讲透,一方面要让学生掌握基本技能去解决实际问题。因此,我们严格遵循“教、学、做合一”的原则,改变了以教师讲课为中心的传统教学模式,真正做到了以学生为主体,教师为主导,让学生边学边做,并在实训环境中熟练掌握相关的操作技能和编程方法。在教学方法上应积极推行任务驱动法、案例教学法、模拟情境法、分组讨论法、现场演示法等多种“以学生为主体”的教学方法,其中“任务驱动法”、“案例教学法”的教学方法效果最为突出。4.3教学考核与评价1、教学考核。该课程考核采用学习态度占10%、实验作业20%、期末考试70%,其中期末考试采用笔试和机试相结合的方式。机试考核学生的项目开发能力,占据期末总成绩的30%2、教学评价(1)本课程在教学中,严格按照学校教学质量监控实施办法,结合督导处、学生信息员的反馈信息,及时调整教学内容和方法。(2)本课程教学工作结束后,任课老师应当综合教学日志,授课计划执行情况,教学期中及期末检查情况(学生评教、教师评教)和考试成绩分析情况,对教学效果进行评价,提交课程教学总结。(3)本课程标准由教研室组织校内专家定期进行评价,通过对课程标准实施过程中的问题和需求进行研究和分析。对课程标准进行修订。4.4课程资源开发与应用我系目前正在建立完善的校内、校外实习实训基地。校内实训基地主要有:软件1室(S1-303)、软件1室(S1-306)。现已建成的校外实训基地主要有:北京阿博泰克北大青鸟信息技术有限公司、江苏微软技术中心、淮安市远景德盛科技发展有限公司、南京德博科技有限公司。系和专业教研室还在积极运作,争取建立更多的校外实习实训基地。设立校外实训基地,运用虚拟项目、虚拟情境、虚拟工作过程,通过这些虚拟的仿真环境,架