![]() |
![]() |
Your cart is empty |
||
Books > Computing & IT > Computer programming > Programming languages
This book provides a high-level description, together with a mathematical and an experimental analysis, of Java and of the Java Virtual Machine (JVM), including a standard compiler of Java programs to JVM code and the security critical bytecode verifier component of the JVM. The description is structured into language layers and machine components. It comes with a natural executable refinement (written in AsmGofer and provided on CD ROM) which can be used for testing code. The method developed for this purpose is based on Abstract State Machines (ASMs) and can be applied to other virtual machines and to other programming languages as well. The book is written for advanced students and for professionals and practitioners in research and development who need a complete and transparent definition and an executable model of the language and of the virtual machine underlying its intended implementation.The CD ROM contains the entire text of the book and numerous examples and exercises.
Formal Languages and Computation: Models and Their Applications gives a clear, comprehensive introduction to formal language theory and its applications in computer science. It covers all rudimental topics concerning formal languages and their models, especially grammars and automata, and sketches the basic ideas underlying the theory of computation, including computability, decidability, and computational complexity. Emphasizing the relationship between theory and application, the book describes many real-world applications, including computer science engineering techniques for language processing and their implementation. Covers the theory of formal languages and their models, including all essential concepts and properties Explains how language models underlie language processors Pays a special attention to programming language analyzers, such as scanners and parsers, based on four language models-regular expressions, finite automata, context-free grammars, and pushdown automata Discusses the mathematical notion of a Turing machine as a universally accepted formalization of the intuitive notion of a procedure Reviews the general theory of computation, particularly computability and decidability Considers problem-deciding algorithms in terms of their computational complexity measured according to time and space requirements Points out that some problems are decidable in principle, but they are, in fact, intractable problems for absurdly high computational requirements of the algorithms that decide them In short, this book represents a theoretically oriented treatment of formal languages and their models with a focus on their applications. It introduces all formalisms concerning them with enough rigors to make all results quite clear and valid. Every complicated mathematic
Because of its portability and platform-independence, Java is the ideal computer programming language to use when working on graph algorithms and other mathematical programming problems. Collecting some of the most popular graph algorithms and optimization procedures, A Java Library of Graph Algorithms and Optimization provides the source code for a library of Java programs that can be used to solve problems in graph theory and combinatorial optimization. Self-contained and largely independent, each topic starts with a problem description and an outline of the solution procedure, followed by its parameter list specification, source code, and a test example that illustrates the usage of the code. The book begins with a chapter on random graph generation that examines bipartite, regular, connected, Hamilton, and isomorphic graphs as well as spanning, labeled, and unlabeled rooted trees. It then discusses connectivity procedures, followed by a paths and cycles chapter that contains the Chinese postman and traveling salesman problems, Euler and Hamilton cycles, and shortest paths. The author proceeds to describe two test procedures involving planarity and graph isomorphism. Subsequent chapters deal with graph coloring, graph matching, network flow, and packing and covering, including the assignment, bottleneck assignment, quadratic assignment, multiple knapsack, set covering, and set partitioning problems. The final chapters explore linear, integer, and quadratic programming. The appendices provide references that offer further details of the algorithms and include the definitions of many graph theory terms used in the book.
Learning Java Through Games teaches students how to use the different features of the Java language as well as how to program. Suitable for self-study or as part of a two-course introduction to programming, the book covers as much material as possible from the latest Java standard while requiring no previous programming experience. Taking an application-motivated approach, the text presents an abundance of games. Students must read through the whole chapter to understand all the features that are needed to implement the game. Most chapters start with a description of a game and then introduce different Java constructs for implementing the features of the game on need-to-use bases. The text teaches students not only how to write code that works but also how to follow good software practices. All sample programs in the text strive to achieve low cohesion and high coupling-the hallmarks of well-designed code. Many programs are refactored multiple times to achieve code that is easy to understand, reuse, and maintain. The first part of the book covers basic programming techniques, such as conditional statements, loops, methods, arrays, and classes. The second part focuses on more advanced topics, including class inheritance, recursions, sorting algorithms, GUI programming, exception handling, files, and applets.
Developed by Jean-Paul Benzerci more than 30 years ago, correspondence analysis as a framework for analyzing data quickly found widespread popularity in Europe. The topicality and importance of correspondence analysis continue, and with the tremendous computing power now available and new fields of application emerging, its significance is greater than ever. Correspondence Analysis and Data Coding with Java and R clearly demonstrates why this technique remains important and in the eyes of many, unsurpassed as an analysis framework. After presenting some historical background, the author presents a theoretical overview of the mathematics and underlying algorithms of correspondence analysis and hierarchical clustering. The focus then shifts to data coding, with a survey of the widely varied possibilities correspondence analysis offers and introduction of the Java software for correspondence analysis, clustering, and interpretation tools. A chapter of case studies follows, wherein the author explores applications to areas such as shape analysis and time-evolving data. The final chapter reviews the wealth of studies on textual content as well as textual form, carried out by Benzecri and his research lab. These discussions show the importance of correspondence analysis to artificial intelligence as well as to stylometry and other fields. This book not only shows why correspondence analysis is important, but with a clear presentation replete with advice and guidance, also shows how to put this technique into practice. Downloadable software and data sets allow quick, hands-on exploration of innovative correspondence analysis applications.
This book shows readers how to get the most out of C# using Object Orientation. The author takes a hands-on approach to learning C# and object orientation, using lots of worked examples. The text provides an ideal base from which to start programming. After introducing the C# language and object orientation, John Hunt goes on to explain: how to construct a user interface for a simple editor; how to obtain information on files and directories and how objects can be stored and restored using serialization... -Presents C# and object-orientation as a coherent whole, using one to strengthen the presentation of the other -Includes lots of complete and worked examples to clarify readers'understanding -The source code for the examples is available at: http://www.guide-to-csharp.net -Hunt is a successful Springer author, and this book is written in the same style as his Java for Practitioners
This is the up-to-date, practical guide to Java you've been looking for! Whether you're a beginner, you're switching to Java from another language, or you're just looking to brush up on your Java skills, this is the only book you need. You'll get a thorough grounding in the basics of the Java language, including classes, objects, arrays, strings, and exceptions. You'll also learn about more advanced topics: threads, algorithms, XML, JUnit testing, and much more. This book belongs on every Java programmer's shelf! * Your complete guide to the Java Platform, Standard Edition 17* Understand the Java language, from basic principles to advanced concepts* Work with expressions, statements, classes, objects, and much more Java BasicsGet to know the inner workings of Java, from classes and objects to datastructures and algorithms. This book is up to date for Java SE 17!Advanced TopicsAlready mastered the basics? Explore what else Java can do, from floating point arithmetic to testing frameworks, threads, database management, and beyond.Practical ExamplesGain hands-on experience with Java using tried and tested downloadable programs. These code examples allow you to work your way through the book, testing your newfound skills and knowledge along the journey. The standard work on Java programming, updated for Java SE 17!Java books are a dime a dozen, but Java: The Comprehensive Guide should be your first choice when it comes to current and practical Java knowledge. For more than a decade, Java beginners, students, and those switching from other programming languages have benefited equally from this seminal work on Java, now available for the first time in English! Lecturers and trainers appreciate the book for its numerous examples, exercises, and model solutions. Readers celebrate it for its clear presentation of information and the subtle sense of humor; programming can also be fun! You will learn the Java language from A to Z, by following practical examples and step-by-step instructions. Java expert Christian Ullenboom will familiarize you with classes, objects, generics, lambda expressions, and modules and offer you easy-to-understand instructions on special topics. This book provides training on the syntax of this popular programming language, dealing with important standard libraries, development tools and development environments, object-oriented analysis and design, design patterns, and program conventions. Highlights: Classes and objects Arrays Exception handling Object-oriented programming Characters and strings Generics Class library Concurrent programming Data structures Lambda expressions JUnit testing JDK tools
Master Today's Best Practices for Building Reusable .NET Frameworks, Libraries, and Components ".NET Core [contains] advances important to cloud application developers: performance, resource utilization, container support, and others. This third edition of Framework Design Guidelines adds guidelines related to changes that the .NET team adopted during transition from the world of client-server application to the world of the Cloud." -From the Foreword by Scott Guthrie Framework Design Guidelines has long been the definitive guide to best practices for developing components and component libraries in Microsoft .NET. Now, this third edition has been fully revised to reflect game-changing API design innovations introduced by Microsoft through eight recent updates to C#, eleven updates to .NET Framework, and the emergence and evolution of .NET Core. Three leading .NET architects share the same guidance Microsoft teams are using to evolve .NET, so you can design well-performing components that feel like natural extensions to the platform. Building on the book's proven explanatory style, the authors and expert annotators offer insider guidance on new .NET and C# concepts, including major advances in asynchronous programming and lightweight memory access. Throughout, they clarify and refresh existing content, helping you take full advantage of best practices based on C# 8, .NET Framework 4.8, and .NET Core. Discover which practices should always, generally, rarely, or never be used-including practices that are no longer recommended Learn the general philosophy and fundamental principles of modern framework design Explore common framework design patterns with up-to-date C# examples Apply best practices for naming, types, extensibility, and exceptions Learn how to design libraries that scale in the cloud Master new async programming techniques utilizing Task and ValueTask Make the most of the Memory and Span types for lightweight memory access This guide is an indispensable resource for everyone who builds reusable .NET-based frameworks, libraries, or components at any scale: large system frameworks, medium-size reusable layers of large distributed systems, extensions to system frameworks, or even small shared components. Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
You won't get far as a Visual Basic developer unless you know how to write database applications. That's where this book comes in. It shows you how to use Visual Studio 2008 and ADO.NET 3.5 to develop database applications the way the best professionals do. That includes the full gamut of skills you need, from using prototyping features that generate ADO.NET code...to writing your own ADO.NET code from scratch so you can closely control how the database processing works...to using .NET 3.5 features like LINQ and the ADO.NET Entity Framework that actually change the way you think about handling data. What's more, this book takes you from beginner to database professional in a logical progression that makes each step easier to master: In section 1, you will get a basic introduction to databases, SQL, and ADO.NET. If you already have ADO.NET experience, you can skip ahead. In section 2, you will quickly be prototyping database applications using Rapid Application Development (RAD) tools like data sources. In section 3, you will learn how to build 3-layer applications the ways the pros do, with presentation, business, and database classes. This is where you'll get into ADO.N ET coding to create your own database classes. Section 4 covers LINQ (Language-Integrated Query), a .NET 3.5 feature that lets you handle all types of data using a query language that's integrated into Visual Basic and that saves you a lot of ADO.NET coding. That means you'll learn how to: Use LINQ to DataSet to query the data in typed or untyped datasets; Use LINQ to SQL, which allows you to generate an object model from the objects in a SQL Server database that can then be used to access and update the database data...a feature that offers you some of the same benefits as the Entity Framework; Use LINQ to XML to manipulate XML data much more easily than you can using the Document Object Model; Use LINQ data source controls with web applications. In section 5, you will learn to work with the ADO.NET Entity Framework...another way to let .NET generate the code you need and do more of the work for you. Using this feature, you create an Entity Data Model that defines a conceptual model for the business objects used by an application, a storage model for the objects in a database, and mappings that relate the two. Then: You can use LINQ or a special form of SQL to retrieve data into the business objects; You can work with the business objects and save changes to the database using generated code; You can use Entity data source controls with web applications.
"TCP/IP sockets in C# is an excellent book for anyone interested in
writing network applications using Microsoft .Net frameworks. It is
a unique combination of well written concise text and rich
carefully selected set of working examples. For the beginner of
network programming, it's a good starting book; on the other hand
professionals could also take advantage of excellent handy sample
code snippets and material on topics like message parsing and
asynchronous programming." The popularity of the C# language and the .NET framework is ever
rising due to its ease of use, the extensive class libraries
available in the .NET Framework, and the ubiquity of the Microsoft
Windows operating system, to name a few advantages. TCP/IP Sockets
in C# focuses on the Sockets API, the de facto standard for writing
network applications in any programming language. Starting with
simple client and server programs that use TCP/IP (the Internet
protocol suite), students and practitioners quickly learn the
basics and move on to firsthand experience with advanced topics
including non-blocking sockets, multiplexing, threads, asynchronous
programming, and multicasting. Key network programming concepts
such as framing, performance and deadlocks are illustrated through
hands-on examples. Using a detailed yet clear, concise approach,
this book includes numerous code examples and focused discussions
to provide a solid understanding of programming TCP/IP sockets in
C#.
C++ is one of the most important and influential programming languages for application development. It supports the modular, object- oriented and generic programming models and its flexibility has been one of the main reasons why it has been so successful. With the emergence of the Boost Libraries (www.boost.org) we see that C++ is brought to a new level, namely a set of reusable and modular template libraries that C++ developers can use in their applications. This book is dedicated to a number of Boost libraries for higher-order functions, data types and data structures, libraries for text and string processing, multi-threading, random number generation and more. We also discuss how Boost and design patterns are used to promote the flexibility of code. Each library is described in a step-by-step manner. Numerous examples are given to show the functionality of each library. The full source code is freely available to purchasers of the book. Coverage Includes Understanding and using 30 major Boost libraries. Learn about higher-order functions, data structures, memory management, multi-threading and more. Using Boost in new and existing applications. Integrating Boost and the Gang-Of-Four design patterns. Ready-to-run projects for Visual Studio. Appendices and exercises."
PhoneGap is a standards-based, open-source development framework that can be deployed to any mobile device without losing the features of the native app-allowing for access to device contacts, the local file system, camera, and media on multiple platforms without requiring users to write a single line of code. Ideal for intermediate to advanced users, PhoneGap Build: Developing Cross Platform Mobile Applications in the Cloud offers the comprehensive coverage you need to harness the power of this dynamic tool. It provides complete coverage of the cloud computing platform and the theories behind cloud computing, using a series of engaging examples. The book explains the differences between existing mobile platforms, the different types of browsers they support, and the programming languages and integrated development environment required to develop apps for each of them. It then describes how PhoneGap makes the task of developing cross-platform mobile apps easier. This book will teach you how to use: HTML5, CSS3, and JavaScript to develop apps for devices across various mobile operating systems PhoneGap Build to develop mobile apps in the cloud PhoneGap with Sencha Touch and jQuery Mobile Back end databases to store and retrieve information The text starts with simpler applications and gradually moves toward describing advanced concepts and how to exploit different application programming interfaces and methods. By the time you finish the book, you will learn how to develop feature-rich mobile applications that can run on the cloud to support different platforms. Supplying authoritative guidance and proven best practices for designing cloud-based applications, the book is an ideal reference for cloud system developers, architects, and IT professionals. It is also suitable for use in instructional settings.
Open Source Data Warehousing and Business Intelligence is an all-in-one reference for developing open source based data warehousing (DW) and business intelligence (BI) solutions that are business-centric, cross-customer viable, cross-functional, cross-technology based, and enterprise-wide. Considering the entire lifecycle of an open source DW & BI implementation, its comprehensive coverage spans from basic concepts all the way through to customization. Highlighting the key differences between open source and vendor DW and BI technologies, the book identifies end-to-end solutions that are scalable, high performance, and stable. It illustrates the practical aspects of implementing and using open source DW and BI technologies to supply you with valuable on-the-project experience that can help you improve implementation and productivity. Emphasizing analysis, design, and programming, the text explains best-fit solutions as well as how to maximize ROI. Coverage includes data warehouse design, real-time processing, data integration, presentation services, and real-time reporting. With a focus on real-world applications, the author devotes an entire section to powerful implementation best practices that can help you build customer confidence while saving valuable time, effort, and resources.
Perennial favorites, Charlotte Kaslas "If the Buddha Dated and If the Buddha Married" have inspired readers with their empowering blend of spiritual and psychological insights. Her latest, "If the Buddha Got Stuck," is a wise yet lighthearted book that will speak to anyone who's ever experienced being stuck in life and wanted to break free. With her signature clarity, wisdom, and warm heart, Kasl presents readers with seven steps that tap into lifeas bigger picture: Notice Where Youare Stuck; Show Up; Pay Attention; Live in Reality; Connect with Others; Move From Thought to Action; and Let Go. Full of insight from Buddhist and other teachings that emphasize the joy that comes with letting go of attachments to events and things, "If the Buddha Got Stuck" is an inspirational and practical roadmap to a more joyful, peaceful, and fulfilling life.
The book is a collection of invited chapters by renowned experts and is part of a series on Language Processing, Pattern Recognition, and Intelligent Systems. The content is wide-ranging, encompassing perspectives from computer science to social science to design and reflecting the considerable experience of researchers, teachers and practitioners. This diversity offers rigorous approaches to the topic of Digital fonts and reading, organised in four sections: vision and reading; scientific approaches to reading; perspectives on type design practice; and using type. The heavily illustrated text includes original research, case studies, reviews, and practical advice, serving as a useful handbook or reference to inform design for reading. Traditionally, there has been a separation between researchers and practitioners, with different agendas. This book bridges the gap between scientific testing and design experience and considers the reader's perspective. The collection aims to resonate with academics and students, experienced or novice typographic or interface designers and software engineers, and engage with anyone who has an interest in type and reading.
* Targests readers with a background in programming, interested in an introduction/refresher in statistical hypothesis testing * Uses Python throughout * Provides the reader with the opportunity of using the book whenever needed rather than following a sequential path.
Finite Element Computations in Mechanics with R: A Problem-Centred Programming Approach provides introductory coverage of the finite element method (FEM) with the R programming language, emphasizing links between theory and implementation of FEM for problems in engineering mechanics. Useful for students, practicing engineers, and researchers, the text presents the R programming as a convenient easy-to-learn tool for analyzing models of mechanical systems, with finite element routines for structural, thermal, and dynamic analyses of mechanical systems, and also visualization of the results. Full-color graphics are used throughout the text.
Practical UML Statecharts in C/C plus plus Second Edition bridges the gap between high-level abstract concepts of the Unified Modeling Language (UML) and the actual programming aspects of modern hierarchical state machines (UML statecharts). The book describes a lightweight, open source, event-driven infrastructure, called QP that enables direct manual coding UML statecharts and concurrent event-driven applications in C or C plus plus without big tools.This book is presented in two parts. In Part I, you get a practical description of the relevant state machine concepts starting from traditional finite state automata to modern UML state machines followed by state machine coding techniques and state-machine design patterns, all illustrated with executable examples. In Part II, you find a detailed design study of a generic real-time framework indispensable for combining concurrent, event-driven state machines into robust applications. Part II begins with a clear explanation of the key event-driven programming concepts such as inversion of control ( Hollywood Principle ), blocking versus non-blocking code, run-to-completion (RTC) execution semantics, the importance of event queues, dealing with time, and the role of state machines to maintain the context from one event to the next. This background is designed to help software developers in making the transition from the traditional sequential to the modern event-driven programming, which can be one of the trickiest paradigm shifts. The lightweight QP event-driven infrastructure goes several steps beyond the traditional real-time operating system (RTOS). In the simplest configuration, QP runs on bare-metal microprocessor, microcontroller, or DSP completely replacing the RTOS. QP can also work with almost any OS/RTOS to take advantage of the existing device drivers, communication stacks, and other middleware. The accompanying website to this book contains complete open source code for QP, ports to popular proc
A Concise Introduction to Programming in Python, Second Edition provides a hands-on and accessible introduction to writing software in Python, with no prior programming experience required. The Second Edition was thoroughly reorganized and rewritten based on classroom experience to incorporate: A spiral approach, starting with turtle graphics, and then revisiting concepts in greater depth using numeric, textual, and image data Clear, concise explanations written for beginning students, emphasizing core principles A variety of accessible examples, focusing on key concepts Diagrams to help visualize new concepts New sections on recursion and exception handling, as well as an earlier introduction of lists, based on instructor feedback The text offers sections designed for approximately one class period each, and proceeds gradually from procedural to object-oriented design. Examples, exercises, and projects are included from diverse application domains, including finance, biology, image processing, and textual analysis. It also includes a brief "How-To" sections that introduce optional topics students may be interested in exploring. The text is written to be read, making it a good fit in flipped classrooms. Designed for either classroom use or self-study, all example programs and solutions to odd-numbered exercises (except for projects) are available at: http://www.central.edu/go/conciseintro/.
The Unified Process is a development methodology that is geared to the creation of object-oriented component-based software. It is a process that has been developed and promoted by Rational Software, Inc. and the developers of the Unified Modelling Language (UML). The books of this four-volume series are designed to address each of the four phases of the UP process; inception, elaboration, construction, and transition. Each volume will present a collection of best practices that can be used as guidelines in the implementation of the respective phase of development. Editor Scott Ambler has compiled a collection of articles from Software Development magazine that will present the wisdom of industry luminaries such as Steve McConnell, Peter Coad, Larry Constantine, Karl Wiegers, Capers Jones, Martin Fowler, Clemens Szyperski, Meilir Page-Jones, Tom McCabe, Edward Yourdon and many others. This volume, concentrating on the construction phase, will focus on the design and implementation of new systems in an iterative and incremental manner.
This book successfully balances the introduction of object-oriented
concepts with data structures in C++.
This new edition provides step-by-step instruction on modern 3D graphics shader programming in OpenGL with Java, along with its theoretical foundations. It is appropriate both for computer science graphics courses, and for professionals interested in mastering 3D graphics skills. It has been designed in a 4-color, "teach-yourself" format with numerous examples that the reader can run just as presented. Every shader stage is explored, from the basics of modeling, textures, lighting, shadows, etc., through advanced techniques such as tessellation, normal mapping, noise maps, as well as new chapters on simulating water, stereoscopy, and ray tracing. FEATURES Covers modern OpenGL 4.0+ shader programming in Java, with instructions for both PC/Windows and Macintosh Illustrates every technique with running code examples. Everything needed to install the libraries, and complete source code for each example Includes step-by-step instruction for using each GLSL programmable pipeline stage (vertex, tessellation, geometry, and fragment) Explores practical examples for modeling, lighting and shadows (including soft shadows), terrain, water, and 3D materials such as wood and marble Adds new chapters on simulating water, stereoscopy, and ray tracing with compute shaders Explains how to optimize code with tools such as Nvidia's Nsight debugger Includes companion files with code, object models, figures, and more
Features Teaches software design by showing programmers how to build the tools they use every day. Each chapter includes exercises to help readers check and deepen their understanding. All the example code can be downloaded, re-used, and modified under an open license.
Everything beginners need to start programming with Perl Perl is the ever-popular, flexible, open source programming language that has been called the programmers' Swiss army knife. This book introduces Perl to both new programmers and experienced ones who are looking to learn a new language. In the tradition of the popular Wrox Beginning guides, it presents step-by-step guidance in getting started, a host of try-it-out exercises, real-world examples, and everything necessary for a Perl novice to start programming with confidence.Introduces Perl to both new programmers and experienced ones who want to learn a new language Provides a host of real-world applications for today's environments so readers can get started immediately Covers the new features of Perl but fully applicable to previous editions "Beginning Perl" provides the information and instruction you need to confidently get started with Perl. For Instructors: Classroom and training support material are available for this book. |
![]() ![]() You may like...
Cloud Computing Solutions Architect - A…
Arshdeep Bahga, Vijay Madisetti
Hardcover
R2,491
Discovery Miles 24 910
Demand-Driven Web Services - Theory…
Zhaohao Sun, John Yearwood
Hardcover
R8,817
Discovery Miles 88 170
The Boundary Element Method for Plate…
J.T. Katsikadelis
Hardcover
|