新书创作谈:周立功教授数十年之心血力作《程序设计与数据结构》

近日,周立功教授公开了数十年之心血力作《程序设计与数据结构》,此书在4月28日落笔,电子版已无偿性分享到电子工程师与高校群体,在致远电子公众号后台回复关键字【程序设计】可在线阅读。

在程序设计过程中,很多开发人员在没有全局思维的把控,科学、系统的组织以及严密的测试与部署下,单纯地为开发而开发,而代码的优劣,直接决定了软件的质量和成本,最终导致企业不得不投入大量的维护费用,造成资金的严重浪费。

周立功教授创业二十余载,一直怀着“让世界认识中国造”的历史使命,在企业管理和人才塑造培养的过程中不断思考:在资源有限的开发环境下,如何最大化软件工程价值;在行业竞争日益剧增的社会环境下,如何打造更具核心价值的产品优势;在教学实践与教学理念背道而驰的教育环境下,如何有效提高技术人员软技能,避免蛮力开发现象,甚至成为一位阅读程序者。

为了将实际开发过程中总结的有价值的技术应用分享给大家,周立功及其团队整理出《程序设计与数据结构》这本书,其内容如同培训讲师的教案,是周立功和团队的读书笔记和程序设计实践的心得。

《程序设计与数据结构》重点阐述了三大方向内容。

C语言学习中的痛点:针对当前工程师在C语言学习中的痛点,如指针函数与函数指针,如何灵活应用结构体等。从变量的三要素(变量的类型,变量的值和变量的地址)出发,采用推导的方式,深入浅出的分析了广大C程序员学习和开发中遇到的难点。

从方法论的高度对C语言在数据结构和算法方面的应用进行了深入讲解和阐述。

讲解了绝大多数C程序员开发生涯中没有考虑过的问题:如何用C实现面向对象的编程。众所周知,C是面对过程的一种编程语言,那么C语言能否实现面向对象的编程,如何实现?如何深入理解面向对象的思想,这些内容都可以在本书中找到答案。

写在最后

《程序设计与数据结构》仅是《嵌入式软件工程方法与实践丛书》中的第一套第一本书,丛书共含四套:

第一套

《程序设计与数据结构》

《面向接口的编程——基于AMteal&LPC824》

《面向对象的分析与设计》

第二套

《面向接口的编程——基于AWorks&ARM9》(适用于各种ARM内核)

《面向对象的分析与设计》

第三套

《面向接口的编程——基于Linux&ARM9》(适用于各种ARM9以上内核)

《面向对象的分析与设计》

第四套

《C++现代程序设计》

《面向接口的编程——基于AWorks&ARM9》(适用于各种ARM9以上内核)

《面向接口的编程——基于Linux》(适用于各种ARM9以上内核)

《面向对象的分析与设计》

还在写作中的内容包括测试与持续集成,书籍均由周立功团队从理论知识到实践应用的精华汇编,将来会陆续与大家见面,共同学习与探讨!

时间: 2024-10-03 15:01:32

新书创作谈:周立功教授数十年之心血力作《程序设计与数据结构》的相关文章

20172333 2018-2019-1 《程序设计与数据结构》第九周学习总结

20172333 2018-2019-1 <程序设计与数据结构>第九周学习总结 教材学习内容总结 <Java软件结构与数据结构>第十五章-图 一.无向图 ①无向图的定义 图是由结点与结点相连接构成的,与树类似.这些结点被常常称作顶点(vertice),这些顶点的连接叫做边(edge). 无向图(undirected graph)是一种边为无序结点对的图. 两个顶点之间有一条连通边的顶点,我们称作它们为领接的(adjacent).这两个顶点也叫作邻居(neighbor),自己是自己的

20172333 2018-2019-1 《程序设计与数据结构》第五周学习总结

20172333 2018-2019-1 <程序设计与数据结构>第五周学习总结 教材学习内容总结 ==<Java软件结构与数据结构>第九章-排序与查找== 一.查找 ①.查找概念: 在一个项目中寻找一个元素或者判断一个元素是否存在在这个项目中. ②.查找的类型: 查找在第九章主要讨论了两种类型,一种是线性查找.另一种是二分查找. ③.查找的目标: 查找实际就是不同元素之间的比较过程,而查找的目标就是为了找到某个元素,在查找的同时保持最高效的性能. 二.线性查找法 ①.线性查找法的概

20172333 2018-2019-1 《程序设计与数据结构》第七周学习总结

20172333 2018-2019-1 <程序设计与数据结构>第七周学习总结 教材学习内容总结 <Java软件结构与数据结构>第十一章-二叉查找树 一.二叉查找树的概念及相关方法 ①思路:二叉查找树与普通的二叉树的区别类似于有序链表与无序链表的差别,二叉查找树因为实现了Comparable接口的类型的对象,所以该二叉树在添加数据到树中的时候就会自动排序,将大于根节点的数据放在右结点,反之则保存在左结点.这样排序好的二叉树方便查找所以叫二叉查找树. ②方法: public inte

从军事到民用 拉高数十支VR概念股的一款游戏

<Pokémon GO>这款由Niantic.任天堂.口袋妖怪公司共同开发的AR手游,发布仅三天,就在澳大利亚.美国等引起追捧狂潮,甚至连游戏服务器都崩溃了3 次.下载一款移动应用,就能真实触碰到行业内炒得火热的AR.VR等概念体验,一夜间激活了大众前去尝鲜的热情. AR.VR等从军事到工程.医疗.教育.零售.汽车等行业都在积极尝试的前沿技术,最终却被一款游戏抢了先机,让人感慨不已.无论是硬件设备抑或其他,AR.VR等最终还是因娱乐而火,或许这就是命中注定吧-- 一款游戏带动数十支概念股 作为

周跃教授:脊柱微创手术机器人在脊柱手术中的应用前景 (转载)

周跃教授从事脊柱外科应用基础研究和临床诊疗工作多年,临床经验丰富,目前重点研究微创脊柱外科技术,在国内率先开展了内窥镜下颈椎.胸椎.腰椎的十余项微创外科治疗技术,临床效果显著,填补了国内微创脊柱技术领域的多项空白,目前已成功完成各类微创脊柱外科手术5800余例,手术例数.手术效果.技术方法与水平均居国内领先水平,在国际上享有盛誉. 曾先后赴英格兰格拉斯哥矫形外科中心.奥地利因斯布鲁大学医学院创伤外科中心.法国巴黎大学第三医学院脊柱外科中心.法国里金昂大学神经外科医院中心.美国加州大学医学院洛杉矶

周立功:写给学单片机的年轻人

周立功简介: 周立功,男,1964年3月出生,毕业于东华大学自动化及计算机系,高级工程师,中国单片机协会理事,中国海洋大学讲座教授,硕士生导师,主要研究方向为嵌入式系统与现场总线,目前正在从事80C51.ARM与Nios II等软核SoC的研究与开发. 1981年6月参加工作,先后在大型国有企业担任过工段长.车间主任.团委书记.厂长.党委书记,先后被评为省及国家级劳动模范与新长征突击手,长期从事微机.单片机与嵌入式系统应用推广.开发工作. 早期主要从事6502.Z80.8080及其5G14500

20172313 2017-2018-2 《程序设计与数据结构》第十周学习总结

20172313 2017-2018-2 <程序设计与数据结构>第十周学习总结 教材学习内容总结 了解集合的同构和异构:同构集合保存类型全部相同的对象,异构集合可以保存各种类型的对象. 集合可以用各种方式实现,保存对象的基础数据结构可以用各种技术来实现. 学习动态结构,初步学习链表中的增删查改. 学习线性数据结构:队列(queue)先进先出,堆栈(stack)先进后出. 了解非线性数据结构:树(由一个根节点和构成层次结构的多个节点组成),图(连接一个图内各节点的边数一般没有限制). 了解Jav

20172310 2017-2018-2 《程序设计与数据结构》第十周学习总结

20172310 2017-2018-2 <程序设计与数据结构>第十周学习总结 教材学习内容总结 本周学习的是第十三章 集合与数据结构 集合是一种对象,类似于保存其他对象的存储库.我们常用集合表示一个专用于保存元素的对象,并且该对象还提供增添,删除等管理 所保存元素的服务. 集合是同构的,意味着这种集合保存类型全部相同的对象;另一些集合则是异构的,即这种集合可以保存各种类型的 对象. 分离接口与实现: 1.一个抽象数据类型(ADT)是由数据和在该数据上所实施的具体操作构成的集合.一个ADT有名

20172315 2017-2018-2 《程序设计与数据结构》第十周学习总结

20172315 2017-2018-2 <程序设计与数据结构>第十周学习总结 教材学习内容总结 集合是一种对象,类似于保存其他对象的存储库. 集合的同构和异构:同构意味着这种集合保存类型全部相同的对象,异构可以保存各种类型的对象. 对象具有定义良好的接口,从而成为一种实现集合的完整机制. 数据结构的动态表示:一个动态数据结构用链来实现,利用对象引用作为连接对象之间的链,就可以建立起适用于各种情况的数据结构.按这种方式建立的数据结构具有动态性,因为其大小是在使用时动态确定的,而不是在声明时静态