IE盒子

搜索
查看: 92|回复: 1

头歌|北京航空航天大学《C语言程序设计》课程实践资源 ...

[复制链接]

2

主题

5

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2022-12-17 19:41:49 | 显示全部楼层 |阅读模式
C语言是编程入门的最佳计算机语言之一。C语言编程入门容易、学好困难,既需要大量的编程实践,也需要对C语言原理的深入分析。
为了帮助大家打开程序设计的大门,感悟到编程之美,北京航空航天大学宋友、李莹、李辉勇、肖文磊、王君臣和谭火彬等老师组成了高质量教学团队,携手头歌平台打造了《C语言程序设计》线上教学和实践资源课程。
课程现已全面上线,面向各大高校教师、同学和社会学习者开放,欢迎大家报名学习!
01课程简介


《C语言程序设计》课程主页
本课程包括入门、基础、进阶和高级等四大模块共11章,旨在培养学生掌握良好的程序设计风格,学会用结构化方法编写程序,能够设计基础算法,并具备处理基本错误的能力,进一步加深对计算机系统的认识,使学生在后续课程的学习以及日后的工作中,具备利用计算机程序设计解决问题的能力。
02教学目标
围绕新工科复合型人才培养目标,提高学生解决实际问题的能力,打造体现两性一度特征的程序设计课程,实现知识、能力、素质的有机结合,为专业领域学习提供支撑。
知识:

  • 掌握C语言基本语法与编程原理;
  • 理解数据处理、函数与递归、复杂数据构造、输入输出与文件等知识点;
  • 掌握基本结构化程序设计方法。
能力:

  • 掌握常用C语言编程与调试工具,具备程序编写和调试能力;
  • 具有查阅专业技术资料、获取新知识、持续学习的能力;
  • 具有用计算机编程解决实际问题能力(分析、设计与实现)。
素质:

  • 具备良好的计算思维;
  • 拥有良好的编程习惯和风格;
  • 培育追求规范、质量、效率、简洁的素养。
03
课程特色
经过多年的建设和积累,课程组初步形成了一套“一中心”、“二突破”、“三结合”、“四层次”、“五能力”的“立体式”课程体系框架。一中心是指以培养学生解决实际工程问题能力为中心;二突破是指教学内容上突破重知识灌输轻能力的培养现状、实验手段上突破受时空和资源限制;三结合是指课程内容与工程应用结合、线上教学与线下教学结合、实践实训与学科竞赛结合;四层次是指基础型、综合型、工程型和创新型;五能力是指程序开发能力、计算思维能力、工程实践能力、科学研究能力和创新发展能力。
重知识传授和思政教育,体现高阶性:以知识点的相关性开展教学,强调章节的连贯性和逻辑性;挖掘编程中隐含的“解耦封装、秩序规则、以简驭繁”等高阶性内容,实现知识、哲理、思政的深度融合。重能力培养和学科融合,提高创新性:采用非良构问题取代良构问题,如发动机装配、遥感图像处理、飞机故障诊断等,突出多学科融合特征。重素质提升和创新实践,增强挑战度:引入ACM竞赛模式,采用质性+量性的评价方式,注重考察实践编程能力。
04课程章节
第一部分,入门篇

  • 第1章 编程快速入门:简要地介绍C语言编程的关键步骤、编程工具、C语言程序的一些基本概念及其用法。
  • 第2章 编程基础框架:介绍了C语言编程通常又称为IPO编程模式,或编程框架,C语言编程序的可以描述为为三个部分:Input → Process → Output。
  • 第3章 数据处理基础:介绍了计算数据处理的本质,包括数据在计算机中的以二进制形式存储的原理、整数的二进制编码、进制的转换、补码与位运算、浮点数的编码等。
第二部分,基础篇

  • 第4章 控制结构:从结构化程序设计展开,系统地介绍了C语言的三种基本程序结构:顺序、选择和循环结构。
  • 第5章 函数基础:除了介绍函数声明、定义、调用、值传递机制、返回等常规的语法规则外,重点阐述了递归函数和“函数重在接口,递归重在调用”的模块化编程思想。另外,介绍了标准库函数及其使用案例。
  • 第6章 数组:首先,介绍了数组的定义和存储特点,分析了数组不能越界的原因、变长数组的隐患、数组的内存拷贝等原理;然后,介绍了利用数组可以实现的常用数据结构,如堆栈、队列、哈希表;随后,介绍了数组和字符串的关系;最后,介绍了基于数组的常用算法,例如排序、查找等。
第三部分,进阶篇

  • 第7章 指针基础:介绍了有关指针的基本概念和语法、指针运算和表达式、应用场景与注意事项,以及指针使用规则背后的深层原因与哲学思想。
  • 第8章 指针进阶:介绍了指针的更深层次的原理和更高级的用法。首先,重点解释了指针与数组之间的联系和区别;其次,从数组的地址引出了数组指针的概念,讲解了数组指针和数组元素指针之间的区别;讲解了多重指针和指针数组的概念及其应用。最后,介绍了函数指针及其意义,阐述了泛型编程的设计模式与初步思想。
  • 第9章 结构体与联合体:首先,系统讲述了结构体和联合体类型以及它们在实际开发中的应用;然后,重点讲述了链表的概念以及常用的链表操作。
第四部分,高级篇

  • 第10章 文件与文件流:介绍文件在计算机中的表达以及使用文件的方法和规则,并且系统阐述了文件流的工作原理。着力帮助读者培养初步的工程化思想,理解数据和代码分离这种方法。
  • 第11章 程序开发的基本过程:通过几个有一定综合度的例子,介绍程序设计设计的基本过程,包括需求分析、方案设计、编码实现、错误调试和软件测试等。培养读者初步的工程思想。
06
教学团队
宋友
课程负责人
北京航空航天大学软件学院教授、博士生导师。从事软件工程专业教学和科研20余年,主讲“C语言程序设计”、“算法分析与设计”等课程。获得过北航教学优秀一等奖、教学成果奖一等奖、北京市教学成果奖二等奖、宝钢教育奖等。指导学生获得过“挑战杯”科技竞赛全国一等奖、微软“创新杯”全国一等奖、“中国软件杯”全国一等奖等。自2005年起,任北航ICPC(国际大学生程序设计竞赛)主教练,带领北航竞赛队8次晋级全球总决赛,于2019年获得ICPC教练奖(ICPC Coach Award Winners)。
李莹
北京航空航天大学计算机学院副教授。全国高等学校计算机教育研究会委员、IEEE国际教育组织FIE委员。致力于“精准教学、软硬协同”等先进教学理念研究;主讲程序设计、数据结构等大类核心课程4门;出版教材5本,主编中、英文教材各1本;主持教改20余项,负责国家自然科学基金青年基金F0701教育类、科技创新2030重大项目“新一代人工智能开放创新平台”等国家级教改6项目;一作发表教学论文20余篇;荣获全国实验教学案例一等奖、北京市计算机教学精彩片段一等奖、北航优秀教学成果一等奖等荣誉。
谭火彬
北京航空航天大学软件学院副教授,中国计算机学会教育专业委员会执行委员。从事软件工程专业教学和科研近20年,主讲“C语言程序设计”、“程序设计与数据结构”、“软件系统分析与设计”、“软件工程实践”、“高等软件工程”等多门本科和研究生课程。出版教材1本,发表教改论文10余篇。曾获北京市教学成果二等奖、CCF全国软件工程教学案例比赛二等奖、北航教学成果一等奖、研究生课程卓越奖等多项教学奖励。
王君臣
北京航空航天大学机械工程及自动化学院副教授、博士生导师。主要从事机器人技术与人工智能的研究与教学,主讲“C语言程序设计”、“数据结构”、“手术机器人的原理与实践”等本科生课程。曾获得过北航教学优秀一等奖、教学成果奖二等奖等。
肖文磊
北京航空航天大学机械工程及自动化学院副教授、博士生导师。主要从事智能制造相关专业的研究与教学,主讲“C语言程序设计”、“智能制造工程基础”、“计算机控制系统”等本科生课程。曾获得过北航教学优秀一等奖、教学成果奖二等奖等。
李辉勇
北京航空航天大学计算机学院副教授、硕士生导师。主要从事计算机应用专业的教学和科研,主讲“C语言程序设计”、“计算机组成原理”、“计算机硬件基础”、“嵌入式系统”等课程,主持各类教改项目10余项,主编出版教材1部,发表教学相关论文5篇。曾获得过北航教学成果一等奖、全国实验教学案例一等奖、全国高校教师教学创新大赛三等奖等。
头歌 — 让教育更有创造力
EduCoder
头歌是Trustie群体化方法和技术在教育领域的大规模创新应用,是广受欢迎的高校专业教研教学创新与应用公共服务环境,致力于为高校人才培养和企业能力提升提供实验/虚仿课程建设、一流/精品课程建设、实验室建设、工程教育认证、产业学院建设等服务,支持2700家高校、数百家企业的产教体系升级。2020年初,教育部将头歌列为首批高校在线教学解决方案。
内容敬请关注头歌~
回复

使用道具 举报

2

主题

5

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 4 天前 | 显示全部楼层
围观 围观 沙发在哪里!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表