全部课程 >程序设计基础Programming Fundamentals

课程基本信息

课程编码:042918

课程类别:专业基础课(必修),

先修课程:

适用专业:软件工程(卓越计划班),

开课院部:计算机与网络安全学院

课程负责人:欧阳骥

课程教学团队:
课程资源: 没有资源记录!

课程展示

课程简介

《程序设计基础》是为软件工程专业开设的第一门程序设计课程。本课程以C语言为载体,介绍程序设计语言的基本概念、结构化程序设计的一般方法以及算法的概念及其表示方式,C语言的基本数据类型及其运算、三种基本程序控制结构、编译预处理、数组、函数的嵌套调用与递归调用、结构体与共用体、指针及其应用、文件及其操作等,为后续其它程序设计语言与工具、学科基础课程、专业课程学习提供程序设计的基础。

课程教学要求

结合专业培养目标,提出本课程要达到的目标。这些目标包括:

1.知识与技能目标

通过本课程的学习,理解算法的概念与表示方式,掌握用程序框图或N-S图对问题解决的算法思想的描述和表达。掌握C语言的基本数据类型及其运算、三种基本程序控制结构、编译预处理、数组、函数的嵌套调用与递归调用、结构体与共用体、指针及其应用、文件及其操作。

2.过程与方法目标

在本课程的学习过程中,学生将学习结构化程序设计的基本思想、方法。初步具备对现实世界问题进行抽象思维和分析,用结构化程序设计方法,对解决问题的算法思想进行描述和表达的能力。理解程序错误的主要方面与原因,掌握程序调试与排除错误的基本方法,培养良好的程序设计和调试能力。

3.情感、态度与价值观发展目标

通过本课程的学习,使学生了解学习与运用、学习与能力的辩证关系。培养学生独立思考、合理分配和利用时间、不断总结、提高学习效率的良好学习方法。坚持不懈、勤于思考、严谨治学的科学态度,为未来的学习、工作奠定良好基础。

课程教学内容

表1  理论教学进程表

教学主题

要点与重点

要求

学时

4

C语言、算法和程序设计

计算机语言、程序的概念, C程序结构;程序设计基本步骤、程序设计的几个问题的思考、软件质量的属性;标识符、数据类型 、常量与变量

理解计算机程序和语言的概念、C程序结构;了解程序设计、软件质量度量的概念

6

5

数据类型、运算符与表达式,C程序结构

运算符与表达式、数据类型转换,C语言的语句与关键字,字符数据的输入与输出

掌握表达式的构造、数据类型转换;理解C程序的总体结构、函数的一般结构

4

6

基本输入与输出,算法及其描述

格式化输入与输出,算法及其概念、算法的表示,结构化程序设计方法

熟练掌握格式化输入与输出操作的实现,掌握用程序框图和N-S图表示算法

4

7

分支结构

关系运算、逻辑运算与条件运算,if、if┅else、switch语句

熟练掌握条件的表示,if、if┅else、switch语句及分支的嵌套

4

8

循环结构

当型循环与直到型循环,while、do┅while、for循环控制语句,程序排错与结构化、模块化程序设计

理解当型循环与直到型循环、熟练掌握while、do┅while、for 循环控制语句,理解结构化、模块化程序设计的思想与方法

4

9

函数,变量,预处理

函数的定义、函数的嵌套与递归调用,全局变量与局部变量,编译预处理

掌握函数的定义、嵌套与递归调用、参数的传递,掌握全局变量、局部变量及其应用,掌握预处理

4

10

数组

数组的定义、引用与初始化,向函数传递一维数组、二维数组,字符数组

掌握数组的定义、引用与初始化,向函数传递一维数组,字符数组和字符串函数的使用

4

11

指针

指针的概念,指针变量的定义与应用,指针变量作为函数参数,数组名作为函数的参数

理解指针的概念,掌握指针变量的定义、应用,掌握数组名作为函数参数的应用

4

12

数组的指针

二维数组的地址与指针,指针数组,字符串与指针

理解指向一维数组的指针变量,掌握通过指针变量处理字符串

4

13

结构体与共用体

结构体类型与结构体变量,结构体数组,结构体变量的指针、指向结构体变量的指针变量,共用体类型与共用体变量

掌握结构体类型、结构体变量、结构体数组的定义与应用,掌握指向结构体变量的指针变量的定义、使用

4

14

动态数据结构

链表的概念、特点,链表主要操作的实现

理解链表的概念、特点;理解链表主要操作的实现

4

15

位运算与文件操作

位运算,文件的概念及其操作

理解位运算,了解文件的概念及其操作

2

表2  实验教学进程表

周次

实验项目

名称

要点与重点

掌握程度

实验类型*

实验要求**

学时

5

C语言的实验环境

程序的编辑、编译、连接、运行

掌握程序的编辑、编译、连接、运行

验证性

必做

2

6

数据的输入/输出

格式化输入/输出操作

掌握数据的输入/输出;理解scanf()函数使用时可能存在的问题

验证性

必做

2

7

分支结构程序设计

分支及分支的嵌套

掌握条件的表示,if、switch语句的使用及分支的嵌套

验证性

必做

2

8

循环结构程序设计

循环及循环的嵌套

掌握各种循环控制语句的使用及循环的嵌套

设计性

必做

2

9

函数定义和使用

函数的定义、调用与数据传递

掌握函数的定义、调用方法与传递数据的方法

设计性

必做

2

10

编译预处理

宏定义、文件包含命令的使用;条件编译

掌握宏定义、文件包含命令的功能和使用;了解条件编译的特点和功能

验证性

必做

2

11

数组应用程序设计

数组的定义、赋值和输入输出

掌握数组的定义、赋值和输入输出的方法

验证性

必做

2

12

指针变量的使用

指针变量的定义、引用及作为函数的参数

掌握指针变量的定义、引用及作为函数的参数的应用

设计性

必做

2

13

数组名作为函数的参数

与数组有关的典型程序设计

掌握数组名作为函数参数的方法及典型应用

设计性

必做

2

14

结构体类型变量的定义、使用

结构体类型变量的定义、使用

掌握结构体类型变量的定义、使用和应用

设计性

必做

2

15

动态数据结构

单线性链表的操作实现

理解动态数据结构的思想、实现

综合性

必做

4

 

* 实验类型:分演示性、验证性、综合性、设计性等四种。设计性实验指给定实验目的要求和实验条件,由学生自行设计实验方案并加以实现的实验;综合性实验指实验内容涉及本课程的综合知识或与本课程相关课程知识的实验。

**实验要求:分必做、选做两种。

考核要求及成绩评定

考核内容

评价标准及要求

权重

作业

独立、按时完成每次布置的作业

10%

实验

按时、独立完成实验,实验结果正确,按时上交实验报告,实验报告正确、规范

10%

程序设计

在规定的时间内,编写并调试通过若干问题的程序,运行得到正确的结果

40%

期末考核(闭卷)

全部教学内容的闭卷考试

40%

期末考试方式

开卷□     闭卷√   课程论文□    实操

 

学生学习建议

1.学习本课程的方法、策略及教育资源的利用

C语言的知识并不多,但其知识体系是离散的,连贯性不强,对于刚进大学的一年级的学生来说,学习和掌握C语言还是有较大的难度。首先,在学习方式、方法方面尽快适应大学的要求。其次,对于本课程中的基本知识,尽可能地在理解的基础上记忆,通过对实际案例程序的理解,运行结果的分析帮助理解和记忆。第三,主动、独立完成规定的实验。通过从简单问题的程序设计到复杂问题的分析、抽象、程序设计与调试,逐步培养程序设计和调试能力。第四,根据知识点掌握程度的要求不同,学会合理安排学习时间,争取获得较好的学习效果。

2.学生完成本课程每周须耗费的时间

为掌握本课程的主要内容,除教学计划规定的学时外,理解和消化课堂教学内容、完成布置的作业、实验所花时间估计需要1∽2小时/天。

3.学生的上课、实验、讨论、答疑、提交作业(论文)单元测试、期末考试的等方面的要求

上课与作业:上课跟上教师的授课思路,认真听讲;课后按时按量独立、认真完成每次布置得作业。

实验:按照实验指导书的要求,独立完成。特别是程序设计题目,在对问题认真分析的基础上给出解决问题的算法,然后再进行程序设计和调试。在程序设计时,充分考虑程序质量方面的要求。

辅导答疑:采用课堂随堂答疑和专门时间答疑结合,及时帮助学生解决学习中的问题。

程序设计:专门考察学生程序设计和调试能力。在3个小时的规定时间内,每个学生独立完成若干个问题的程序设计并调试通过,由教师用专门的数据验证程序。主要包括:对于正确的数据是否运行得到正确的结果;对于异常数据或错误数据,是否做出反映。

期末考试:主要考察学生对C语言的基本知识及知识应用的掌握情况。

课程文档下载

课程大纲下载 课程考试大纲下载 课程历年试题下载

课程其它文档下载

本站 所有信息归:东莞理工学院 版权所有

技术支持: 北京文华在线教育科技股份有限公司    建议在IE8以上浏览器1024*768分辨率下浏览本站