80% 的学校还在给新生上 C 语言,是它们 OUT 了吗?
作者:卡卷网发布时间:2024-12-02 18:52浏览数量:96次评论数量:0次
你们的谭浩强都都都都学错了,我有一计!
建议第一节课教翻墙、如何在github中搜索、注册一个github账号、git使用(建议先用一个好的GUI,比如GitKraken,SSH挺劝退的)、clone、fork、分支、提交、mr流程,cherrypick、submodule
第二节课教编译原理,比如什么是什么是可执行文件、动态库静态库、编译、链接(简单介绍有印象即可,具体内容编译原理课会讲的)
第三节课教cmake,如何从一个.cpp生成一个控制台可执行文件(这个有点太实践了,但真的很有用,而且就几句话)
注意,在这之前学生只需要拉下老师提供的代码,是不需要自己写的
第四节课学习C++的基础概念,输入输出流、基本数据结构、数组,让学生输出一个 0(我感觉hello world作为一个字符串或者字符数组,对新手有些难以理解了)
第五节课学习C++的if else for switch break return等关键词,让学生循环输出0~9
第六节课学习std容器和相关接口的使用、字符串,让学生输出一个"Hello World!",并用std::vector循环输出0~9(这部分有概念即可,后面数据结构会细讲)
第七节课学习指针、引用(非常毒瘤,但还是建议教,因为后面面向对象的实现需要了解指针的概念)
第八节课学习面向对象,建议讲为什么要有面向对象、怎么实现面向对象(指针、虚表)、C++这套跟其他语言的缺点(我感觉用C++教面向对象就很抽象,C#绝对更适合)
第九节课继续学习面向对象,封装继承多态,构造析构函数的执行顺序,然后提一嘴其实面型对象并不是最好的,还有面向数据、函数式、模板式编程(我感觉泛型不是新生该学的东西)
第十节课学习智能指针,内存分配销毁、内存泄漏、引用计数,用智能指针替代之前创建的指针(智能指针可以说是现代C++最重要的东西之一了,野指针乱飞也太毒瘤了)
第十一节课继续cmake,教如何将clone下的代码构建为库(仅限cmake库),链接到项目中,便于学生后续自学
感觉到这里C++大部分概念就都学完了,考虑到大部分学习一个学期在二十周左右,去掉军训和考试月,十二节课属于比较合理的分配
最后一节课向学生介绍C++的处境,C++20/23/26在搞什么,module到底能不能推进下去
讲一下C++的主要应用场景,比如ACM竞赛、Win32客户端、图形渲染、游戏开发、嵌入式
再描述一下其他语言比如前端的JS/TS,安卓的Java/Kotlin,各种服务器后端,苟延残喘的客户端框架和风头正起的Electron,脚本语言Python以及其在AI的地位,Rust的兴起和其对C++的挑战,芯片研发设计使用的Verilog语言,等等
最后讲中国的计算机、互联网发展现状、就业形势、政策倾向,鼓励学生自己思考选择未来的发展方向,鼓励自学,鼓励外出实习,最后完成一次完美的编程启蒙(如果学校有华为赞助,此时可以介绍一下华为被制裁后的努力与成就,然后给一个刷题清单和华为机考链接)
免责声明:本文由卡卷网编辑并发布,但不代表本站的观点和立场,只提供分享给大家。
- 上一篇:前端程序员最讨厌的是什么?
- 下一篇:有哪些良心的免费软件推荐?
相关推荐

你 发表评论:
欢迎