首页 > 图书中心 >图书详情
软件项目综合实践教程----C/C++篇(微课版)
作者:梁新元、杨永斌、朱超平、严玥、刘波
丛书名:高等院校计算机教育系列教材
定价:59元
印次:1-1
ISBN:9787302631781
出版日期:2023.05.01
印刷日期:2023.04.27
C/C++语言影响深远,应用广泛,能够训练良好的逻辑思维。为了适应新工科对学生解决复杂工程问题的能力要求,《软件项目综合实践教程----C/C++篇(微课版)》以培养C/C++综合应用能力为核心目标,突出实践性、综合性、工程性和学习性。内容主要包括结构化设计方法、迭代编程实现方法和常用数据结构(结构体数组、顺序表、链表、顺序表类和链表类)的基本应用。书中介绍了面向过程的结构化和面向对象的设计方法,提供了层层递进、梯度提升的多个信息管理系统案例,展示了使用常用数据结构实现项目的迭代开发过程。《软件项目综合实践教程----C/C++篇(微课版)》从学习者的角度出发,通过循序渐进、由浅入深的方式讲解知识,达到学以致用、轻松入门和快速提高,开辟从弱基础到高水平的C/C++编程提升之路。《软件项目综合实践教程----C/C++篇(微课版)》致力于培养学生利用C/C++语言核心知识进行项目综合实践的能力,强化“五个能力”(即分析设计能力、代码规范能力、错误调试能力、阅读程序能力和编写程序能力)的提升。 《软件项目综合实践教程----C/C++篇(微课版)》不仅可以作为普通高等院校计算机类、电子信息类和其他理工科类等专业C/C++语言综合设计实践的教材,也适用于C/C++语言程序设计的其他初学者作为自学教材。
more >序 言 对分课堂是我2014年开始在复旦大学首先尝试的一种新型教学模式,对变革传统课堂教学,提升教学质量,增强学生的学习积极性,有显著的效果。从那时到现在,我在全国很多教师培训项目中介绍过对分。 梁新元老师是接触对分较早的一位老师,2016年参与了我在苏州进行的培训。他是一位超级认真、对学生极其负责的好老师。但他回去用对分授课一开始并不顺利,碰到一些问题,就搁置了。但不用对分,传统课堂的问题解决不了,梁老师感觉还是需要用对分才能彻底解决问题。2018年在厦门,他再次参加了对分课堂的培训,找到了感觉,实践中获得了很大的突破。受到鼓舞,2019年,他在北京第三次参加对分课堂培训,在首期全国高校对分课堂教师发展师研修班又学习了4天。 从此之后,梁老师在对分之路上一路前行。他真诚、用心,讲逻辑、讲证据,不断实践、反复调整,教学效果有极其明显的提升,学生也非常喜爱他的课堂。2019年开始,他不仅自己用,还大量推广,完成了数十场对分课堂的培训和讲座,听众达到数千人。他亲自指导几十位教师实践对分课堂,成为对分课堂先锋教师中的佼佼者。 对分课堂是教学方法,但方法和内容是要紧密融合的,教学内容主要体现在教材上,教材的重要性不言而喻。遗憾的是,我们当前的本科教学相对缺乏优秀的教材,问题十分紧迫、严峻。如果遵循西方教材的发展路径,这个问题需要相当漫长的时间才有可能得以缓解。对分课堂的出现,带来了教学模式的变革,也对教材提出了新的要求,有可能创造一套编写教材的新理念和新方法。 国内教材仿照苏联,内容过多、过难、过于学术化,按照学科逻辑编排,需要教师做深度解读。国外很多优秀教材,内容丰富、图文并茂,考虑学生的学习过程,适合学生自学。对分课堂是教与学的平衡,所以,适合对分的教材应该是上述两种教材逻辑的结合。根据这个思路,我提出了“对分教材”的概念。这样的教材,每个章节都包括三个部分,核心知识、案例素材和学习任务。 梁老师的这本教材,立足对分课堂模式,打破了主要服务于讲授的传统教材,提供了丰富案例素材,在理论要点与案例素材之间形成教学留白,给学生以自主学习的空间,形成探索应用型人才培养的教材模式。 按照对分教材的要求,本教材每章均包括理论要点、案例解析和实践运用三个部分,分别提供核心知识、案例素材和学习任务。使用时,教师讲授要点,并展示理论在案例中的应用,学生理解理论、研读案例,进行实践,然后开展同伴讨论,最后教师答疑解惑。这样的教材,让教师的任务变得清晰明确,与对分流程自然贴合。 随着新一轮科技革命与产业变革的到来,我国高等学校需要提高工程专业的人才培养质量,需要变革教学模式,重构教学内容。本书是梁新元老师多年教学经验与教学成果的结晶,是综合实践类课程中教学内容创新的新探索,价值很大。使用这本教材进行教学,能让学生更容易掌握编程方法,培育软件开发的工程思维,形成解决复杂问题的实践能力。 这本教材开辟了新工科教材建设的新阶段,它的意义是极其深远的。我深信,这本教材将会受到广大学生的热烈欢迎。我要衷心感谢梁老师对对分课堂的实践和推广,特别是基于对分模式,对程序设计类基础课程做出巨大贡献!未来,很多人一定会持有跟我相同的看法。 张学新 复旦大学心理学教授、对分课堂创始人 课件.zip 前 言 随着新技术、新产业的发展,工程教育正面临巨大机遇与挑战,提升国家硬实力和国际竞争力需要新工科。新工科建设是高等教育主动应对新一轮科技革命与产业变革的战略行动,对人才质量的提升提出了更高要求。新工科需要培养大批具有较强行业背景知识、工程实践能力、胜任行业需求的应用型和技能型人才。根据新工科的要求,计算机专业的教育需要培养解决复杂工程问题的能力,培养具备工程实践能力、能满足社会需求的人才。 新工科建设面临的现实问题亟待解决。首先,学生的工程实践能力不足,与新工科的要求相距甚远。C/C++语言几十年来影响深远,应用非常广泛,可以用于编写系统程序和应用程序,如开发游戏、服务器、信息安全、多媒体、算法、嵌入式系统、物联网和人工智能等应用。C/C++语言能够训练良好的逻辑思维,通常作为计算机类专业和理工科专业的入门语言。新工科要求学生能高质量完成C/C++语言项目代码。但是,学完C/C++语言后,大量的学生仍然不会编写较为复杂的程序。其次,缺乏合适的新工科教材。新工科要求学生具有组织各种库函数解决复杂工程问题的能力,C/C++项目综合实践中需要用到大量的函数,需要考虑多个程序文件、多个函数之间的交互作用,如何才能有机组织形成一个完整的工程项目?这是培养学生解决复杂工程问题的良好机会。但是,当前工科教学模式传统,教学内容落后,缺乏解决这种问题的新工科教材。 作者致力于编写适用于新工科人才培养的教材。本书希望在综合实践类课程中探索教学内容创新,培养学生能更好地适应未来职业发展、满足新工科要求。为了培养学生解决复杂问题的编程实践能力,本书致力于提供更加容易学会编程的路径,借助最简单的方法形成逻辑思维、工程思维和计算思维。书中主要项目案例是作者近十年参与教学改革的成果,经过多年教学验证,能有效提升学生的编程实践能力,具有较强的普适性。 全书共9章,每章均包括理论要点、案例解析和实践运用。第1章综合实践的需求和目标为初学者确定学习目标,第2章结构化设计介绍语言基础和设计方法,第3章迭代编程实现介绍实现方法,第4章结构体数组的基本应用为初学者提供简单系统的实现方法,第5章软件系统的开发流程介绍复杂系统开发方法,第6章顺序表的基本应用介绍通用系统集成方法,第7章链表的基本应用介绍链表实现方法,第8章顺序表类实现面向对象编程介绍复杂系统集成方法,第9章链表类实现面向对象编程介绍通用链表实现方法。附录A主要介绍专业版代码规范和企业级代码规范,附录B主要介绍软件开发环境(Dev-C++和Visual Studio 2010)的使用,附录以二维码形式出现。 本书主要特点有实践性、综合性、工程性和学习性。 第一个特点是实践性,强调核心语法,聚焦实践能力。为了适应新工科对学生应具有解决复杂工程问题能力的要求,全书紧紧围绕提升学生综合编程实践能力的核心目标,重点展示项目的设计和开发过程。首先,强调核心语法知识。为了提升学生的学习信心、减轻学生思想负担,坚持理论够用的原则,致力于利用C/C++语言核心知识进行程序设计,书中只列出常用的知识点。其次,聚焦实践能力培养。本书始终坚持把实践应用放在第一位,通过知识的实践应用,培养学生项目实践的能力。初学者要把学习编程语言的焦点集中在编程实践上,落实“做中学”的学习理念,多用多实践,不死抠语法,不拘泥于知识细节。 第二个特点是综合性,突出综合应用,形成整合能力。首先,以项目为牵引,实现C/C++的数组、函数、指针、结构体、文件和类等大部分知识的整合,突出综合应用。其次,实现跨课程整合,通过项目形成整合能力。综合实践中不仅要用到C/C++的基础知识,而且还要用到“数据结构”课程中讲解的常用数据结构(结构体数组、顺序表、链表、顺序表类和链表类)、常用排序算法(直接插入排序、直接选择排序和冒泡排序)和查找算法(顺序查找和二分查找)。此外,还会用到“软件工程”课程中讲解的软件开发流程知识。 第三个特点是工程性,强化工程思维,培养工匠精神。首先,养成工程思维。全书以项目为核心,使学生掌握良好的工程化方法(软件设计方法、迭代编程方法、测试方法、排错方法等),形成初步的软件项目思维,具备解决复杂问题的能力。其次,注重工程伦理,培养追求卓越的工匠精神。代码规范是程序员之间相互交流的重要方式,在编程实践中需要养成良好的编程习惯,形成工程性编程规范。软件开发是一个不断改进的迭代过程,编程需要有追求卓越的工匠精神,才能为社会提供良好的软件作品。 第四个特点是学习性,体现对分精神,具有易学习性。首先,体现对分精神,兼顾教与学的平衡。对分课堂是复旦大学张学新教授提出的中国原创教学模式,经过千百位教师实践,教学效果良好,深受师生欢迎。按照对分课堂教材的编写要求,每章包括理论要点、案例解析和实践运用三个部分。理论要点给出本章及后续章节所需要的理论知识概要,书中没有详尽阐述知识点,相关细节由学生自己查询。案例解析提供学习素材,展示理论要点的实际应用。通过实践运用提供不同的学习任务,实现单项训练和综合训练。其次,具有易学习性。本书从学习者的角度采用逐步迭代的方式讲解编程过程,让学生容易阅读、容易学习。本书第2~9章采用层层递进的编写方式,构建从弱基础到高水平的编程提升之路,通过循序渐进的项目案例,实现学生对C/C++编程的轻松入门和快速提高。多年教学实践证明,编程基础薄弱的学生,只需要学习第4章案例,采用迭代的方式就能完成数百行代码的项目,迅速提高实践能力,收获满满的成就感,提升编程信心。为了便于学习,书中给出了所有案例的完整源代码以及运行结果图,供学生阅读、分析、领悟和超越。 本教材全程邀请“对分课堂”创始人、复旦大学张学新教授作为撰写指导。全书9章,由梁新元给出写作提纲和基本要求。第3、5章由梁新元编写,第7、9章由杨永斌编写,第4章由朱超平编写,第6章由严玥编写,第1、2章由刘波编写,第8章和附录由王田编写。最后由梁新元统编定稿。写作过程中校稿和绘图等方面得到陈海波、陈小容、陈益、汪春峰、黄鑫、徐欢、俞拓城等同学的大力支持,在此特别感谢。 本书受到重庆市大数据智能化类特色专业建设项目(重庆工商大学 计算机特色建设专业〔62011600705〕)重点资助,还受到其他一些项目联合资助,主要有:中国关心下一代十三五国家规划重点课题“中国原创教学模式‘对分课堂’教学实践研究”子课题“对分课堂教学法在计算机程序设计类课程教学研究”(GGWEDU016-G0167),重庆市教育教学改革研究项目“工程教育专业认证和新工科背景下的计算机类专业人才培养模式改革与实践”(203424)和“计算机实验教学及创新云桌面的研究与实践”(213207),重庆市教育科学规划课题“‘双一流’背景下基于SPOC混合教学模式的构建与应用研究”(2018-GX-023),重庆工商大学教改项目“新工科背景下程序设计类课程‘对分课堂’教学模式的实践与探索”(2019310)和“高级程序设计(C&C++)”(204024),在此一并致谢。 本书所有代码在Visual Studio 2010开发环境下通过测试,并尽量做到代码缩进4个空格,双元运算符前后各空一格。尽管本书基于多年的教学实践,历经数月的编写和反复校对,但是由于作者水平有限,仍有可能存在不足,恳请读者批评指正,以便修改。本书提供PPT课件、案例源代码、视频和附录等电子资源,以方便教学和学习,需要时可联系出版社或者本人。 重庆工商大学 梁新元
more >