C语言的教学大纲
实践学期《 C语言项目训练 ?》教学大纲
一、适用专业和层次
本课程适用于四年制本科一年级计算机科学与技术专业、软件工程专业、网络工程专业全体学生。
二、教学目的和任务
通过学习本课程,学生能够较全面地掌握C语言的基础知识,并对数组、函数、指针、结构体、文件等C语言的较深入知识有进一步理解,能够熟练地应用这些知识,结合结构化软件工程的思想和程序设计思想,实现一个模拟的实际项目,初步具备一个C程序员的基本技能。具体包括:
程序设计思想:
?????????? 进一步深入理解计算机程序设计的思想
?????????? 掌握计算机中一些较常用的简单算法的思想
?????????? 能够通过查阅资料,编写代码实现这些算法,并对算法的思想有一定的理解。
C语言相关知识及技能的掌握:
?????????? 掌握C语言基础知识,包括C语言程序的语法、结构化程序设计的三种结构、数据的输入/输出
?????????? 掌握数组的输入、输出、查找等常用操作,了解简单的排序算法
?????????? 理解函数的定义、声明、调用,并能够根据需求编写出能够实现相应功能的自定义函数
?????????? 进一步理解指针的概念及使用,能够实现指针作为函数参数的函数的编写
?????????? 理解结构体的定义和结构体成员的引用,掌握结构体数组的使用方法
?????????? 掌握文件的操作顺序,深入理解并使用文件操作的相关函数。
具体任务及文档要求:
实践学期结束之后,要求学生完成具体任务,包括:
?????????? 撰写实习报告、程序设计、项目实施等
?????????? 提交纸版的实习报告(含程序流程图)
?????????? 提交电子版的源程序代码。
三、教学重点与难点
需明确教学内容中需要重点把握的内容和学生较难把握的内容,并简要提出教学解决方案。
在实际项目设计和编码过程中,每个程序员使用的方法及思想均有所不同。本课程的教学重点难点在于通过本案例的实施,如何帮助学生掌握程序设计的一般思想,并能够灵活应用C语言的相关知识来对案例进行分析和设计,最终实现一个功能较完整,程序执行正确的模拟实际项目。
4.2? 重难点分布表
重点:使学生掌握一个实际模拟项目的运作全过程,对C语言知识的综合运用,包括函数、指针、文件和结构体;可以采用边讲边练或专题讲座的方式进行教学。
难点:实习报告书的书写,可以贯穿于实习的全过程。
????? 本课程案例教学过程中的重难点分布如下表所示:
知识点重点难点建议学时教学解决方案案例总体介绍、开发过程介绍、系统需求分析√?2介绍本课程需要开发的案例的总体情况,及一般的开发过程,引导学生分析系统。菜单显示模块、系统总体框架图和流程图√?2菜单的图形方法,要求学生根据展示图实现相应的菜单显示模块,并根据总体流程图初步搭建系统框架。系统框架搭建√?2根据系统总体流程,分析出每个模块的函数名,并在主函数中实现调用关系。添加记录模块√√2介绍模块基本功能,重点讲授在数组中插入元素的方法,指导学生编程实现记录的插入。并介绍如何避免重复记录和不正确信息的记录进入系统中(即数据验证)。数据写入模块√?2介绍文件操作的过程,重点介绍用fwrite函数将数组的各元素写入到文件中的方法。数据读取模块√?2介绍文件读取的思想,重点介绍用fread函数将文件的数据读取到内存数组中的方法查询模块(按姓名和球员编号查询)√?4介绍查询模块的基本功能,重点讲解如何在结构体数组中查找匹配的字符串,指导学生编程实现查询模块。排序模块(按薪水和年龄排序)√√6介绍排序模块的基本功能,详细讲授选择法排序的算法思想,指导学生编程实现排序模块。删除记录模块√√2介绍模块基本功能,重点讲授从数组中删除元素的方法,指导学生编程实现记录的删除报表模块(统计报表)√√4一般报表的实现方法(包括:统计人员数量、薪水总量、按角色分类汇总、定制报表)。系统集成测试√?4介绍测试的过程及简单的测试方法,如白盒测试、黑盒测试等,并指导学生如何编写测试用例,并进行较完备的系统测试界面美化设计及完善程序功能??4介绍界面设计的简单原则,老师指导学生完善系统的界面美化设计,修正程序中关于错误操作的处理,由学生自己完善实施。总结、答辩、完善实习报告√?4总结课程中使用到的相关知识点,并抽取一些学生进行答辩。?
?
四、教学组织形式
本课程为实践课程,教学采用边讲边练、精讲多练的形式。教师把每天每个子案例的需求分析给学生,然后讲解如何解决本子案例的思路,并辅以程序流程图。学生在教师的指导下,通过自己动手、查阅资料、分组讨论交流等方