软件与程序设计
-
Java程序设计上机实训王薇,杨丽萍 著本书是清华大学出版社出版的教材《Java程序设计与实践教程》的配套用书,也可独立作为上机用书。本书内容包括上机实训和习题解答两部分。上机实训主要针对Java程序设计的初级及高级操作,精心设计了各章实验,每章实验又分为多个实验题目,每个实验题目由实验目的、实验要求、实验步骤(程序)和独立练习组成。每个实验题目均采用“任务驱动式”描述方式,由浅入深地训练学生的Java编程实践能力。每个实验题目操作步骤详细,可使学生较为轻松地完成实验内容。实验题目中的独立练习部分为学生提供了额外的编程题目,以帮助学生更快地提高编程水平。习题解答部分列出与配套教材各章内容要点相对应的习题解答以及Java综合习题,供读者参考。 本书以掌握Java语言的应用为目的,层次清晰,注重实用,语言简洁,深入浅出,通过实验、实训来掌握Java语言的应用能力和技巧。 本书适合作为普通本科院校、大专以及高职高专计算机及相关专业本科生和专科生等学习Java语言上机实训的指导教材,也可作为学生或教师的教学参考用书。本书也适合高等院校非计算机专业学生自学、各类社会人员培训使用。 -
C#程序设计基础与应用严健武,严耿超,李彬,杨晓盼,朱楷 著本书使用Microsoft Visual Studio 2010开发平台,以能独立完成“网络点餐管理系统”项目的开发为目标,对面向对象的程序设计语言C#进行了全面的阐述。全书分为7章,内容包括初步认识C#、C#语法基础、面向对象程序设计、Windows窗体应用程序设计、文件操作、使用ADO.NET进行数据库编程开发和网络点餐管理系统项目开发。 本书适合作为高等院校计算机相关专业C#语言程序设计的教材,也可以作为程序设计爱好者的自学参考书。 -
Spring 5核心原理与30个类手写实战谭勇德(Tom) 著《Spring 5核心原理与30个类手写实战》基于编程开发实践,不仅深度解析Spring 5的原理与新特性,更从环境准备、顶层结构设计、数据访问等方面一步步地推导出Spring的设计原理。在每个知识点上,均以大量的经典代码案例辅助讲解,使理论紧密联系实际。最后手写30个类,以体会Spring作者的创作过程,让每一位读者学以致用。 对于立志成为Java架构师的技术人员,以及对以Spring为核心的Java Web开发感兴趣的计算机专业高校生、在职Java开发人员来说,本书是一本具备超强实战意义的技术升级指南。读者通过本书可以看源码不再“晕车”,轻松找到入口;系统学习设计思想,提高解决问题的效率;培养架构思维能力,以及自驱学习能力。 -
Drools规则引擎技术指南来志辉 著Drools 规则引擎已经有几年的发展史了,但由于学习成本较高,且国内并没有详细的中文文档,导致 Drools 规则引擎在国内市场推行缓慢。本书将对 Drools规则引擎进行一个详细说明,共分为六篇,基石篇主要介绍规则引擎的入门知识,基础篇详细介绍规则引擎的基础语法、规则属性、关键字及错误信息,中级篇介绍规则中级语法等,高级篇介绍Workbench、 Kie-Server、动态规则、多线程中的 Drools 等高级用法,源码篇为 Drools 源码分析,扩展篇为 Drools 扩展说明。 除了讲解 Drools 规则引擎的思维方式外,还在每一个知识点上辅以大量的代码案例,并且有很多实战经验及思想在里面。本书作为 Drools 规则引擎的中文教程, Java 开发者、对 Drools 规则引擎有兴趣的软件开发人员或系统架构师都可以阅读。 -
TensorFlow自然语言处理[奥] 图珊·加内格达拉(Thushan Ganegedara) 著1章是对NLP的简单介绍。该章将首先讨论我们需要NLP的原因。接下来,将讨论NLP中一些常见的子任务。之后,将讨论NLP的两个主要阶段,即传统阶段和深度学习阶段。通过研究如何使用传统算法解决语言建模任务,我们将了解传统阶段NLP的特点。然后,将讨论深度学习阶段,在这一阶段中深度学习算法被大量用于NLP。我们还将讨论深度学习算法的主要系列。后,将讨论一种基本的深度学习算法:全连接神经网络。该章结束时会提供一份路线图,简要介绍后面的内容。 第2章介绍Python TensorFlow库,这是我们实现解决方案的主要平台。首先在TensorFlow中编写一段代码,执行一个简单的计算,并讨论从运行代码到得到结果这一过程中到底发生了什么。我们将详细介绍TensorFlow的基础组件。把Tensorflow比作丰富的餐厅,了解如何完成订单,以便进一步加强对TensorFlow的理解。稍后,将讨论TensorFlow的更多技术细节,例如数据结构和操作(主要与神经网络相关)。后,我们将实现一个全连接的神经网络来识别手写数字。这将帮助我们了解如何使用TensorFlow来实现端到端解决方案。 第3章首先讨论如何用TensorFlow解决NLP任务。在该章中,我们将讨论如何用神经网络学习单词向量或单词表示。单词向量也称为词嵌入。单词向量是单词的数字表示,相似单词有相似值,不同单词有不同值。首先,将讨论实现这一目标的几种传统方法,包括使用称为WordNet的大型人工构建知识库。然后,将讨论基于现代神经网络的方法,称为Word2vec,它在没有任何人为干预的情况下学习单词向量。我们将通过一个实例来了解Word2vec的机制。接着,将讨论用于实现此目的的两种算法变体:skip-gram和连续词袋(CBOW)模型。我们将讨论算法的细节,以及如何在TensorFlow中实现它们。 第4章介绍与单词向量相关的更高级方法。首先,会比较skip-gram和CBOW,讨论其中哪一种有明显优势。接下来,将讨论可用于提高Word2vec算法性能的几项改进。然后,将讨论一种更新、更强大的词嵌入学习算法:GloVe(全局向量)算法。后,将在文档分类任务中实际观察单词向量。在该练习中,我们将看到单词向量十分强大,足以表示文档所属的主题(例如,娱乐和运动)。 第5章讨论卷积神经网络(CNN),它是擅长处理诸如图像或句子这样的空间数据的神经网络家族。首先,讨论如何处理数据以及处理数据时涉及哪种操作,以便对CNN有较深的理解。接下来,深入研究CNN计算中涉及的每个操作,以了解CNN背后的数学原理。后,介绍两个练习。练习使用CNN对手写数字图像进行分类,我们将看到CNN能够在此任务上很快达到较高的准确率。接下来,我们将探讨如何使用CNN对句子进行分类。特别地,我们要求CNN预测一个句子是否与对象、人物、位置等相关。 第6章介绍递归神经网络。递归神经网络(RNN)是一个可以模拟数据序列的强大的神经网络家族。首先讨论RNN背后的数学原理以及在学习期间随时间更新RNN的更新规则。然后,讨论RNN的不同变体及其应用(例如,一对一RNN和一对多RNN)。后,用RNN执行文本生成任务的练习。我们用童话故事训练RNN,然后要求RNN生成一个新故事。我们将看到在持久的长期记忆方面RNN表现不佳。后,讨论更高级的RNN变体,即RNN-CF,它能够保持更长时间的记忆。 第7章介绍长短期记忆网络。RNN在保持长期记忆方面效果较差,这使我们需要探索能在更长时间内记住信息的更强大技术。我们将在该章讨论一种这样的技术:长短期记忆网络(LSTM)。LSTM功能更强大,并且在许多时间序列任务中表现得优于其他序列模型。首先通过一个例子,研究潜在的数学原理和LSTM的更新规则,以说明每个计算的重要性。然后,将了解为什么LSTM能够更长时间地保持记忆。接下来,将讨论如何进一步提高LSTM预测能力。后,将讨论具有更复杂结构的几种LSTM变体(具有窥孔连接的LSTM),以及简化LSTM门控循环单元(GRU)的方法。 第8章介绍LSTM的应用:文本生成。该章广泛评估LSTM在文本生成任务中的表现。我们将定性和定量地衡量LSTM产生的文本的好坏程度,还将比较LSTM、窥孔连接LSTM和GRU。后,将介绍如何将词嵌入应用到模型中来改进LSTM生成的文本。 第9章转到对多模态数据(即图像和文本)的处理。在该章中,我们将研究如何自动生成给定图像的描述。这涉及将前馈模型(即CNN)与词嵌入层及顺序模型(即LSTM)组合,形成一个端到端的机器学习流程。 第10章介绍有关神经机器翻译(NMT)模型的应用。机器翻译指的是将句子或短语从源语言翻译成目标语言。首先讨论机器翻译是什么并简单介绍机器翻译历史。然后,将详细讨论现代神经机器翻译模型的体系结构,包括训练和预测的流程。接下来,将了解如何从头开始实现NMT系统。后,会探索改进标准NMT系统的方法。 第11章重点介绍NLP的现状和未来趋势。我们将讨论前面提到的系统的相关新发现。该章将涵盖大部分令人兴奋的创新,并让你直观地感受其中的一些技术。 附录向读者介绍各种数学数据结构(例如,矩阵)和操作(例如,矩阵的逆),还将讨论概率中的几个重要概念。然后将介绍Keras,它是在底层使用TensorFlow的高级库。Keras通过隐藏TensorFlow中的一些有难度的细节使得神经网络的实现更简单。具体而言,通过使用Keras实现CNN来介绍如何使用Keras。接下来,将讨论如何使用TensorFlow中的seq2seq库来实现一个神经机器翻译系统,所使用的代码比在第11章中使用的代码少得多。后,将向你介绍如何使用TensorBoard可视化词嵌入的指南。TensorBoard是TensorFlow附带的便捷可视化工具,可用于可视化和监视TensorFlow客户端中的各种变量。 -
JavaScript程序设计基础教程刘刚 著JavaScript是目前非常流行的网页前端开发技术之一。本书利用大量案例深入浅出地介绍了JavaScript程序设计的基础知识。本书分为三篇,第一篇为初识JavaScript,包括JavaScript简介;第二篇为JavaScript必备基础知识,包括JavaScript基本语法、JavaScript程序构成、JavaScript对象和JavaScript数组;第三篇为JavaScript技能提升,包括窗口和框架、document对象、表单、算法、综合设计实例——JavaScript特效制作以及综合实战——实现购物车功能。本书配有全套慕课课程,课程讲解生动细致,可用手机扫码观看课程,也可登录人邮学院网站进行系统学习。本书适合作为高等院校、高职高专JavaScript程序设计相关课程的教材,也可供相关人员自学参考。 -
Flutter何瑞君 著《Flutter:从0到1构建大前端应用》是Flutter从基础入门到进阶实战的教程书,也是一本面向大前端的新技术书。Flutter是谷歌新推出的一个跨平台的、开源的UI框架,同时支持iOS系统和Android系统开发,并且是谷歌未来新操作系统Fuchsia的默认开发套件。本书共10章,内容包括Flutter简介、Dart语言入门、一切皆组件、事件处理、动画、使用网络技术与异步编程、路由、持久化、插件与混合工程和项目实战。本书不仅介绍了Flutter的基本原理、特性,而且在实战章节全面展示了打造一个完整的基于Flutter的App的流程,包含具体细节、思想流程和代码实操。 《Flutter:从0到1构建大前端应用》适合Flutter初学者,对移动开发(iOS/Android)有一定经验的人员,以及希望了解Flutter原理并进阶实战的相关技术人员。 -
Altium Designer 19 PCB设计官方指南Altium中国技术支持中心 著本书是一部系统论述Altium Designer 19 PCB基础设计的实战教程(含纸质图书、实战案例、配套视频教程)。全书共8章: 第1章Altium Designer 19 软件概述,介绍了Altium Designer 19软件的特点及新增功能、软件的运行环境、软件的安装与激活、常用系统参数设置,以及系统参数的导出/导入方法; 第2章工程的创建及管理,介绍了完整工程文件的组成、创建工程各类文件、为工程添加或移除已有文件、快速查询文件保存路径; 第3章元件库的创建和加载,介绍了元件的命名规范及归类、原理图库常用操作命令、元件符号的绘制方法、封装的命名和规范、PCB元件库的常用操作命令、封装制作、3D元件的创建及导入、集成库的制作方法; 第4章原理图设计流程,介绍了常用参数设置、原理图设计流程、原理图图纸设置、放置元器件、连接元器件、分配元件标号、检查及编译; 第5章PCB设计流程,介绍了PCB系统参数设置、筛选功能、同步原理图、板框定义及原点设置、层的相关设置、规则设置、视图配置、PCB布局、PCB布线; 第6章PCB后期处理,介绍了DRC检查、位号的调整、装配图制造输出、Gerber文件输出、BOM输出、PDF输出、文件归档;第7章Leonardo项目实战,主要介绍Leonardo开发板的PCB设计; 第8章常见问题及解决方法,介绍了原理图及原理图库、封装库和PCB设计中的常见问题;附录还提供了Leonardo项目所用到的完整原理图、PCB Layout 参考设计、三维PCB视图。 本书适合作为各大中专院校相关专业和培训班的教材,也可以作为电子、电气、自动化设计等相关专业人员的学习和参考用书。 本书由Altium公司授权出版,并对书的内容进行了审核。 -
薛定宇教授大讲堂薛定宇 著本书按照线性代数教材的编排方式,系统论述了基于 MATLAB语言编程的方法来实现线性代数问题的求解。全书内容包括矩阵的输入方法、矩阵基本分析方法、矩阵基本变换与分解方法、矩阵方程的求解方法与矩阵任意函数的计算方法等。此外,书中还介绍了线性代数的诸多应用问题的建模与求解方法。 本书可以作为高等学校理工科各类专业的本科生与研究生学习计算机数学语言(MATLAB)的教材,也可以作为一般读者学习线性代数与矩阵分析的辅助教材——从另一个角度认识线性代数问题的求解方法,并可以作为查询线性代数与矩阵数学问题求解方法的工具书。 -
Python程序设计与算法基础教程江红,余青松 著本教程集教材、练习册、上机指导于一体,基于Windows 10和Python 3.7构建Python开发平台,通过大量的实例,由浅入深、循序渐进地阐述Python语言的基础知识,以及使用Python语言的实际开发应用实例。700多个实例,431道复习题,563个实践项目案例,37个综合案例。
