当前位置:首页 > 物联网 > 朱老师物联网大讲堂
[导读]        经常有人问我C++课程今年内是否能做完,我的回答是年内肯定可以录完前3季主体部分,但是整个课程今年做不完。         我知道大家可能不太满意,感觉拖太久了。所以今天专门写这篇短文和大家解释下这其中的原因和原理。         我们C++课程早期规划

        经常有人问我C++课程今年内是否能做完,我的回答是年内肯定可以录完前3季主体部分,但是整个课程今年做不完。


        我知道大家可能不太满意,感觉拖太久了。所以今天专门写这篇短文和大家解释下这其中的原因和原理。


        我们C++课程早期规划是5部分,其中前三部分(C++基础,面向对象,STL和泛型)是主体,后面2部分是提高型的高级话题(Boost库和设计模式,C++优化编程)。后来有同学反馈希望增加C++常见面试题的解读,我也在考虑加入进来扩展成6部分。

 

         目前已经录完前2部分,共计11课程124节,合55小时。第三部分9月份会开启,主要是讲模板编程、容器类、迭代器、模板和泛型算法、泛型迭代器、迭代器适配器、函数对象、函数适配器等大家用得到,但是又比较难的部分。预计需要20-30小时左右。


        这样实际上前3部分完结后整个课程就有80-90小时左右,已经完全超过了市面上大部分C++课程的篇幅和深度,以及内容覆盖范围了。而且大家别忘了,我们C++课程不是零基础讲的,是基于前面40小时的C基础和56小时的C高级专题课程来讲的。也就是说如果考虑上这些更基础的课程,实际上C++课程前三部分就用接近200小时来让大家学C++了。这已经完全超出了市面上的C++课程的篇幅了。


        我在这里给大家算课时,目的就是想告诉大家,“完”这个词有完全不同的定义。如果整个课程就60个小时,那你学完了其实就是学了60小时。而我的C++课程的“完”可能意味着150+100小时,那你学完要花的时间,以及我出完需要花的时间,肯定是不可同日而语的。


        你要相信,这些时间不会白费。60小时讲完的课程,要么就是深度完全不够,什么都讲了什么你都没学明白。要么就是默认你这个会了那个会了,我就讲几个我想讲的关键点。但是你实际这个也不会那个也不会,所以看得一脸懵逼,根本学不下去。或者硬着头皮学完但是还是不会写C++。


        这就是为什么C++课程从2019年末开始,结果到2020年末都不能全部做完,因为我对“完”的定义和要求真的很高,确实需要花不少时间来做。


           当然了还有其他原因。譬如说:


           讲课难度确实很大。大家可能没意识到,讲150小时的C++课程的难度绝对不是讲75小时的C++课程的2倍。课程课时提升一倍,难度可能提高3倍甚至5倍。我要讲那么长时间不是为了时间长而时间长,而是我要去详细梳理每个知识点,要去规划知识点的顺序,要去考虑写练习代码和实践,要去考虑前后的关联和呼应。所以当你真正想讲好一套C++课程,并不容易,难度真的不小。所以我确实得花一定时间。


        上面2个说的都是客观因素。还有个主观因素就是我确实变忙了很多,所以我也不是每天全部时间都用来做C++课程了。这也是课程进度不能很快的一个原因。但是这个我不认为是我的错。一方面别的课程也确实需要同步做,也有很多同学需要,另一方面我也需要调节,如果天天只讲C++我估计我已经疯了······


        录制课程并不是挑大粪的纯体力活儿,实际上也需要一定灵感和状态,需要老师调节自身身体与心理,需要一定的搭配与调节,才能持续做下去。


        所以请大家给我一些时间,也给自己一些时间。好酒都需陈酿,好课也需要耐心来铸。我有一个理念,就是不管做什么课程,一定是拿出自己当前水平的12分来,这个课程我只做一遍,以后不会再做。所以我必须把自己所能达到的高度淋漓尽致的表达出来,所以确实需要一定时间。这也是对大家负责,对所有用人民币投票支持我的同学们的负责任。



        

免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

在C++高性能服务端、嵌入式实时系统、音视频处理这类对并发性能有极致要求的场景中,互斥锁是保护共享资源、避免数据竞争的最基础工具。但很多开发者在实际项目中用锁时,总会遇到各种疑难问题:看起来逻辑完全正确的代码,偶尔会出现...

关键字: C++

Arduino IDE 使用了一种 C++(即“C++”)编程语言的方言。类似于调用函数并依赖输入参数返回值,我们也可以根据输入来计算结果。本库新增了绘制线条、三角形以及打印文本的命令。

关键字: C++ Arduino IDE 函数

在汽车电子ECU开发中,C++的零开销抽象、RAII资源管理和强类型检查,相比C语言能显著降低嵌入式软件的缺陷密度。但ISO 26262对ASIL C/D等级的功能安全软件有严苛要求:动态内存分配、异常处理、RTTI等特...

关键字: 汽车电子 ISO26262 C++

在C、C++、Java等主流编程语言中,volatile是一个常被误解的关键字。很多开发者对它的认知停留在“禁止编译器优化”的表层,甚至把它当作解决多线程并发问题的万能钥匙,最终在项目中埋下难以排查的隐性bug。实际上v...

关键字: volatile C++

在C、C++、Java等主流编程语言中,volatile是一个极具迷惑性的关键字。很多开发者对它的认知长期停留在“保证变量的可见性”这一模糊结论上,既不清楚它的底层运行原理,也不知道它的具体适用场景,要么在所有多线程代码...

关键字: volatile C++

在FPGA开发中,Vivado HLS(High-Level Synthesis)是将C/C++算法转化为硬件IP核的利器。然而,未经优化的C代码综合后往往性能低下。流水线(Pipelining)是打破顺序执行瓶颈、将吞...

关键字: Vivado HLS C++ FPGA

在超大规模(SoC/NoC)设计中,传统解释型HDL仿真器(如ModelSim/VCS)往往成为验证瓶颈。Verilator作为一款高性能开源Verilog/SystemVerilog仿真器,通过将RTL代码编译为优化的...

关键字: Verilator C++

在多核处理器普及的今天,并行编程已成为提升程序性能的核心手段。C++作为系统级编程语言,通过标准库提供了丰富的并行编程工具,其中“锁”是保障多线程安全的基础机制。然而,锁的使用并非简单的“加锁-解锁”操作,开发者常常面临...

关键字: C++ 用户态锁

在资源受限和高可靠性要求的嵌入式系统中,C++常被误解为“只适合PC开发”。实际上,通过禁用运行时类型识别(RTTI)和异常处理(Exception Handling),并利用其编译期特性,C++能构建出比C更安全、更高...

关键字: C++ RTTI 嵌入式

在FPGA加速计算领域,高层次综合(HLS)技术允许开发者使用C/C++语言描述算法,并自动转换为RTL代码。然而,未经优化的HLS代码往往难以充分发挥FPGA的并行计算优势。本文将通过实战案例,深入解析如何利用Prag...

关键字: HLS 高层次综合 C++
关闭