软件与程序设计
-
超简单的人工智能(日)二木康晴,(日)盐野诚本书从业内人士视角出发,向读者介绍了人工智能技术在人类商业活动中的应用情况,探讨了AI应用与商业活动中的法律问题。本书并没有采用教科书似的枯燥理论讲解方式,也没有涉及过多的专业理论知识。本书以实例为基础,选取了有望利用人工智能技术的商业领域,来解说实际应用方法和面临的法律法规问题。 -
Go语言学习指南乔恩·博德纳(Jon Bodner) 著,杨波,曾智,万学凡 译Go语言正在迅速成为构建Web服务的优选语言。本书很好地阐述了Go语言的特性,同时指出了Go语言的惯例代码、陷阱和设计模式。本书语言生动,表述清晰,将Go语言的基本原理与语言哲学联系在一起,引导读者正确编写Go语言。既介绍基础知识,又涵盖高级主题(如反射和C语言互操作),通过大量例子演示了如何写出符合Go语言惯例的代码,解释了可能影响程序行为的底层概念,比如指针对内存布局和垃圾回收的影响。无论你是Go语言的初学者,还是经验丰富的Go语言从业人员,相信都能从本书中获益良多。 -
白话C++之练武庄严 著,庄严 编《白话C++》将学习编程分成“练功”和“练武”两册。“练功“主讲C++编程基础知识、语言语法(包括C++11、14等标准)及多种编程范式。“练武”的重点内容有:标准库(STL)、准标准库(boost)、图形界面库编程(wxWidgets)、数据库编程、缓存系统编程、网络库编程和多媒体游戏编程等。本书借助生活概念帮助用户理解编程,巧妙安排知识交又,让读者不受限于常见的控制台下编程,快速感受C++编程的乐趣,提升学习动力。适合作为零基础编程学习从入门到深造的课程。 -
JavaScript程序设计卢淑萍 陈玲本书系统地介绍了JavaScript的相关知识,主要内容包括JavaScript简介、JavaScript基本语法、DOM编程、BOM编程、JavaScript对象编程、JavaScript网页特效、ES6的新特性、jQuery基础及使用jQuery实现页面特效等。本书按照“项目导向,任务驱动,理论实践一体化”的方法,针对“客户端交互特效制作”能力,将知识讲解、技能训练和能力提高有机结合,内容组织突出“以用为本,学以致用,综合应用”,化解知识难点,提高读者学习效率。通过学习本书,读者能够掌握常见的网页特效,能够制作精美且具备良好交互效果的网页。本书可作为高职院校相关专业师生的网页特效设计课程的参考,也可作为网页特效设计班的培训用户和网站开发从业者的自学参考书。 -
写给中小学生的C++入门许浩然本书使用c语言,通过浅显易懂的例子,由浅入深的向学生讲解编程学习的基本语法知识。此书适合作为中小学生编程学习的教材,也适合有一定基础的老师作为教学参考书籍。内容分为二十二个章节,涵盖c基础语法的所有内容及简单算法。 -
JavaEE零基础入门实验指导与习题解析史胜辉、王春明、沈学华、魏晓宁本书是《JavaEE零基础入门》(清华大学出版社,ISBN 9787302569381)的配套教材。全书分为上、中、下三篇。上篇是与《JavaEE 零基础入门》对应的例题解析和书后习题解答,另提供4套测试题;中篇为与教程对应的实验内容,每个实验都有实验目标、实验任务和详细的实验步骤,有较强的可操作性;下篇是一个完整的实训项目,非常适用于课程设计。本书可作为高等学校教材,也可供相关技术人员学习或参考。 -
Java核心编程从问题分析到代码实现[美]约翰·迪恩(John Dean), [美]雷蒙德·迪恩(Raymond Dean)在本书中,我们将带领您进入有趣且令人兴奋的计算机编程世界。在整个“旅程”中,我们将为您提供大量的解决问题的练习。毕竟,优秀的程序员需要善于解决问题。我们将展示如何使用Java程序实现问题解决方案。我们提供了大量的示例,简短的示例集中解释一个概念,而较长的示例更贴近真实的程序设计。我们以会话的方式呈现材料,以便于理解,让这个“旅程”更加愉快。读完这本书后,你应该可以成为一名熟练的Java程序员。本书面向广泛的读者。它既适合标准的大学水平的“程序设计入门”课程或课程序列的学生,也适合有一些编程经验并想学习Java的行业从业者和大学水平的学生,本书还适合自学Java的学生。本书特色:1 教材的基石:解决问题解决问题的能力是所有程序员必须掌握的核心技能。本书通过强调算法开发和程序设计两个关键元素讲解程序化地解决问题的方法。1.1 强调算法开发在第2章,我们在算法示例中使用伪代码代替Java,使读者沉浸在算法开发中。在使用伪代码时,读者能够自己解决复杂的问题,而不会陷入Java的语法困境中—不用担心类头部、分号、括号等。解决复杂问题可以使读者获得对创造力、逻辑能力以及组织能力的初步理解。没有这种理解,读者就会倾向于以死记硬背的态度来学习Java语法。但是有了这种理解,读者学习Java语法往往会更高效,因为他们有了学习它的基础动力。在第3章和之后的章节的算法开发示例中,我们主要依靠Java。但对于更复杂的问题,我们有时候会使用高级的伪代码来描述个提出的解决方案。使用伪代码可以使读者绕过语法细节,专注于解决方案中的算法部分。1.2 强调程序设计解决问题不仅仅是开发一个算法,还包括找出算法的实现,即程序设计。程序设计非常重要,这也是为什么我们会为它付出大量时间。通常,我们会解释一个人在提出解决方法时可能经历的思考过程。举例来说,我们解释怎样选择不同的循环类型,怎样将一个方法切分为多个方法,怎样决定适当的类,怎样选择示例和静态成员,以及怎样使用继承和组合确定类的关系。我们考验读者针对特定任务找出实现方案的能力。我们用一整章的篇幅来介绍程序设计—第8章。在那一章,我们为程序员和用户提供了对代码风格约定和文档的深度观察,介绍了设计策略,如关注点分离、模块化和封装等。此外,我们讲述了备选的设计策略—自上而下、自下而上、基于案例以及迭代增强。1.3 解决问题部分我们经常在解释概念的自然流程中解决问题(算法开发和程序设计),同时也在完全致力于解决章节中涵盖的问题。在每个解决问题的章节,我们都展示一个含有待解决问题的场景。在提出问题解决方案的过程中,我们试图通过迭代设计策略来模仿现实世界中解决问题的经验。我们会提供一个第1版的解决方案,分析此方案,然后讨论对它进行可能的改进。我们使用对话式的试错方式。例如,“我们应该使用哪一种布局管理器?我们先试一下GridLayout管理器。这样可行,但还不够好。现在,让我们再试一下BorderLayout管理器。”这种口语化的语气使读者放松,因为它传出这样一个信息,即程序员在找到方案之前需要反复解决问题,这是很正常的,而且事实上也是符合预期的。1.4 其他解决问题机制我们在整本书中都引入了解决问题的示例和解决问题的建议(不仅在第2章、第8章以及解决问题的章节)。作为重点,在包含解决问题的示例或提示文本旁边,我们插入一个解决问题的方框,它带有一个图标和简洁的提示。我们是通过示例来学习的坚定追随者。因此,我们的教材中包含大量完整的程序示例,鼓励读者使用我们的程序作为范本来自己解决类似的问题。2 教材的基石:基本原理优先2.1将需要复杂语法的概念延后我们认为许多入门级的教材太快地跳跃到需要复杂语法的概念。太早使用复杂语法,读者会养成没有完全理解语法就输入代码的习惯,甚至更糟—没有完全理解示例代码就直接从示例代码复制粘贴。这可能会得不到理想的课程效果,限制读者解决各种不同问题的能力。因此,我们倾向于将需要复杂语法的概念延后。作为这一理念的典型例子,我们在前期介绍简单的GUI编程形式(在可选的图形化编程训练中),在本书的后面涵盖更复杂的GUI编程形式。特别是,我们把事件驱动的GUI编程延后到本书的结尾部分。这一点和一些其他的Java教材不同,它们偏向于早期就完全沉浸在事件驱动的GUI编程中。我们认为这是错误的策略,因为正确的事件驱动GUI编程需要建立在对编程有十足的熟练度之上。当我们的读者在本书的结尾去学习它时,他们能够更好地去完全理解它。2.2 示例追踪要想高效地编写代码,彻底理解代码势在必行。我们发现,一步一步地追踪程序代码是确保彻底理解代码的有效途径。因此,在本书较靠前的部分,当引入一个新的编程结构时,我们经常会对它进行细致入微的说明。我们采用的细节追踪技术阐明了程序员在调试时的思考过程,是由集成开发环境(IDE)软件的调试器生成,在显示器上展示的一系列内容的输出替代品。2.3 输入和输出在可选的GUI跟踪部分,以及本书末尾的GUI章节,我们使用GUI命令来输入和输出(I/O)。不过鉴于我们强调的是基本原理,在本书的其他部分使用控制台命令。对于控制台输入,我们使用Scanner类;对于控制台输出,我们使用标准的System.out.print、System.out.println和System.out.printf方法。3 教材的基石:贴近现实如今,课堂上的学生和业界中的从业者往往更喜欢通过上手实践与贴近现实的方式来学习。为满足这一需求,我们的教材以及配套的网站引入了以下资源。?编译工具。?完整的程序示例。?程序设计中的实践指导。?基于行业标准的代码风格指南。?用于类关系图的统一建模语言(Unified Modeling Language,UML)。?分配的实践性家庭作业。3.1 家庭作业题目我们提供的家庭作业题目是具有说明性、实用性的,并且措辞清晰。这些题目从简单到具有挑战性,被划分成三种类型:复习题、练习题和项目题。我们在每章的末尾引入复习题和练习题,而项目题则是提供在我们教材的网站上。项目题由问题描述组成,它们的解决方案是完整的程序。项目题答案不在教材中。项目题需要读者具备创造力和解决问题的能力,而且要应用在对应章学到的内容。这些项目题往往包含可选的部分,以供那些更有才华的读者去挑战。3.2 学术领域项目题为提升项目题的吸引力并且展示当前章节的编程技术可能被应用到的不同兴趣领域,我们的项目题内容来自以下几个学术领域。?计算机科学和数值方法。?商务和会计。?社会科学和统计学。?数学和物理。?工程学和建筑学。?生物学和生态学。大多数学术领域项目题并不需要特定领域的知识。因此,教师可以放心地把几乎所有项目题布置给任何学生。4 本书组织在撰写本书的过程中,我们引导读者去了解三种重要的编程方法:结构化编程、OOP和事件驱动编程。我们提倡的内容和顺序使学生能够在编程基本原理的坚实基础上发展他们的技能。为培养这种基本原理优先的方法,我们的教材从一组少的概念和细节开始,逐步扩展概念并添加细节,把相对不是很重要的细节延后到之后的章节中,以避免前面的章节负担过重。5 GUI跟踪许多程序员觉得图形用户界面(GUI)编程很有趣。因此,GUI编程可以成为保持读者兴趣和参与度的绝佳激励工具。这就是为什么从第1章开始,图形编程内容就穿插在整本书中。我们把这些内容称为我们的“GUI跟踪之旅”。大多数章末部分的内容是使用GUI代码来完成此章前面部分展示的非GUI内容。对于那些没有时间阅读GUI跟踪部分的读者,没有任何问题。任意或全部的GUI跟踪部分都可以被跳过,因为本书的其他部分并不依赖于任何的GUI跟踪内容。 -
商业化推荐系统服务应用实战张乐 著《商业化推荐系统服务应用实战》主要从企业的商业模式出发,结合作者对企业生命周期发展阶段的分析和判断,对如何设计与实施推荐系统服务的商业化过程和相关业务实践进行介绍和分享。本书涵盖了从推荐服务的商业创新模式到需求与解决方案管理、商业化版本发布、工作流支持以及绩效KPI体系设计和跨职能团队的沟通技术等方面的内容,着重体现了现代商业化产品生态中,跨职能团队的密切协作与商业化服务的可靠交付的价值。《商业化推荐系统服务应用实战》适合软件创新型企业的团队领导者、决策者阅读,同时对希望通过商业智能技术对企业进行转型的领导者、执行者也有指导作用。 -
Python预测分析与机器学习王沁晨本书从理解问题定义、了解数据内的高层信息、数据清理、视化数据,到基础建模、模型优化,分享一个数据分析师的视角与思路。在预测分析的流程中,一步步用详细的图文代码讲解使用到的库,如何正确使用各个库中的方法和函数,以及在遇到类似的问题时如何套用学过的知识。 本书共8章。第1章对预测分析的流程进行一个高层次的概述。第2章介绍本书需要安装使用的库,并讲解数据清理步骤的执行。第3章讲解基础建模需考虑的细节,结合第4章的模型选择,可以搭建一个基础的预测管道。第5章和第6章分别从模型和数据的角度讲解如何优化预测表现。第7章讲解时间序列这一特殊数据的预测方法。后,第8章总结全书学习到的内容,解决一个实战问题。 本书面向3类读者。第1类,有编程基础但毫无数据科学背景,有意入门的读者;第2类,有数据科学理论基础,有意进入实操的读者,如刚毕业没有业界经验的学生;第3类,有数据科学理论基础与实操经验,但日常工作集中在数据分析管道中的数据分析师。 -
jQuery Web开发案例教程前沿科技 温谦随着互联网技术的不断发展,JavaScript语言及相关技术越来越受到人们的关注,JavaScript框架层出不穷。jQuery作为JavaScript框架中的优秀代表,为广大开发者提供了诸多便利,持久地占据着Web前端开发技术中的重要位置。本书分为上下两篇,通过丰富的实例详细讲解jQuery框架的相关技术。本书上篇会针对jQuery基础知识,以及选择器、控制DOM、事件、AJAX、动画、插件等专题进行深入讲解,这一部分将重点通过应用和案例来讲解实战问题。本书下篇会通过5个综合实例,完整地演示使用jQuery进行综合项目开发的过程,使读者能够真正地将jQuery应用到真实的项目开发环节中,并对Web前端的工程化有所认知。本书内容翔实、结构框架清晰、讲解循序渐进,并注重各章以及实例之间的呼应与对照。本书既可以作为高等院校相关专业网页设计与制作、前端开发等课程的教材,也可以作为jQuery初学者的入门用书,还可以作为高级用户进一步学习相关技术的参考资料。
