hi,小慕
课程

中国大学MOOC,为你提供一流的大学教育

hi,小mooc
期末考试会员
认证学习
程序设计综合实践
第6次开课
开课时间: 2024年08月25日 ~ 2024年12月25日
学时安排: 3-5小时每周
当前开课已结束 已有 100 人参加
认证学习
认证成绩和证书
智能问答和解析
视频学习辅助
老师已关闭该学期,无法查看
课程详情
课程评价(597)
spContent=C程序设计的配套综合实践课程,课程的目标是:夯实语言基础、提高编程能力和算法设计能力,培养同学们的培养计算思维和工程思维,通过案例驱动教学,弥补传统教学内容和模式导致同学们复杂问题分析和设计能力、工程化思维、系统资源及第三方库调用能力的不足。
C程序设计的配套综合实践课程,课程的目标是:夯实语言基础、提高编程能力和算法设计能力,培养同学们的培养计算思维和工程思维,通过案例驱动教学,弥补传统教学内容和模式导致同学们复杂问题分析和设计能力、工程化思维、系统资源及第三方库调用能力的不足。
—— 课程团队
课程概述


程序设计能力和系统设计能力(简称“双基“能力)不足是现在计算机类学生中普遍存在的问题。其中,程序设计能力薄弱,将导致后续课程难以达成预期的课程目标,无法培养国家和社会所需的专业人才。本课程主要培养同学们的计算思维和工程思维,使大家具备理论联系实际、分析问题和解决问题的能力,为后续专业课程的学习,打下坚实的基础。


本课程设置了人工智能、游戏开发、管理信息系统、基础算法四大专题,均以项目驱动方式,从实际问题出发,进行问题分析、算法设计、编码实现、测试和优化等实践过程,使同学们潜移默化地强化编程思维,巩固和提升使用计算机编程解决实际问题的能力;逐步建立从计算机视角来分析问题、解决问题的计算思维和工程思维,实现从“知识——能力——思维”的蜕变。弥补传统教学内容和模式导致学生复杂问题分析和设计能力、工程化思维、系统资源及第三方库调用能力不足的问题,并为后续人工智能、软件开发、游戏开发等能力培养奠定坚实的基础。

授课目标

1、初步建立计算思维,能够根据实际需求独立或合作设计解决方案;

2、具备实现小型软件系统的设计方案及内部模块算法的能力;

3、能够在实现设计方案的过程中,灵活调用第三方资源,提高问题解决效率;

4、能够设计测试用例,完成系统功能测试及系统优化;

5、通过人工智能案例学习,使学生了解科技发展前沿,从而树立投身科学研究和技术创新的远大理想;通过合作学习与开发,使学生具备团队协作、合作共赢的意识。

课程大纲
简单房价预测项目
课时目标:通过一个简单房价预测问题,介绍一元线性回归方法,并通过C语言实现房价预测问题的求解
1.1 问题描述与解题思路
1.2 项目实现
简单房价预测项目课件
案例源码
简单房价预测项目单元测验
鸢尾花分类项目
课时目标:通过无监督学习的鸢尾花分类问题,介绍聚类算法,并通过C语言实现鸢尾花分类问题的求解
2.1 问题描述与解题思路
2.2 全局变量与代码整体框架
2.3 数据读入与簇群初始化
2.4 Kmeans核心算法实现
鸢尾花分类项目课件
案例源码
鸢尾花分类项目单元测验
波士顿房价预测项目
课时目标:通过波士顿房价预测问题,介绍三层BP神经网络算法模型,引入更多维度特征,预测波士顿房价,最后通过C语言实现波士顿房价预测问题的求解
3.1 问题描述与分析
3.2 三层BP神经网络模型与神经元模型
3.3 神经网络前向与反向传播的计算过程
3.4 BP神经网络算法流程
3.5 全局变量与代码整体框架
3.6 训练数据读入与神经网络初始化
3.7 神经网络训练与模型评估
波士顿房价预测项目课件
案例源码
波士顿房价预测项目单元测验
贪吃蛇的控制台游戏
课时目标:首先分析贪吃蛇游戏的功能结构和业务流程,然后使用C语言逐步实现基于控制台的贪吃蛇游戏
4.1 功能及业务流程介绍
4.2 头文件与主程序文件代码实现
4.3 游戏各菜单界面实现
4.4 初始化地图与食物生成功能实现
4.5 蛇移动等功能实现
贪吃蛇的控制台游戏课件
案例源码
贪吃蛇的控制台游戏单元测验
基于MFC的俄罗斯方块游戏
课时目标:首先分析俄罗斯方块游戏的功能结构和业务流程,然后,引入面向对象方法,基于MFC使用C++开发窗体式俄罗斯方块游戏。
5.1 建立框架
5.2 添加功能模块
5.3 消息响应和界面绘制
基于MFC的俄罗斯方块游戏课件
案例源码
基于MFC的俄罗斯方块游戏单元测验
学生成绩管理系统
课时目标:首先对学生成绩管理系统功能和业务流程进行分析,然后进行功能模块的设计,并使用C语言逐步实现学生成绩管理系统的基本功能
6.1管理信息系统开发概述
6.2 系统功能和执行流程
6.3 预设项目基本信息
6.4 system函数
6.5 主函数框架
6.6 系统主菜单界面
6.7 编码实现系统主菜单界面
6.8 设置文字输出位置
6.9 输入学生信息
6.10 计算学生成绩
6.11 学生记录存盘
6.12 从磁盘读取学生记录
6.13 增加学生记录
6.14 按学号查询学生记录
6.15 按姓名查询学生记录
6.16 删除学生记录
6.17 修改学生记录
6.18 输出学生记录
6.19 按姓名对学生记录排序
6.20 按学号对学生记录排序
6.21 按成绩对学生记录升序排序
6.22 按总分对学生记录降序排序
6.23 学生成绩统计
6.24 退出系统
学生成绩管理系统课件
案例源码
学生成绩管理系统单元测验
线性结构
课时目标:能够掌握线性表的概念、线性表的顺序存储和链式存储、栈和队列、算法和算法分析;能够在掌握的基础上,分析和解决实际问题。
7.1线性表的概念
7.2算法和算法分析
7.3线性表的顺序存储
7.4线性表的链式存储
7.5栈和队列
线性结构案例源码
线性结构单元测验
递归程序设计
课时目标:掌握栈与递归、分治法和回溯法;要求在掌握的基础上,能够分析实际问题和并选择合适的算法解决问题。
8.1 栈与递归
8.2 分治法
8.3 回溯法
递归程序设计案例源码
递归程序设计单元测验
查找和排序
课时目标:掌握顺序查找和二分查找,掌握常用的排序算法:冒泡排序、选择法排序、插入排序、归并排序、快速排序、计数排序、桶排序、归并排序等;要求能在掌握的基础上,能够正确应用。
9.1查找和简单排序
9.2归并排序和快速排序
9.3其它特殊排序方法
查找和排序单元测验
展开全部
预备知识

学习过C语言程序设计,掌握了分支、循环、数组、指针、结构体、链表、文件等基础知识,具备一定程序设计基础和程序调试能力。

参考资料

C程序设计的配套综合实践课程教材《程序设计综合实践》,林菲、马虹、李卫明编著,西安电子科技大学出版社,2021.2,ISBN:978-7-5606-5996-1

常见问题

Q : 本课程使用的集成开发环境是什么?A :除第5章 基于MFC的俄罗斯方块游戏需要使用visual studio 2017或visual studio 2019 外,其余章节可使用code::blocks, dev c++等

Q : 学习这门课程需要什么知识和技能基础?A :学习这门课程前,需要掌握c语言的基础语法知识,包括输入/输出、基本数据类型、表达式、语句、分支、循环、数组、函数、编译预处理、指针、结构体、单链表、文件等;掌握基本的算法,如查找、排序等;能够用c语言编写简单的程序;能够进行程序调试

杭州电子科技大学
3 位授课老师
林菲

林菲

教授

马虹

马虹

讲师

李卫明

李卫明

副教授

推荐课程

会计学基础

罗炜

33166人参加

创业基础

李家华

38028人参加

领导力与团队管理

王国锋

35009人参加

现代市场营销素质与能力提升

杨洪涛

20177人参加
下载
下载

下载App