这事得从受资助说起。2020年我得到了广东省“教学质量与教学改革工程”项目资助,创建在线开放课程。我的课程名称就是“C/C++:从基础语法到优化策略”。合同签了,不干也得干!
去年秋季,我录制了第一版开放课程,并在慕课网站“学堂在线”发布,有几千人选课量。按计划,今年制作第二版。第二版从零重新备课。这样可以完全按照我的新思路来授课;再者可以完全拥有文字、例程、插图等所有课程资料的版权。
这门课将继续保持第一版的优势,按如下思路备课:
基础知识:以点带面,循序渐进;不罗列语法规则,只选几个点讲透,并介绍C/C++里面无数的“坑”。因为不了解这些“坑”,你的C/C++程序将像薛定谔的猫。
本课重点:指针和内存管理。这是让无数学生头疼不已的知识点。
亮点1:突出其他语言没有的特色,重视程序效率,介绍提速几十倍的方法。
亮点2:介绍OpenCV采用C++特性设计cv::Mat类,展示真实生产中使用到的C++特性。
亮点3:介绍ARM开发,因为C/C++语言在边缘计算设备上有其他语言没有的优势。
亮点4:重实践(这点主要体现在南科大线下课堂中,实验课练习量大,且教Makefile、CMake、Git等开发工具)
我也在网上收到了很多反馈,建议我讲授一些新的知识点。实际上,这门编程语言已经成为了C+++++++++,知识点多得任何一个人都无法全部掌握。再者这门课目的不是培养顶尖的程序员,而是让大部分学生掌握C/C++语言的基础知识,打好基础,然后以后可以自学提升。
关于教学的对象是谁,我有一点自己的看法。顶尖的学生不需要给予特别多的关注,只要激励一下就可以。教学要以大部分非顶尖也不自我放弃的学生为主要服务对象。整个课程的设计是基于这个思路来设计的。
因为第二版完全解决了版权问题,所以全部资料以开源方式实时公布到Github,请各位监督我备课。课程网址:https://github.com/ShiqiYu/CPP
课程视频录制后,我会第一时间放到B站供预览和学习;全部录完后再放到慕课网站学堂在线。B站网址 https://www.bilibili.com/video/BV1Vf4y1P7pq ,或者长按下方二维码访问。