近年来,以物联网、云计算、大数据和人工智能为代表的新一代信息技术在全球范围内广泛应用、迅速发展,我国新一代信息技术产业也持续向“数字产业化、产业数字化”的方向发展。数字时代计算思维已成为新时代大学生重要的基本素养之一,“四新”(新工科、新医科、新农科、新文科)专业人才应该具备较强的计算思维能力。
目前,国内高校面向大学一年级学生都开设了程序设计类课程,大多数的教材和教学都是注重程序设计语言语法的介绍和讲授,以语法知识的掌握程度为重要考核指标,而忽视了计算思维及问题求解等高阶能力的培养,几乎没有引入人工智能作为教学内容,很难满足新工科人才培养的需求。计算思维和问题求解的核心是算法设计能力,程序设计是算法实现的手段。学生掌握了程序设计语言的语法,不等于具备较强的程序设计能力;学生学会编程,不等于具备较强的算法设计能力,即问题求解能力。为创新与发展程序设计类课程的教育教学理念、解决人才培养定位等问题,哈尔滨工程大学计算机基础教学团队总结、凝炼多年来的教学研究成果和经验,精心梳理科研案例,以“运用计算思维,强调问题抽象”“弱化语言语法,强化程序设计”“侧重案例剖析,聚焦问题求解”“融合人工智能,拓展求解能力”为特色,以“计算思维”为核心,以“问题引导和案例分析”为驱动,以“自顶向下、逐步求精”为原则,突出问题求解“抽象化—符号化—程序化—自动化”这一主线,融合人工智能经典算法,面向普通高等学校的程序设计课程编写了本书,以满足新工科人才培养目标的要求,为大学生科技创新夯实基础。
本书的编写逻辑、编写思路及包含的知识体系如图1所示。本书将计算思维和程序设计方法思想贯穿于各章节,以问题为导向,介绍计算思维与程序设计的概念及其关系,论述计算思维的本质“抽象化”与“自动化”;讲解计算机求解问题的过程,即对问题进行抽象得到问题的表示(数据结构)和问题求解的步骤(算法),利用程序设计语言描述数据结构和算法,即程序设计与调试。然后,本书对应于数据结构定义与描述,介绍C语言的数据部分;对应于算法描述与实现,介绍C语言的运算符和控制结构语句,以及模块化程序设计——函数,并介绍常用算法;在介绍指针、结构体和文件之后,还介绍了人工智能的经典算法。在第4章~第10章的智能算法能力拓展中,分别介绍了人工智能经典算法所涉及的基本问题和算法程序,为“人工智能经典算法”奠定了基础。同时,为进一步强化学生对人工智能算法的学习,本书提供全部源程序代码等学习资源,同时还提供与本书配套的教学课件、拓展资源等。读者登录人邮教育社区(www.ryjiaoyu.com)即可下载。
图1 本书知识体系
本书由哈尔滨工程大学计算机基础教学团队教师编写。具体分工:第1章由郎大鹏编写,第2章由丛晓红编写,第3章由宁慧编写,第4章由崔玉文编写,第5章由王兴梅编写,第6章由高伟编写,第7章由刘杰编写,第8章由孟宇龙编写,第9章由郭江鸿编写,第10章由徐丽编写,第11章由唐立群编写,第12章由鞠成东编写。本书由刘杰、鞠成东、郭江鸿担任主编,宁慧、崔玉文、高伟担任副主编,刘杰负责总体筹划和统稿,鞠成东协助统稿并负责智能算法问题案例设计、图文完善整理及校对,郭江鸿协助统稿并负责知识单元的逻辑关系设计。
本书能够顺利地与读者见面,首先要感谢哈尔滨工程大学计算机学院的大力支持,还要感谢各位参与编写或给予支持的老师及其家属和同学们。由于时间仓促和编写水平有限,书中难免有不妥之处,望广大读者批评指正。
编者
2021年11月