南 京 中 医 药 大 学
《程序设计基础》实验教学大纲
(适用于_计算机类、医学信息工程、人工智能__专业)
课程名称: 程序设计基础英文名称:Foundation of programming
课程类别: 专业基础必修课 课程编码:088000
课程学分:0(3)课程学时: 36(72)
开课单位: 人工智能与信息技术学院 实 验 室:计算机实验室
实验项目数:12课程负责人:陆志平
课程简介
本课程是计算机科学与技术专业必修的专业课程之一,是数据结构、操作系统等课程的前导课程。课程主要介绍程序设计的基本内容,有数据类型、常量与变量、程序结构、函数、结构体、指针和链表等内容。本课程以C 语言为基础,介绍程序设计的思想和方法。同时,该课程也是一门实践性很强的课程,学生通过大量实验来学习程序设计的基础知识和技能,并在实践中培养学生的创新意识,养成良好的程序设计习惯,为后续学习与开发打下良好基础。
二、教学目标与基本要求
本课程以培养学生全面掌握程序设计的基础知识、语法、使用C语言完成完整程序的编写、培养学生编程能力和良好的专业素养为目标。
在实验过程中,鼓励学生采用探究学习方式,学生通过自主、独立的调查收集资料、处理信息、交流材料等探索活动,获取知识技能,培养探索精神和创新能力。学习过程以学生为主体,弱化教师的主导地位,教师主要以引导和解答的形式来指导学生的学习,从而成为学生学习的合作者。在探索学习的过程中掌握基本的社会、身体和心理健康、安全、法律等方面知识和技能,了解计算机领域活动与之相关性。教师积极主动的参与学生学习的过程,并利用有利于学生学习的因素,激发学生学习的内在动力,让每个学生体会到学习的乐趣,拓展学生自主、合作、探究学习的空间,指导学生选择适合自身发展需要的学习方法,激发学生的情感体验,丰富学生知识,发展学生能力。
通过课程学习,学生能够完成项目的规划、设计、调试、运行及文档的书写。能灵活应用C语言进行程序设计,具备利用计算机求解基本问题的能力,从而理解计算机相关领域工程实践中应承担的社会责任。结合本课程的教学特点,从基本技能、综合技能到应用创新技能培养学生实践能力和创新能力。
三、实验项目、内容与学时分配
实验项目(实验大纲填写)
序号 | 实验项目名称 | 学时 | 内容提要 | 实验类型 |
基础性 | 综合设计性 | 创新性 |
1 | 熟悉IDE,掌握程序的编写、编译、调试和运行 | 3 | [实验目的] 通过本次实验,学生需掌握C程序编译环境的使用与程序架构 [实验内容] 1、CodeBlocks中创建项目 2、使用CodeBlocks快捷键进行操作 3、观察程序架构 4、编写、编译、连接、运行程序 5、对程序进行调试 [实验方法及原理] 1、讲解实验内容、实验步骤及实验思路 2、学生上机实践,解答学生实验中遇到的问题 3、总结实验中出现的问题 | √ |
|
|
2 | 编程熟悉简单的算术运算和常量定义 | 3 | [实验目的] 通过本次实验,学生需掌握算术运算符和表达式的应用,并能熟练使用常量参与运算 [实验内容] 1、运用各种数据类型进行编程练习 2、运用类型转换求解表达式 3、通过变量的赋值与赋值运算输出实验结果 [实验方法及原理] 1、讲解实验内容、实验步骤及实验思路 2、学生上机实践,解答学生实验中遇到的问题 3、总结实验中出现的问题 | √ |
|
|
3 | 输入输出语句编程练习 | 3 | [实验目的] 通过本次实验,学生需掌握C语言算术运算及输入与输出函数的应用 [实验内容] 1、设计术运算符及算术表达式 2、通过printf()函数输出表达式的值 3、通过scanf()函数输入值 [实验方法及原理] 1、讲解实验内容、实验步骤及实验思路 2、学生上机实践,解答学生实验中遇到的问题 3、总结实验中出现的问题 | √ |
|
|
4 | 运用选择结构编写程序 | 3 | [实验目的] 通过本次实验,学生需掌握C程序中选择语句的语法,学会运用选择结构解决简单的问题 [实验内容] 1、运用分支程序预测个人身高 2、运用分支程序解决提醒判断的问题 3、总结不同分支语句的运用环境 [实验方法及原理] 1、讲解实验内容、实验步骤及实验思路 2、学生上机实践,解答学生实验中遇到的问题 3、总结实验中出现的问题 |
| √ |
|
5 | 运用循环求解简单问题 | 3 | [实验目的] 通过本次实验,学生需掌握C程序循环语句的语法结构,学会使用循环结构来解决重复操作的问题 [实验内容] 1、通过循环解决国王的许诺问题 2、使用循环结构设计一个小学生计算机辅助教学系统 3、通过实验分析不同循环结构之间的区别以及使用的环境 [实验方法及原理] 1、讲解实验内容、实验步骤及实验思路 2、学生上机实践,解答学生实验中遇到的问题 3、总结实验中出现的问题 |
| √ |
|
6 | 编写函数程序、练习函数的调用 | 3 | [实验目的] 通过本次实验,学生需掌握函数的定义、调用方式;掌握形参与实参之间的关系;掌握局部变量与全局变量之间的关系 [实验内容] 1、采用试商法等发方法求素数 2、在求得素数的基础之上,设计各种其他相关的应用 3、用函数改写上次实验课程的内容 4、总结函数的使用方法与注意点· [实验方法及原理] 1、讲解实验内容、实验步骤及实验思路 2、学生上机实践,解答学生实验中遇到的问题 3、总结实验中出现的问题 |
|
| √ |
7 | 用数组解决给定问题 | 3 | [实验目的] 通过本次实验,学生需掌握数组的概念与定义方式;掌握数组的应用;掌握数组作为函数参数的本质及使用方式 [实验内容] 1、设计学生成绩管理系统 2、运用数组存储学生的各种信息 3、通过数组进行统计学生成绩等信息 4、运用函数解决上述问题 [实验方法及原理] 1、讲解实验内容、实验步骤及实验思路 2、学生上机实践,解答学生实验中遇到的问题 3、总结实验中出现的问题 |
|
| √ |
8 | 指针和字符串程序练习 | 3 | [实验目的] 通过本次实验,学生需掌握字符串的存储;掌握字符串指针的应用;掌握字符串处理函数的应用 [实验内容] 1、运用二维字符数组改写学生成绩管理系统,形成v3.0版本 2、运用二维字符数组对学生姓名进行排序 3、按姓名查询学生的相关信息 [实验方法及原理] 1、讲解实验内容、实验步骤及实验思路 2、学生上机实践,解答学生实验中遇到的问题 3、总结实验中出现的问题 |
|
| √ |
9 | 指针与数组的综合运用 | 3 | [实验目的] 通过本次实验,学生需掌握指针与一维数组之间的关系;掌握指针数组及其应用;掌握动态数组的定义方式 [实验内容] 1、运用指针与数组改写学生成绩管理系统,形成v4.0版本 2、运用指针与数组计算学生与课程的相关统计数据 3、通过实验总结指针与数组一起使用的意义 [实验方法及原理] 1、讲解实验内容、实验步骤及实验思路 2、学生上机实践,解答学生实验中遇到的问题 3、总结实验中出现的问题 |
|
|
|
10 | 二维数组指针的应用 | 4 | [实验目的] 通过本次实验,学生需掌握指针与二维数组之间的关系;掌握二维字符数组的概念与特点;掌握通过指针给二维字符数组进行排序 [实验内容] 1、运用二维数组与指针给字符串数组进行排序 2、总结普通指针与数组指针的区别 [实验方法及原理] 1、讲解实验内容、实验步骤及实验思路 2、学生上机实践,解答学生实验中遇到的问题 3、总结实验中出现的问题 |
|
| √ |
11 | 结构体程序的设计 | 3 | [实验目的] 通过本次实验,学生需掌握结构体的概念与定义;掌握结构体数组的定义与初始化;掌握结构体指针的定义与初始化 [实验内容] 1、运用结构体改写学生成绩管理系统,形成v5.0版本 2、实现各个模块的功能 3、总结结构体实现与数组实现的区别 [实验方法及原理] 1、讲解实验内容、实验步骤及实验思路 2、学生上机实践,解答学生实验中遇到的问题 3、总结实验中出现的问题 |
|
| √ |
12 | 文件输入输出程序编写 | 2 | [实验目的] 通过本次实验,学生需掌握文件的概念与本质;掌握文件的打开与关闭方式;掌握文件按字符读写与按字节读写的方式 [实验内容] 1、运用文件的输入输出功能完善学生成绩管理系统,形成v6.0版本 2、将信息写入到文件中 3、系统可以从文件读取信息再进行处理 [实验方法及原理] 1、讲解实验内容、实验步骤及实验思路 2、学生上机实践,解答学生实验中遇到的问题 3、总结实验中出现的问题 |
| √ |
|
五、教材及主要参考资料
1. 教材
苏小红.C 语言程序设计(第4版),高等教育出版社,2019.8.1
2. 参考资源
(1)教学平台
南京中医药大学在线学习平台:e.njucm.edu.cn
中国大学MOOC:http://www.icourse163.org/university/icourse#/c
课程教师联系方式:QQ:7751824
(2)参考书目
Stephen Prata.C Primer Plus 第6版, 人民邮电出版社,2019.11.1
Cristina,Videira,Lopes.编程风格:好代码的逻辑, 人民邮电出版社,2017.8.1