《程序设计》课程教学大纲
课程英文名称 programming
课程代码:24125720课程性质:专业基础课(必修)
适用专业:计算机科学与技术、软件工程、 网络工程、信息安全 总学分数:3.0
总学时数:48学时
一、课程简介
本课程是计算机学院各专业必修的专业基础课,课程以课堂教学为主,辅以实验教学,使学生通过本课程的学习后,能全面掌握编程语言所有主要的语言元素,包括各数据类型,流程控制和标准函数库,并熟练地掌握结构化程序设计和变参数的函数功能设计,具备初步的高级语言程序设计能力。
course introduction
programming course is a fundamental and compulsory course for students who major in computer science-related specialties. the course mainly adopts the methodology of classroom teaching supplemented with experimental teaching. through this course, students are able to fully grasp all main language elements, including various data types, flow control and standard function libraries, and are proficient in the design of structured programming and variable parameter function, and can preliminarily design the programs with high-level programming languages.
二、课程目标与毕业要求
1.了解面向过程的程序设计技术和方法,掌握c语言的基本语法、基本语句、基本控制结构以及自顶向下结构化程序设计的基本方法,具备初步的高级语言程序设计能力,能够意识到算法、良好的程序、设计风格以及实践在本课程学习中的重要性。(支撑毕业要求指标点1.2)
2.具备一定的软件开发能力,能够熟练使用编程语言,针对具体问题进行分析和编码,用编程语言设计程序解决实际问题。(支撑毕业要求指标点3.3)
3.具备熟练应用编程语言集成环境和开发工具进行程序的编写、编译与调试的能力,具备一定的自学能力和能够 利用计算机网络获取新知识、新技术的能力,为将来从事软件研制开发打下坚实的基础。(支撑毕业要求指标点5.1)
表 1 课程教学目标对毕业要求指标点的关系矩阵
毕业要求指标点 | |||
1.2 | 3.3 | 5.1 | |
课程教学目标1 | √ | ||
课程教学目标2 | √ | ||
课程教学目标3 | √ |
表 2 本课程支撑的毕业要求和涉及的指标点的具体内容及贡献度
支撑的毕业要求 | 涉及的指标点 | 对应的本课程 教学目标 | 贡献度 |
毕业要求1:能够将数学、自然科学、工程基础和专业知识用于解决网络工程领域的复杂工程问题。 | 1.2能针对复杂计算系统和过程选择或建立适当的描述模型并求解。 | 教学目标1 | 0.4 |
毕业要求3:设计/开发凯发k8官网下载客户端的解决方案:能够设计针对网络工程领域的复杂工程问题的凯发k8官网下载客户端的解决方案,设计满足特定需求的系统、单元(部件)或工艺流程,并能够在设计环节中体现创新意识,考虑社会、健康、安全、法律、文化以及环境等因素。 | 3.3能够进行系统或工艺流程设计,在设计中体现创新意识。 | 教学目标2 | 0.3 |
毕业要求5:使用现代工具:能够针对网络工程领域的复杂工程问题,开发,选择与使用恰当的技术、资源、现代工程工具和信息技术工具,包括对网络工程领域的复杂工程问题的预测与模拟,并能够理解其局限性。 | 5.1掌握专业常用的现代仪器、信息技术工具、工程工具和模拟软件的使用原理和方法,并理解其局限性。 | 教学目标3 | 0.3 |
三、课程具体内容及基本要求
总学时 48 学时,课程具体内容及教学进度安排见下表。
序号 | 课内学时数 | 课内教学内容 | 学生学习任务 | 评价 方式 | 教学 目标 |
1 | 3 | c语言概述和算法初步 | 理解编程语言的特点;初步掌握在计算机上运行程序的方法;理解算法的概念和特性;能够用n-s流程图表示算法。 | 作业 | 教学目标1 |
2 | 5 | 数据类型、运算符与表达式、简单程序设计 | 在掌握基本数据类型的表示方法、运算符和表达式概念的基础上,能够进行简单的程序编写。 | 作业,实验 | 教学目标1 |
3 | 3 | 顺序程序设计 | 理解基本的语句,如控制语句、赋值语句等;能够结合输入输出语句设计编写简单的程序。 | 作业,实验 | 教学目标1 |
4 | 4 | 选择结构程序设计 | 在了解关系运算符和关系表达式,逻辑运算符和逻辑表达式的基础上,能够编写具有选择结构的程序。 | 作业,实验 | 教学目标1 |
5 | 4 | 循环控制 | 能够区别多种循环,具备实现循环的能力,编写具有循环嵌套的程序。 | 作业,实验 | 教学目标1 |
6 | 5 | 数组 | 能够定义和引用一维数组、二维数组和字符数组;能够利用数组来设计相关程序。 | 作业,实验 | 教学目标2 |
7 | 7 | 函数 | 掌握函数的定义和调用方法、变量的作用域和存储方式等概念;理解函数调用时参数传递的过程;能够区分值传递方式和地址传递;能够用函数实现模块化的程序设计。 | 作业,实验 | 教学目标2,3 |
8 | 9 | 指针 | 能够理解和使用指针变量;能够设计通过指针引用数组和字符串以及指向函数的指针的程序。 | 作业,实验 | 教学目标2,3 |
10 | 8 | 结构体与共用体 | 能够定义和使用结构体类型变量;能够定义和使用结构体数组;初步掌握用指针处理链表的方法;了解共用体和枚举类型的概念。 | 作业,实验 | 教学目标2,3 |
合计 | 48 |
四、考核与评价方式及标准
1、考核与评价方式及成绩评定
本课程考核包括理论和实验两部分,具体考核指标、比例如表4所示(注:平时作业、课堂测验、试卷、实验等评价依据应提供评分标准,请见附录)。
课程考核指标(总分100, 其中考核毕业要求1.3的约占100%)
一级考核指标 | 二级考核指标 | |||
指标内容 | 分数比例 | 指标内容 | 分数比例 | 支撑毕业要求指标点 |
1.1平时 | 10% | 考勤 | 100% | |
1.2作业
| 20% | 作业完成进度 | 50% | 1.2 3.3 5.1 |
基本概念 | 20% | |||
正确性 | 25% | |||
创新性 | 5% | |||
1.3考试 | 70% | 评分 | 100% | 1.2 3.3 5.1 |
作业评分标准表参考
80——100分 | 60——79分 | 40——59分 | 0——39分 | 得分 | |
作业完成进度(权重0.3) | 提前完成 | 按时完成 | 延时完成 | 补交 | |
基本概念掌握(权重0.2) | 80%以上概念清晰 | 60%以上概念清晰 | 40%以上概念清晰 | 40%以下概念清晰 | |
完成题目数量(权重0.5) | 完成题目数量的80%以上 | 完成题目数量的60%以上 | 完成题目数量的40%以上 | 完成题目数量的40%以下 | |
总分100 |
五、教材及参考书目
[1] 谭浩强编,《c程序设计(第四版)》,清华大学出版社,2010年出版
[2] 谭浩强,《c程序设计题解与上机指导(第四版)》,清华大学出版社,2010年出版
[3] 谭浩强,《c程序设计试题汇编》,清华大学出版社,2004年出版
六、说明
(一)与相关课程的分工衔接
先修课程: 计算机导论、计算机应用基础
后续课程: 数据结构、java程序设计、c#程序设计与.net技术
(二)其他说明
无。