桌面端编程之C++编程学习路线

C++学习路线如图 4‑13所示。作为基础入门的教材,可以从图 4‑13的初级入门推荐教材1~4中任意选择一本,如果英语基础比较好的读者可以先从3和4中任意选择一本学习;如果不习惯英文教材的读者,则可以从1和2中任意选择一本。翁惠玉老师的教材架构清晰、语言简洁,需要较少阅读时间,而谭浩强老师的教材则比较详尽,学习坡度平缓,适合一点编程基础都没有的新手。入门阶段阅读教材要快,重点放在动手实践上。

等有了一定的动手实践经验后,则可以进入中级提高阶段。中级提高阶段首先要认真了解一下C++语言的发展和演化过程,所以建议读者阅读中级提高推荐的书籍1,重点理解C++语言每一个阶段所吸收的新的编程理念和设计思想。同时,可以从中级提高推荐教材2~4中任意选择一本进行继续阅读,着重提高自己对于C++编程思想的领悟。在中级提高阶段,一件比较重要的事情就是学习STL,其主要目的是了解什么样的C++代码是规范而高质量的代码,并模仿这些标准规范的高质量代码,进而快速提高编程水平,可以从教材5和6中任意选择一本进行学习。

在高级进阶阶段,则重点对C++的高级编程技巧和编程思想进行理解和掌握。这一阶段重点要解决如何写出高质量、高效率、高安全、可扩展、可维护的C++代码,达到专业人士的水平,而不是还停留在可以随心所欲实现算法的水平上。所以,在高级进阶阶段推荐读者阅读世界最顶级的C++编程大师所写的教材,吸收他们编程思想和技巧中的精华。具体来说,在高级进阶推荐教材中, 1和2任选1本阅读,以便更加深入理解C++的编程思想;3~5可以任选1本阅读,这三本书是世界项级C++大师Scott Meyers的Effective三部曲。从书名就可以知道,这些书籍的重点是传授大师在编程中的一些高阶心得体会,目的是写出高效率、高质量、专业级别的代码。也许刚开始读者阅读起来会有些晦涩难懂,但是你需要坚持,只有你达到了一定的水平,你才能体会到编程大师所追求的编程境界。 6和7是为使用C++编写界面服务的,可以任选1本阅读。必须再次强调,编写软件时编写软件界面非常重要,它是软件是否友好、易用的关键。很多专业软件或操作系统都是使用Qt开发的界面。读者掌握了Qt编写界面的技能,在编程中必然会大有益处,有朝一日这一技能必将成为你写出炫酷软件的核心武器。在AI领域,使用C++联合OpenCV进行计算机视觉方面的项目开发是计算机视觉的主流技术之一,因此推荐读者阅读高级进阶教材8。相信读者根据图 4‑13所示的学习路线进行C++编程的学习,只要能够持之以恒,编程能力必然能够突飞猛进。

桌面端编程之C++编程学习路线_第1张图片

 413 C++学习路线图

如果想通过在线课程自学C++编程,敬请关注本公众号的下一篇文章《桌面端编程之精品课程》。

关于人工智能中编程能力和技能训练的更多介绍,可以购买《人工智能怎么学》进一步阅读。

桌面端编程之C++编程学习路线_第2张图片

图书购买方式

京东:https://item.jd.com/13395339.html

当当:http://product.dangdang.com/29469230.html

天猫:https://detail.tmall.com/item_o.htm?id=687374654836

为了让图书惠及更多的读者,为更多想学习人工智能的人提供帮助,经过向出版社申请,对图书《人工智能怎么学》的部分内容进行改编和连载。图书《人工智能怎么学》的全部内容包含了初级入门、中阶提高以及高级进阶三个级别的内容。连载的内容主要是初级入门级别,适合想对人工智能进行快速和高效入门的读者,对于已有一定的人工智能学习基础,希望进一步进阶或提高的读者,则需要购买图书《人工智能怎么学》,学习中阶提高以及高级进阶的内容。此外,对于学习人工智能感兴趣的读者,也可以加入知识星球《人工智能怎么学》,知识星球是一个构建学习社群的平台,通过加入《人工智能怎么学》的社群,你将获得更多的学习资料和课程信息。

与作者互动和了解更多信息

想跟作者一起学习人工智能和互动,你可以加入如下社群:

知识星球:https://t.zsxq.com/0aLkVg0os

QQ群:600587177

想了解更多关于人工智能学习及实践的内容,请关注如下媒体:

官方网站:https://bigdatamininglab.github.io

官方微信公众号:人工智能怎么学(可扫描下方二维码或者微信搜索“人工智能怎么学”添加关注)

CSDN:https://blog.csdn.net/audyxiao001

参考文献

  1. Robert C. Martin. 代码整洁之道(第2版)[M]. 韩磊, . 北京: 中国工信出版集团, 人民邮电出版社, 2020.
  2. Herb Sutter, Andrei Alexandrescu. C++编程规范:101条规则、准则与最佳实践[M]. 刘基诚, . 北京: 人民邮电出版社, 2016.
  3. 杨冠宝. 阿里巴巴Java开发手册[M]. 北京: 电子工业出版社, 2020.
  4. James Gosling et al. The Java Language SpecificationJava SE 8 Edition [M]. Upper Saddle River: Addison-Wesley, 2014.
  5. 老九君. C++的发展简史[EB/OL].https://www.cnblogs.com/ljxt/p/11636342.html, 2019-10-08.
  6. 翁惠玉. C++程序设计:思想与方法(第2版)[M]. 北京: 人民邮电出版社, 2012.
  7. 谭浩强. C++程序设计(第3版)[M]. 北京: 清华大学出版社, 2015.
  8. Siddhartha Rao. Sams Teach Yourself C++ in One Hour a Day (Eighth Edition) [M]. Boston: Pearson, 2017.
  9. Bjarne Stroustrup. ProgrammingPrinciples and Practice Using C++ (Second Edition) [M]. Crawfordsville: Pearson, 2014.
  10. Bjarne Stroustrup. C++语言设计和演化[M]. 裘宗燕, . 北京: 人民邮电出版社, 2020.
  11. Stephen Prata. C++ Primer Plus(中文第6版)[M]. 张海龙 , . 北京: 人民邮电出版社, 2020.
  12. Stanley B. Lippman, Josée Lajoie, Barbara E. Moo. C++ Primer(中文第5版)[M]. 王刚 , . 北京: 电子工业出版社, 2013.
  13. Stanley B. Lippman. Essential C++(中文版)[M]. 侯捷, . 北京: 电子工业出版社, 2013.
  14. 侯捷. STL源码解析 [M]. 武汉: 华中科技大学出版社, 2015.
  15. Ivor Horton. C++标准模板库编程实战 [M]. 郭小虎 , . 北京: 清华大学出版社, 2017.
  16. Brian W. Kernighan, Rob Pike. 程序设计实践 [M]. 裘宗燕, . 北京: 机械工业出版社, 2003.
  17. Bruce Eckel. C++编程思想(两卷合订本)[M]. 刘宗田 , . 北京: 机械工业出版社, 2011.
  18. Scott Meyers. Effective C++:改善程序与设计的55个具体做法(第3版)[M]. 侯捷, . 北京: 电子工业出版社, 2011.
  19. Scott Meyers. More Effective C++35个改善编程与设计的有效方法 [M]. 侯捷, . 北京: 电子工业出版社, 2020.
  20. Scott Meyers. Effective STL50条有效使用STL的经验 [M]. 潘爱民 , . 北京: 电子工业出版社, 2013.
  21. 陆文周. Qt 5开发及实例(第4版)[M]. 北京: 电子工业出版社, 2019.
  22. 王维波. Qt 5.9 C++开发指南 [M]. 北京: 人民邮电出版社, 2018.
  23. 冯振, 郭延宁, 吕跃勇. OpenCV 4快速入门 [M]. 北京: 电子工业出版社, 2020.
  24. ghscarecrow. Java的发展历程[EB/OL]. https://blog.csdn.net/ghscarecrow/article/details/82318636, 2018-09-02.
  25. JMCui. Java的发展历程[EB/OL]. https://www.cnblogs.com/jmcui/p/11796303.html, 2019-11-07.
  26. 明日科技. Java从入门到精通(第5版)[M]. 北京: 清华大学出版社, 2019.
  27. Kathy Sierra, Bert Bates. Head First Java (Second Edition) [M]. Sebastopol: O’Reilly, 2005.
  28. Bruce Eckel. Java编程思想(第4版)[M]. 陈昊鹏, . 北京: 机械工业出版社, 2007.
  29. Cay S. Horstmann. Java核心技术 I:基础知识(第11版)[M]. 林琪 , . 北京: 机械工业出版社, 2019.
  30. Cay S. Horstmann. Java核心技术卷:高级特性(第11版)[M]. 陈昊鹏, . 北京: 机械工业出版社, 2020.
  31. Joshua Bloch. Effective Java(中文第3版)[M]. 俞黎敏, . 北京: 机械工业出版社, 2019.
  32. 周志明. 深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)[M]. 北京: 机械工业出版社, 2019.
  33. Brian Goetz. Java并发编程实战 [M]. 童云兰 . 北京: 机械工业出版社, 2012.
  34. Kamalmeet Singh. Java设计模式及实践 [M]. 张小坤 , . 北京: 机械工业出版社, 2013.
  35. 明日科技. Java Web从入门到精通(第3版)[M]. 北京: 清华大学出版社, 2019.
  36. 未来科技. HTML5+CSS3+JavaScript从入门到精通[M]. 北京: 中国水利水电出版社, 2017.
  37. Elisabeth Robson, Eric Freeman. Head First HTMLCSS(第2版)[M]. 徐阳 , . 北京: 中国电力出版社, 2013.
  38. Adam Freeman. HTML5权威指南 [M]. 谢廷晟 , . 北京: 人民邮电出版社, 2014.
  39. Eric A. Meyer, Estelle Weyl . CSS权威指南(第4版)[M]. 安道, . 北京: 中国电力出版社, 2019.
  40. David Flanagan. JavaScript权威指南(第7版)[M]. 李松峰, . 北京: 机械工业出版社, 2021.
  41. 许令波. 深入分析Java Web技术内幕(修订版)[M]. 北京: 电子工业出版社, 2014.
  42. Nicholas S. Williams. Java Web高级编程 [M]. 王肖峰, . 北京: 清华大学出版社, 2015.
  43. 孙卫琴. TomcatJava Web开发技术详解(第3版)[M]. 北京: 电子工业出版社, 2019.
  44. 郭霖. 第一行代码Android(第3版)[M]. 北京: 人民邮电出版社, 2020.
  45. 欧阳燊. Android Studio开发实战:从零基础到App上线(第2版)[M]. 北京: 清华大学出版社, 2018.
  46. Dmitry Jemerov, Svetlana Isakova. Kotlin实战 [M]. 覃宇 , . 北京: 电子工业出版社, 2017.
  47. Kristin Marsicano, Brian Gardner, Bill Phillips, Chris Stewart. Android编程权威指南(第4版)[M]. 王明发, . 北京: 中国工信出版集团, 人民邮电出版社, 2021.
  48. 刘望舒. Android进阶之光(第2版)[M]. 北京: 电子工业出版社, 2021.
  49. 邓凡平. 深入理解Android: Java虚拟机ART [M]. 北京: 机械工业出版社, 2019.
  50. 任玉刚. Android开发艺术探索[M]. 北京: 电子工业出版社, 2015.
  51. 林学森. 深入理解Android内核设计思想(上、下册)(第2版)[M]. 北京: 人民邮电出版社, 2017.
  52. 何红辉, 关爱民. Android 源码设计模式解析与实战(第2版)[M]. 北京: 人民邮电出版社, 2017.
  53. Christian Keur, Aaron Hillegass. iOS编程(第6版)[M]. 王风全, . 武汉: 华中科技大学出版社, 2019.
  54. 张益珲. Swift 4从零到精通iOS开发[M]. 北京: 清华大学出版社, 2019.
  55. Aaron Hillegass, Mikey Ward. Objective-C编程(第2版)[M]. 王蕾 , . 武汉: 华中科技大学出版社, 2015.
  56. Matthew Mathias, John Gallagher. Swift编程权威指南(第2版)[M]. 陈晓亮, . 北京: 人民邮电出版社, 2017.
  57. Kazuki Sakamoto, Tomohiko Furumoto. Objective-C高级编程:iOSOS X多线程和内存管理[M]. 黎华, . 北京: 人民邮电出版社, 2013.
  58. Erica Sadun. iOS Auto Layout开发秘籍(第2版)[M]. 孟立标, . 北京: 清华大学出版社, 2015.
  59. 珲少. iOS性能优化实战[M]. 北京: 电子工业出版社, 2019.
  60. 罗巍. iOS应用逆向与安全之道[M]. 北京: 机械工业出版社, 2020.
  61. Gaurav Vaish. 高性能iOS应用开发[M]. 梁士兴 , . 北京: 人民邮电出版社, 2017.
  62. 刘浩. MATLAB R2020a完全自学一本通 [M]. 北京: 电子工业出版社, 2020.
  63. 天工在线. MATLAB 2020从入门到精通 [M]. 北京: 中国水利水电出版社, 2020.
  64. 苗志宏, 马金强. MATLAB面向对象程序设计[M]. 北京: 电子工业出版社, 2014.
  65. 徐潇, 李远 . MATLAB面向对象编程——从入门到设计模式(第2版)[M]. 北京: 北京航空航天大学出版社, 2017.
  66. 王文峰 . MATLAB计算机视觉与机器认知[M]. 北京: 北京航空航天大学, 2017.
  67. 杨淑莹, 郑清春. 模式识别与智能计算——MATLAB技术实现(第4版)[M]. 北京: 电子工业版社, 2019.
  68. Eric Matthes. Python编程:从入门到实践(第2版)[M]. 袁国忠, . 北京: 人民邮电出版社, 2020.
  69. Magnus Lie Hetland. Python基础教程(第3版)[M]. 袁国忠, . 北京: 人民邮电出版社, 2018.
  70. Luciano Ramalho. 流畅的Python [M]. 安道 , . 北京: 人民邮电出版社, 2017.
  71. Brett Slatkin. Effective Python:编写高质量Python代码的90个有效方法(第2版)[M]. 爱飞翔, . 北京: 机械工业出版社, 2021.
  72. Jan Erik Solem. Python计算机视觉编程[M]. 朱文涛 , . 北京: 人民邮电出版社, 2014.
  73. Andreas C. Müller. Python机器学习基础教程[M]. 张亮, . 北京: 人民邮电出版社, 2018.
  74. 魏坤. Julia语言程序设计[M]. 北京: 机械工业出版社, 2018.
  75. 郝林. Julia编程基础(第2版)[M]. 北京: 人民邮电出版社, 2020.
  76. Ben Lauwens, Allen B. Downey. Think Julia [M]. Sebastopol: O’Reilly, 2019.
  77. Jalem Raj Rohit. Julia Cookbook [M]. Birmingham: Packt Publishing, 2018.
  78. Zacharias Voulgaris. Julia数据科学应用 [M]. 陈光欣, . 北京: 人民邮电出版社, 2018.
  79. 朱红庆. Julia机器学习核心编程:人人可用的高性能科学计算[M]. 北京: 电子工业出版社, 2019.
  80. Norman Matloff. R语言编程艺术[M]. 陈堰平, . 北京: 机械工业出版社, 2013.
  81. Andy Nicholls, Richard Pugh, Aimee Gott. R语言入门经典[M]. 姜佑 , . 北京: 人民邮电出版社, 2018.
  82. Robert I. Kabacoff. R语言实战(第2版)[M]. 王小宁 , . 北京: 人民邮电出版社, 2016.
  83. Hadley Wickham. 高级R语言编程指南[M]. 潘文捷 , . 北京: 机械工业出版社, 2020.
  84. Brett Lantz. 机器学习与R语言(第2版)[M]. 李洪成 , . 北京: 机械工业出版社, 2017.
  85. 程乾, 刘永, 高博. R语言数据分析与可视化从入门到精通[M]. 北京: 北京大学出版社, 2020.
  86. 周伟明.程序员的十层楼(一、二、三)[J]. 程序员, 2009(6):134-136; 2009(7):118-120; 2009(8):134-136.

注:本文版权归作者个人所有,如需转载请联系作者,未经授权不得转载。

你可能感兴趣的:(人工智能怎么学,人工智能,大数据,c++,学习方法)