为避免消息延误,影响课程成绩,请选课的同学第一时间加入QQ课程群:686310439(2025年春程序设计基础SPOC),课程答疑和所有课程重要通知均在QQ课程群里发布。
本课程和《程序设计基础》的理论教学方法不同,本课程从系列程序实例入手,手把手教会大家学会编程。主要特点有:
1、零基础学习编程,贯穿计算思维
计算思维的基本含义是运用计算机科学的基础概念 进行问题求解、系统设计的思维过程。通过约简、嵌入、转化和仿真等方法,将复杂问题模块化,自顶向下,逐步求精。在本课程中,将让学生学会将实际问题转化为计算思维的核心模式,即:存储(数据结构--数组、指针、结构体等)和算法(程序结构--顺序、选择、循环)。
2、通过实例分析,直接上手实践
精心设计了从零基础开始的100个实例,将编程的学习模式设计为:程序阅读、程序仿写、实例的设计实现三个部分,完成从实践到理论,从实例到知识点的学习过程。
3、层次化建模,逐渐、悉编程核心思想
贯穿自顶向下、逐步求精、模块化的程序设计核心思想,让学生在学习过程中掌握模块之间接口的基本技术,熟悉从自然模型到数学模型再到计算模型的建模过程,深入了解 程序设计=算法+数据结构的 程序设计思想。
4、举一反三,反复巩固知识点
从程序框架、流程图、Raptor、代码多角度解析编程方法和思想,经过实例解析后列出类似习题加强训练,通过反复的练习促进知识点掌握,让学生完成从旁观者到实践者的角色变换。
5、通过案例分析,从编程到软件开发
精选实际案例进行解析,了解软件开发的基本流程,接触需求分析、概要设计和详细设计、和编码过程,理解程序调试和测试意义,初步了解软件界面的基本原则。
本课程旨在让零基础的学生(小学生,中学生,大学生,任何想学习程序设计的成年人),通过实例和案例迅速了解程序设计的基本方法;能够上手做几个小实例,开发几个案例,迅速走上程序猿/媛的康庄大道。
请各位同学注册、登录并熟悉PTA平台(https://pintia.cn)作答题目,我们的各项考试均在PTA平台上进行。
本课程总分为100分,平时成绩20分(PTA上老师留作业,学生按时完成),期中考试20分(PTA上上机考试,考试题型为编程题),期末考试60分(统一线下PTA上机考试,考试地点是南校区信息楼机房,请选修该课程的北校区同学注意期末考试地点。考试题型包括选择、判断、程序填空、编程题)。
第1章 编程环境安装及初级调试
14-01_VC++6.0的安装及使用
14-02_VC ++6.0的调试
14-03_Dev C++的安装及使用
14-04_Dev C++的调试
14-05_CodeBlocks的安装及使用
14-06_CodeBlocks的调试
14-07_Raptor的安装及使用
第2章 基本元素和输入输出
2-01_加法
2-02_商品价格计算
2-03_字母大小写转换
2-04_求圆面积
2-05_赋值
2-06_格式输入输出函数
2-07_字符输入输出
第3章 选择结构
3-01_排序
3-02_奖金发放
3-03_判断天数
第4章 循环结构
4-01_分数序列之和(上)
4-01_分数序列之和(下)
4-02_组成无重复三位数
4-03_猴子吃桃
4-04_求1到100和
4-05_continue语句
4-06_break语句
第5章 数组(上)
5-01_冒泡法排序(上)
5-01_冒泡法排序(下)
5-02_选择法排序
5-03_插入法排序
5-04_输出杨辉三角形
5-05_魔方阵(上)
5-05_魔方阵(下)
第5章 数组(下)
5-06_二维数组转置
5-07_寻找数组鞍点(上)
5-07_寻找数组鞍点(下)
5-08_统计字符个数(上)
5-08_统计字符个数(下)
第6章 构造性数据
6-01_输出成绩较高的学生信息
6-02_输入输出学生信息(上)
6-02_输入输出学生信息(下)
6-03_输入学生信息求其平均成绩(上)
6-03_输入学生信息求其平均成绩(下)
6-04_寻找n个人中年龄最大者(上)
6-04_寻找n个人中年龄最大者(下)
6-05_共用体类型数据的输入输出(上)
6-05_共用体类型数据的输入输出(下)
第7章 模块化程序设计(上)
7-01_最大公约数和最小公倍数(上)
7-01_最大公约数和最小公倍数(下)
7-02_输出100-200之间的素数(上)
7-02_输出100-200之间的素数(下)
7-03_牛顿迭代法(上)
7-03_牛顿迭代法(下)
7-04_函数递归调用求n的阶乘(上)
7-04_函数递归调用求n的阶乘(下)
第7章 模块化程序设计(下)
7-05_逆序存放字符串(上)
7-05_逆序存放字符串(下)
7-06_字符串的复制(上)
7-06_字符串的复制(下)
7-07_数制转换(上)
7-07_数制转换(下)
7-08_字符串的连接(上)
7-08_字符串的连接(下)
第8章 指针
8-01_用指针实现两个整数的相加和相乘
8-02_用指针逆置一维数组
8-03_指向一维数组的指针变量
8-04_指针作为函数的参数
8-05_函数指针
8-06_指针数组
8-07_构造动态一维数组
8-08_二维动态数组
8-09_单链表的基本操作
第9章 文件预处理
9.1 宏定义
9.2 文件包含
9.3 编译预处理
第10章 文件读写
10.1 文件的打开和关闭
10.2 字符串读写
10.3 数据文件的读写
学习本课程可以从零基础开始,无需预备知识。个别实例涉及到高等数学的数值计算,可能需要高等数学的基础。
1、《C语言程序设计层次化实例教程——微课视频版》. 清华大学出版社. 2021
2、西北大学的同学,可以参考冯筠老师的《程序设计基础实验报告》(1-20)
3、课程涉及到的所有源代码、Visio流程图、Raptor代码及课件,可以在 www.nwu-ipmi.cn 网站上下载