图书前言

前言

“程序设计基础”(C语言程序设计)是高职软件专业一门重要的专业必修课程,课程实施的目标为: 使学生掌握基本的编程思想和模块化的编程思路,能够使用C语言进行程序设计和软件开发; 同时培养学生养成良好的学习习惯和学习兴趣,培养团队协作和自主学习能力,为后续其他专业课程的学习打下良好的学习基础。

传统的学科式课程知识体系不适合当前的职业教育。高职学生普遍抽象逻辑思维能力较弱,却具有较强的形象思维能力,适合“在做中学”,不适应以知识逻辑为中心的学科课程学习。以知识点为中心的授课,各个知识点分散,难以串联起来,缺少完整性,学生学完后难以应用。而且琐碎枯燥的知识难以引起学生的学习兴趣。因此,作者在高职软件专业教学中,一贯坚持“项目引导、任务驱动”的教学模式,旨在使学生不但学会知识,更要学会应用知识完成实际项目。编者将课程内容重新设计,基于工作过程系统化的项目化教材的设计和编写思路,以“学生成绩管理系统”作为教学项目,将项目划分为六大模块和若干任务,将C语言的所有相关知识点融入对应的模块任务中。

在教学项目的分解和设计中,采用的是将模块化编程的思路贯穿整个项目的构建过程中。将函数的概念提前到项目初级阶段,提前灌输模块化的编程思路,将函数的设计与调用贯穿在整个教学过程中,培养学生模块化程序设计思路。先搭建项目骨架,再逐个填充项目模块,完成数组实现的项目版本1。再通过用指针结构体重构项目版本2,以及用文件继续重构项目版本3。通过项目的不断重构,可以让学生反复学习和理解函数的定义和使用,即模块化的编程思路,同时也可以让学生通过一个项目的3个版本的不断学习和实践完成数组、指针结构体、文件等难点的理解和掌握,并能够进行项目化的编程,提高应用能力。

本教材基于革新的教学方案,按项目开发流程组织各模块,并将任务组织在相关的模块中。模块一: 学生成绩管理系统需求分析和设计,使学生对课程的能力目标有一个总体的认识; 模块二: 项目的数据定义及运算,对系统所使用到的数据类型和相关运算,以及相关设计规范,进行阐述,引入标识符、数据类型和运算符的概念; 模块三: 项目用户菜单设计,进行逐步递进的设计与实现,引入输入/输出、选择和循环控制的概念; 模块四: 学生成绩管理,实现班级学生成绩的添加、浏览、统计、排序和查询,引入函数的设计和调用、数组,及相关的排序等算法; 模块五: 项目重构1——结构体和指针,用结构体重构系统的数据类型,引入结构体和指针的概念; 模块六: 项目重构2——文件,用文件实现系统的输入/输出,引入文件的概念。

各模块中,包含实现此模块所需的所有逻辑相关的任务,在各任务中均包含: 此任务的任务描述与分析; 相关知识与技能; 任务实施(自然算法、流程图、数据结构、编码算法、具体实现、运行分析); 拓展训练(对一些经典的算法,如穷举、迭代、递归等,进行分析,要求学生自行完成,以拓展学生的算法设计能力)。

本书紧密结合项目化课程教学改革,既满足了对项目整体能力的训练要求,又兼顾对基础理论和算法的学习要求。本书项目引导、任务驱动,通过仿真项目开发流程,设计逻辑相关的模块和任务。通过将项目划分为六大模块,17个任务。重构程序设计的理论知识,寓理论知识于项目任务实践中,实现“教、学、做”一体化。

本书的主要创作团队为课程组的屠莉、周建林、刘萍、苏春芳、坎香。包芳对本书进行了细致的总审。当然也离不开家人和其他领导同事的关心与支持,在此一并表示真挚的感谢!

由于编者水平有限,书中难免有不足之处,希望广大读者批评指正,并提出宝贵的意见和建议。(编者邮箱: yzutuli@163.com)

编者2017年2月