Skip to main content

Books in Programming languages

  • Mastering Java Full Stack Development

    From Spring Boot to ReactJS
    • 1st Edition
    • Usharani Bhimavarapu
    • English
    Mastering Java Full Stack Development: From Spring Boots to ReactJS is an essential handbook for building robust, scalable, and future-ready enterprise applications using today's most in-demand technologies. Structured for progressive learning, the book blends theory with hands-on examples to help readers build applications that are not just functional, but maintainable, secure, and scalable. Each chapter provides the why behind the how, enabling readers to make informed technical decisions grounded in industry best practices. The book offers a unified, full-stack view of enterprise application development, integrating backend, frontend, database, and cloud layers.It provides an integrated, end-to-end guide that shows how Spring, Hibernate, React, and Microservices work together in a cohesive architecture, while also addressing the growing interest and practical implementation challenges associated with applying the most current development methodology to Java software engineering environments and offering a deep dive into foundational concepts, the challenges faced in real-world applications, and potential future developments. The book is written for full stack developers and Java backend developers who want to expand into frontend technologies, as well as frontend developers looking to master enterprise-level backend development.
  • Development of Multi-Agent System Infrastructures

    A Practical Approach
    • 1st Edition
    • Andrei Olaru
    • English
    Development of Multi-Agent Systems Infrastructure: A Practical Approach explores the creation of modular frameworks to support the deployment of real-world software applications utilizing multi-agent systems (MAS). Drawing from the author’s hands-on experience with the FLASH-MAS framework—a Fast Lightweight Agent Shell—the book delves into both theoretical models and practical solutions for MAS implementation. It addresses the complexities of deploying autonomous agents across diverse fields such as manufacturing, robotics, health care, and supply chain management, highlighting the shared challenges developers face when managing distributed, networked, or large-scale agent interactions. The book is organized into three main sections, covering models and languages for MAS, the deployment and interaction between system entities, and practical guidance for implementing robust MAS frameworks. Emphasizing modularity, the author presents adaptable tools and solutions that can be independently utilized for system development and maintenance. Practical issues such as entity lifecycle management, environmental interactions, and system robustness are thoroughly examined, making this resource valuable for both new and experienced MAS developers.
  • Tcl/Tk

    A Developer's Guide
    • 4th Edition
    • Clif Flynt
    • English
    Tcl/Tk: A Developer's Guide, Fourth Edition is an essential resource for computer professionals, from systems administrators to programmers. It covers new Tcl features, expanded Tcl-OO coverage, web technology using Rivet and SQLite, and AI integration with AWS. The book also delves into Tcl's standard tools, multi-faceted nature, and extensibility, making it ideal for developing GUIs, client/server middleware, and web applications. Readers will quickly learn to code in Tcl and extend its capabilities with the inclusion of numerous code examples and case studies.The updated edition includes over 150 pages on the latest Tcl extensions, proven techniques, and tools for effective programming. Extensive code snippets and online tutorials enhance understanding, while case studies provide practical insights. The book also discusses Tcl's role as the hidden "secret sauce" in commercial applications, highlighting its graphics and control infrastructure. With a vibrant user community and evolving API, Tcl/Tk remains a powerful and versatile programming platform for both beginners and experienced programmers.
  • Python Fast Track

    A Complete Guide to Rapidly Mastering and Applying Python Programming
    • 1st Edition
    • Sanjiban Sekhar Roy + 2 more
    • English
    Python Fast Track: A Complete Guide to Rapidly Mastering and Applying Python Programming adopts a simplified writing style and provides clear explanations to ensure ease of understanding, making it an ideal resource for those new to Python. Starting with the basics, the book covers fundamental concepts such as variables, data types, printing and prompting, lists, dictionaries, tuples, control structure, functions, and object-oriented concepts. The book includes everything you need to understand and apply more advanced programming techniques such as file handling, exception handling, and regex.This great resource is created especially for those who want to apply Python for their research and professional work in scientific computing, data analysis and machine learning, including chapters on NumPy and Pandas, two of the most popular Python application libraries. It demonstrates how to effectively master key applications of Python such as web development, software creation, task automation, and data analysis. The book covers data analysis and machine learning tasks that greatly benefit from Python, thanks to libraries such as TensorFlow and Keras that enable efficient coding.
  • Programming Language Pragmatics

    • 5th Edition
    • Michael Scott + 1 more
    • English
    Programming Language Pragmatics is the most comprehensive programming language textbook available today, with nearly 1000 pages of content in the book, plus hundreds more pages of reference materials and ancillaries online. Michael Scott takes theperspective that language design and language implementation are tightly interconnected, and that neither can be fully understood in isolation. In an approachable, readable style, he discusses more than 50 languages in the context of understanding how code isinterpreted or compiled, providing an organizational framework for learning new languages, regardless of platform. This edition has been thoroughly updated to cover the most recent developments in programming language design and provides both a solid understanding of the most important issues driving software development today
  • CUDA Fortran for Scientists and Engineers

    Best Practices for Efficient CUDA Fortran Programming
    • 2nd Edition
    • Gregory Ruetsch + 1 more
    • English
    CUDA Fortran for Scientists and Engineers: Best Practices for Efficient CUDA Fortran Programming shows how high-performance application developers can leverage the power of GPUs using Fortran, the familiar language of scientific computing and supercomputer performance benchmarking. The authors presume no prior parallel computing experience, and cover the basics along with best practices for efficient GPU computing using CUDA Fortran. In order to add CUDA Fortran to existing Fortran codes, they explain how to understand the target GPU architecture, identify computationally-inte... parts of the code, and modify the code to manage the data and parallelism and optimize performance – all in Fortran, without having to rewrite in another language.Each concept is illustrated with actual examples so you can immediately evaluate the performance of your code in comparison.This second edition provides much needed updates on how to efficiently program GPUs in CUDA Fortran. It can be used either as a tutorial on GPU programming in CUDA Fortran as well as a reference text.
  • API Design for C++

    • 2nd Edition
    • Martin Reddy
    • English
    API Design for C++, Second Edition provides a comprehensive discussion of Application Programming Interface (API) development, from initial design through implementation, testing, documentation, release, versioning, maintenance, and deprecation. It is the only book that teaches the strategies of C++ API development, including interface design, versioning, scripting, and plug-in extensibility. Drawing from the author's experience on large scale, collaborative software projects, the text offers practical techniques of API design that produce robust code for the long-term. It presents patterns and practices that provide real value to individual developers as well as organizations.The Second Edition includes all new material fully updated for the latest versions of C++, including a new chapter on concurrency and multithreading, as well as a new chapter discussing how Objective C++ and C++ code can co-exist and how a C++ API can be accessed from Swift programs. In addition, it explores often overlooked issues, both technical and non-technical, contributing to successful design decisions that produce high quality, robust, and long-lived APIs. It focuses on various API styles and patterns that will allow you to produce elegant and durable libraries. A discussion on testing strategies concentrates on automated API testing techniques rather than attempting to include end-user application testing techniques such as GUI testing, system testing, or manual testing.
  • Theory of Structured Parallel Programming

    • 1st Edition
    • Yong Wang
    • English
    Theory of Structured Parallel Programming is a comprehensive guide to structured parallel programming corresponding to traditional structured sequential programming. The book provides readers with comprehensive coverage of theoretical foundations of structured parallel programming, including analyses of parallelism and concurrency, truly concurrent process algebras, building block-based structured parallel programming, modelling and verification of parallel programming language, modelling and verification of parallel programming patterns, as well as modeling and verification of distributed systems.There have been always two ways to approach parallel computing: one is the structured way, and the other is the graph-based (true concurrent) way. The structured way is often based on the interleaving semantics, such as process algebra CCS. Since the parallelism in interleaving semantics is not a fundamental computational pattern (the parallel operator can be replaced by alternative composition and sequential composition), the parallel operator often does not occur as an explicit operator, such as in the mainstream programming languages C, C++, Java, et al.
  • MATLAB

    A Practical Introduction to Programming and Problem Solving
    • 6th Edition
    • Dorothy C. Attaway
    • English
    MATLAB: A Practical Introduction to Programming and Problem Solving, winner of TAA’s 2017 Textbook Excellence Award ("Texty"), guides the reader through both programming and built-in functions to easily exploit MATLAB’s extensive capabilities for tackling engineering and scientific problems. Assuming no knowledge of programming, this book starts with programming concepts, such as variables, assignments, and selection statements, moves on to loops, and then solves problems using both the programming concept and the power of MATLAB. The sixth edition has been updated to reflect the functionality of the current version of MATLAB (R2021a), including the introduction of machine learning concepts and the Machine Learning Toolbox, and new sections on data formats and data scrubbing.
  • Multicore and GPU Programming

    An Integrated Approach
    • 2nd Edition
    • Gerassimos Barlas
    • English
    Multicore and GPU Programming: An Integrated Approach, Second Edition offers broad coverage of key parallel computing tools, essential for multi-core CPU programming and many-core "massively parallel" computing. Using threads, OpenMP, MPI, CUDA and other state-of-the-art tools, the book teaches the design and development of software capable of taking advantage of modern computing platforms that incorporate CPUs, GPUs and other accelerators. Presenting material refined over more than two decades of teaching parallel computing, author Gerassimos Barlas minimizes the challenge of transitioning from sequential programming to mastering parallel platforms with multiple examples, extensive case studies, and full source code. By using this book, readers will better understand how to develop programs that run over distributed memory machines using MPI, create multi-threaded applications with either libraries or directives, write optimized applications that balance the workload between available computing resources, and profile and debug programs targeting parallel machines.
  • MATLAB

    A Practical Introduction to Programming and Problem Solving
    • 5th Edition
    • Dorothy C. Attaway
    • English
    MATLAB: A Practical Introduction to Programming and Problem Solving, winner of TAA’s 2017 Textbook Excellence Award ("Texty"), guides the reader through both programming and built-in functions to easily exploit MATLAB's extensive capabilities for tackling engineering and scientific problems. Assuming no knowledge of programming, this book starts with programming concepts, such as variables, assignments, and selection statements, moves on to loops, and then solves problems using both the programming concept and the power of MATLAB. The fifth edition has been updated to reflect the functionality of the current version of MATLAB (R2018a), including the addition of local functions in scripts, the new string type, coverage of recently introduced functions to import data from web sites, and updates to the Live Editor and App Designer.
  • OCUP 2 Certification Guide

    Preparing for the OMG Certified UML 2.5 Professional 2 Foundation Exam
    • 1st Edition
    • Michael Jesse Chonoles
    • English
    OCUP 2 Certification Guide: Preparing for the OMG Certified UML 2.5 Professional 2 Foundation Exam both teaches UML® 2.5 and prepares candidates to become certified. UML® (Unified Modeling Language) is the most popular graphical language used by software analysts, designers, and developers to model, visualize, communicate, test, and document systems under development. UML® 2.5 has recently been released, and with it a new certification program for practitioners to enhance their current or future career opportunities. There are three exam levels: Foundation, Intermediate, and Advanced. The exam covered in this book, Foundation, is a prerequisite for the higher levels. Author Michael Jesse Chonoles is a lead participant in the current OCUP 2 program—not only in writing and reviewing all the questions, but also in designing the goals of the program. This book distills his experience in modeling, mentoring, and training. Because UML® is a sophisticated language, with 13 diagram types, capable of modeling any type of modern software system, it takes users some time to become proficient. This effective resource will explain the material in the Foundation exam and includes many practice questions for the candidate, including sample problems similar to those found in the exam, and detailed explanations of why correct answers are correct and why wrong answers are wrong.
  • Agent-based Spatial Simulation with NetLogo, Volume 2

    Advanced Concepts
    • 1st Edition
    • Arnaud Banos + 2 more
    • English
    Whereas Volume 1 introduced the NetLogo platform as a means of prototyping simple models, this second volume focuses on the advanced use of NetLogo to connect both data and theories, making it ideal for the majority of scientific communities. The authors focus on agent-based modeling of spatialized phenomena with a methodological and practical orientation, demonstrating how advanced agent-based spatial simulation methods and technics can be implemented. This book provides theoretical and conceptual backgrounds, as well as algorithmic and technical insights, including code and applets, so that readers can test and re-use most of its content.
  • Parallel Programming with OpenACC

    • 1st Edition
    • Rob Farber
    • English
    Parallel Programming with OpenACC is a modern, practical guide to implementing dependable computing systems. The book explains how anyone can use OpenACC to quickly ramp-up application performance using high-level code directives called pragmas. The OpenACC directive-based programming model is designed to provide a simple, yet powerful, approach to accelerators without significant programming effort. Author Rob Farber, working with a team of expert contributors, demonstrates how to turn existing applications into portable GPU accelerated programs that demonstrate immediate speedups. The book also helps users get the most from the latest NVIDIA and AMD GPU plus multicore CPU architectures (and soon for Intel® Xeon Phi™ as well). Downloadable example codes provide hands-on OpenACC experience for common problems in scientific, commercial, big-data, and real-time systems. Topics include writing reusable code, asynchronous capabilities, using libraries, multicore clusters, and much more. Each chapter explains how a specific aspect of OpenACC technology fits, how it works, and the pitfalls to avoid. Throughout, the book demonstrates how the use of simple working examples that can be adapted to solve application needs.
  • Coding for Penetration Testers

    Building Better Tools
    • 2nd Edition
    • Jason Andress + 1 more
    • English
    Coding for Penetration Testers: Building Better Tools, Second Edition provides readers with an understanding of the scripting languages that are commonly used when developing tools for penetration testing, also guiding users through specific examples of custom tool development and the situations where such tools might be used. While developing a better understanding of each language, the book presents real-world scenarios and tool development that can be incorporated into a tester's toolkit. This completely updated edition focuses on an expanded discussion on the use of Powershell, and includes practical updates to all tools and coverage.
  • Matrix Algorithms in MATLAB

    • 1st Edition
    • Ong U. Routh
    • English
    Matrix Algorithms in MATLAB focuses on the MATLAB code implementations of matrix algorithms. The MATLAB codes presented in the book are tested with thousands of runs of MATLAB randomly generated matrices, and the notation in the book follows the MATLAB style to ensure a smooth transition from formulation to the code, with MATLAB codes discussed in this book kept to within 100 lines for the sake of clarity. The book provides an overview and classification of the interrelations of various algorithms, as well as numerous examples to demonstrate code usage and the properties of the presented algorithms. Despite the wide availability of computer programs for matrix computations, it continues to be an active area of research and development. New applications, new algorithms, and improvements to old algorithms are constantly emerging.
  • Programming Language Pragmatics

    • 4th Edition
    • Michael Scott
    • English
    Programming Language Pragmatics, Fourth Edition, is the most comprehensive programming language textbook available today. It is distinguished and acclaimed for its integrated treatment of language design and implementation, with an emphasis on the fundamental tradeoffs that continue to drive software development.The book provides readers with a solid foundation in the syntax, semantics, and pragmatics of the full range of programming languages, from traditional languages like C to the latest in functional, scripting, and object-oriented programming. This fourth edition has been heavily revised throughout, with expanded coverage of type systems and functional programming, a unified treatment of polymorphism, highlights of the newest language standards, and examples featuring the ARM and x86 64-bit architectures.
  • Python Passive Network Mapping

    P2NMAP
    • 1st Edition
    • Chet Hosmer
    • English
    Python Passive Network Mapping: P2NMAP is the first book to reveal a revolutionary and open source method for exposing nefarious network activity. The "Heartbleed" vulnerability has revealed significant weaknesses within enterprise environments related to the lack of a definitive mapping of network assets. In Python Passive Network Mapping, Chet Hosmer shows you how to effectively and definitively passively map networks. Active or probing methods to network mapping have traditionally been used, but they have many drawbacks - they can disrupt operations, crash systems, and - most importantly - miss critical nefarious activity. You require an accurate picture of the environments you protect and operate in order to rapidly investigate, mitigate, and then recover from these new attack vectors. This book gives you a deep understanding of new innovations to passive network mapping, while delivering open source Python-based tools that can be put into practice immediately. Python Passive Network Mapping is for practitioners, forensic investigators, IT teams, and individuals who work together when performing incident response and investigating potential damage, or are examining the impacts of new malware threats. Those defending critical infrastructures will have a special interest in this book, as active or probing methods of network mapping are rarely used within these environments as any resulting impacts can be disastrous. Python Passive Network Mapping is ideally suited for use as a text in a variety of academic programs to expose and engage students in the art of passively mapping enterprise networks, with the added benefit of providing exposure to open source Python solutions.
  • Heterogeneous Computing with OpenCL 2.0

    • 1st Edition
    • David R. Kaeli + 3 more
    • English
    Heterogeneous Computing with OpenCL 2.0 teaches OpenCL and parallel programming for complex systems that may include a variety of device architectures: multi-core CPUs, GPUs, and fully-integrated Accelerated Processing Units (APUs). This fully-revised edition includes the latest enhancements in OpenCL 2.0 including: • Shared virtual memory to increase programming flexibility and reduce data transfers that consume resources • Dynamic parallelism which reduces processor load and avoids bottlenecks • Improved imaging support and integration with OpenGL Designed to work on multiple platforms, OpenCL will help you more effectively program for a heterogeneous future. Written by leaders in the parallel computing and OpenCL communities, this book explores memory spaces, optimization techniques, extensions, debugging and profiling. Multiple case studies and examples illustrate high-performance algorithms, distributing work across heterogeneous systems, embedded domain-specific languages, and will give you hands-on OpenCL experience to address a range of fundamental parallel algorithms.
  • Joe Celko's SQL for Smarties

    Advanced SQL Programming
    • 5th Edition
    • Joe Celko
    • English
    SQL for Smarties was hailed as the first book devoted explicitly to the advanced techniques needed to transform an experienced SQL programmer into an expert. Now, 20 years later and in its fifth edition, this classic reference still reigns supreme as the only book written by a SQL master that teaches programmers and practitioners to become SQL masters themselves! These are not just tips and techniques; also offered are the best solutions to old and new challenges. Joe Celko conveys the way you need to think in order to get the most out of SQL programming efforts for both correctness and performance.New to the fifth edition, Joe features new examples to reflect the ANSI/ISO Standards so anyone can use it. He also updates data element names to meet new ISO-11179 rules with the same experience-based teaching style that made the previous editions the classics they are today. You will learn new ways to write common queries, such as finding coverings, partitions, runs in data, auctions and inventory, relational divisions and so forth.SQL for Smarties explains some of the principles of SQL programming as well as the code. A new chapter discusses design flaws in DDL, such as attribute splitting, non-normal forum redundancies and tibbling. There is a look at the traditional acid versus base transaction models, now popular in NoSQL products. You’ll learn about computed columns and the DEFERRABLE options in constraints. An overview of the bi-temporal model is new to this edition and there is a longer discussion about descriptive statistic aggregate functions. The book finishes with an overview of SQL/PSM that is applicable to proprietary 4GL vendor extensions.
  • Multicore and GPU Programming

    An Integrated Approach
    • 1st Edition
    • Gerassimos Barlas
    • English
    Multicore and GPU Programming offers broad coverage of the key parallel computing skillsets: multicore CPU programming and manycore "massively parallel" computing. Using threads, OpenMP, MPI, and CUDA, it teaches the design and development of software capable of taking advantage of today’s computing platforms incorporating CPU and GPU hardware and explains how to transition from sequential programming to a parallel computing paradigm. Presenting material refined over more than a decade of teaching parallel computing, author Gerassimos Barlas minimizes the challenge with multiple examples, extensive case studies, and full source code. Using this book, you can develop programs that run over distributed memory machines using MPI, create multi-threaded applications with either libraries or directives, write optimized applications that balance the workload between available computing resources, and profile and debug programs targeting multicore machines.
  • Interaction Flow Modeling Language

    Model-Driven UI Engineering of Web and Mobile Apps with IFML
    • 1st Edition
    • Marco Brambilla + 1 more
    • English
    Interaction Flow Modeling Language describes how to apply model-driven techniques to the problem of designing the front end of software applications, i.e., the user interaction. The book introduces the reader to the novel OMG standard Interaction Flow Modeling Language (IFML). Authors Marco Brambilla and Piero Fraternali are authors of the IFML standard and wrote this book to explain the main concepts of the language. They effectively illustrate how IFML can be applied in practice to the specification and implementation of complex web and mobile applications, featuring rich interactive interfaces, both browser based and native, client side components and widgets, and connections to data sources, business logic components and services. Interaction Flow Modeling Language provides you with unique insight into the benefits of engineering web and mobile applications with an agile model driven approach. Concepts are explained through intuitive examples, drawn from real-world applications. The authors accompany you in the voyage from visual specifications of requirements to design and code production. The book distills more than twenty years of practice and provides a mix of methodological principles and concrete and immediately applicable techniques.
  • Refactoring for Software Design Smells

    Managing Technical Debt
    • 1st Edition
    • Girish Suryanarayana + 2 more
    • English
    Awareness of design smells – indicators of common design problems – helps developers or software engineers understand mistakes made while designing, what design principles were overlooked or misapplied, and what principles need to be applied properly to address those smells through refactoring. Developers and software engineers may "know" principles and patterns, but are not aware of the "smells" that exist in their design because of wrong or mis-application of principles or patterns. These smells tend to contribute heavily to technical debt – further time owed to fix projects thought to be complete – and need to be addressed via proper refactoring.Refactor... for Software Design Smells presents 25 structural design smells, their role in identifying design issues, and potential refactoring solutions. Organized across common areas of software design, each smell is presented with diagrams and examples illustrating the poor design practices and the problems that result, creating a catalog of nuggets of readily usable information that developers or engineers can apply in their projects. The authors distill their research and experience as consultants and trainers, providing insights that have been used to improve refactoring and reduce the time and costs of managing software projects. Along the way they recount anecdotes from actual projects on which the relevant smell helped address a design issue.
  • A Practical Guide to SysML

    The Systems Modeling Language
    • 3rd Edition
    • Sanford Friedenthal + 2 more
    • English
    A Practical Guide to SysML, Third Edition, fully updated for SysML version 1.4, provides a comprehensive and practical guide for modeling systems with SysML. With their unique perspective as leading contributors to the language, Friedenthal, Moore, and Steiner provide a full description of the language along with a quick reference guide and practical examples to help you use SysML. The book begins with guidance on the most commonly used features to help you get started quickly. Part 1 explains the benefits of a model-based approach, providing an overview of the language and how to apply SysML to model systems. Part 2 includes a comprehensive description of SysML that provides a detailed understanding that can serve as a foundation for modeling with SysML, and as a reference for practitioners. Part 3 includes methods for applying model-based systems engineering using SysML to specify and design systems, and how these methods can help manage complexity. Part 4 deals with topics related to transitioning MBSE practice into your organization, including integration of the system model with other engineering models, and strategies for adoption of MBSE.
  • Knowledge Representation

    An Approach to Artificial Intelligence
    • 1st Edition
    • T.J.M. Bench-Capon
    • English
    Although many texts exist offering an introduction to artificial intelligence (AI), this book is unique in that it places an emphasis on knowledge representation (KR) concepts. It includes small-scale implementations in PROLOG to illustrate the major KR paradigms and their developments.****bac... cover copy:**Knowledge representation is at the heart of the artificial intelligence enterprise: anyone writing a program which seeks to work by encoding and manipulating knowledge needs to pay attention to the scheme whereby he will represent the knowledge, and to be aware of the consequences of the choices made.****The book's distinctive approach introduces the topic of AI through a study of knowledge representation issues. It assumes a basic knowledge of computing and a familiarity with the principles of elementary formal logic would be advantageous.****Kno... Representation: An Approach to Artificial Intelligence develops from an introductory consideration of AI, knowledge representation and logic, through search technique to the three central knowledge paradigms: production rules, structured objects, and predicate calculus. The final section of the book illustrates the application of these knowledge representation paradigms through the Prolog Programming language and with an examination of diverse expert systems applications. The book concludes with a look at some advanced issues in knowledge representation.****T... text provides an introduction to AI through a study of knowledge representation and each chapter contains exercises for students. Experienced computer scientists and students alike, seeking an introduction to AI and knowledge representations will find this an invaluable text.
  • Mastering C Pointers

    Tools for Programming Power
    • 2nd Edition
    • Robert J. Traister
    • English
    If you don't fully understand C pointers and how they are used, you're not getting the most out of C programming. This book features complete coverage on using and controlling C language pointers to make C applications more powerful and expressive. This new edition is completely updated and revised to reflect the changes that have been brought about with the full adoption of ANSI C. All discussions and program examples have been updated, and reading materials necessary for any modern ANSI C programmer have also been added.Includes one 3 1/2" disk containing all of the working programs and modules found in the book.System Requirements: 286 or higher IBM PC or compatible.
  • Computer Programming and Architecture

    The Vax
    • 2nd Edition
    • Henry Levy + 1 more
    • English
    Takes a unique systems approach to programming and architecture of the VAXUsing the VAX as a detailed example, the first half of this book offers a complete course in assembly language programming. The second describes higher-level systems issues in computer architecture. Highlights include the VAX assembler and debugger, other modern architectures such as RISCs, multiprocessing and parallel computing, microprogramming, caches and translation buffers, and an appendix on the Berkeley UNIX assembler.
  • Computer Hardware Description Languages and their Applications

    Proceedings of the IFIP WG 10.2 Tenth International Symposium on Computer Hardware Description Languages and their Applications, Marseille, France, 22-24 April 1991
    • 1st Edition
    • D. Borrione + 1 more
    • English
    The topic areas presented within this volume focus on design environments and the applications of hardware description and modelling – including simulation, verification by correctness proofs, synthesis and test. The strong relationship between the topics of CHDL'91 and the work around the use and re-standardization of the VHDL language is also explored. The quality of this proceedings, and its significance to the academic and professional worlds is assured by the excellent technical programme here compiled.
  • Interactive Computing in BASIC

    An Introduction to Interactive Computing and a Practical Course in the BASIC Language
    • 1st Edition
    • Peter C. Sanderson
    • English
    Interactive Computing in BASIC: An Introduction to Interactive Computing and a Practical Course in the BASIC Language provides a general introduction to the principles of interactive computing and a comprehensive practical guide to the programming language Beginners All-purpose Symbolic Instruction Code (BASIC). The book starts by providing an introduction to computers and discussing the aspects of terminal usage, programming languages, and the stages in writing and testing a program. The text then discusses BASIC with regard to methods in writing simple arithmetical programs, control statements in the BASIC language, loops and subscripted variables, the RND function and subroutines, and further printing facilities and character manipulation. The matrix instructions and the different versions of BASIC are also considered. The book concludes by describing the transition from BASIC to FORTRAN. Computer programmers, scientists, engineers, statisticians, and other research workers who wish to acquire knowledge of computer programming will find this book invaluable.
  • Texturing and Modeling

    A Procedural Approach
    • 1st Edition
    • David S. Ebert
    • English
    Congratulations to Ken Perlin for his 1997 Technical Achievement Award from the Academy of Motion Picture Arts and Science Board of Governors, given in recognition of the development of "Turbulence", Perlin Noise, a technique discussed in this book which is used to produce natural appearing textures on computer-generated surfaces for motion picture visual effects. Dr. Perlin joins Darwyn Peachey (co-developer of RenderMan(R), also discussed in the book) in being honored with this prestigious award.
  • Annual Review in Automatic Programming

    Papers Read at the Working Conference on Automatic Programming of Digital Computers Held at Brighton, 1–3 April 1959
    • 1st Edition
    • Richard Goodman
    • English
    Annual Review in Automatic Programming is a collection of papers presented at the Working Conference on Automatic Programming of Digital Computers held in Brighton, UK, on April 1-3, 1959. Contributors focus on developments in automatic programming and cover topics ranging from automatic coding for TREAC to the PEGASUS and MERCURY autocodes, automatic programming of DEUCE, and the philosophy of programming. Business applications of automatic programming are also discussed. This book is comprised of 17 chapters and begins with a review of future trends in automatic programming, focusing on the environment of a computer as well as machine languages and automatic codes. The features of existing automatic programming languages are also described, along with the advantages and disadvantages of such languages. The next chapter presents some of the arguments in favor of standardized notations for programming, mainly with reference to scientific problems. The reader is also introduced to the Mark 5 system of automatic coding for TREAC; assembly, interpretive, and conversion programs for PEGASUS; and application of formula translation to the automatic coding of ordinary differential equations. The final chapter describes a machine designed for the manufacture of accurate models for wind tunnel tests. This monograph will be of interest to computer programmers, computer manufacturers, computer users, and university students.
  • Introduction to Audio Analysis

    A MATLAB® Approach
    • 1st Edition
    • Theodoros Giannakopoulos + 1 more
    • English
    Introduction to Audio Analysis serves as a standalone introduction to audio analysis, providing theoretical background to many state-of-the-art techniques. It covers the essential theory necessary to develop audio engineering applications, but also uses programming techniques, notably MATLAB®, to take a more applied approach to the topic. Basic theory and reproducible experiments are combined to demonstrate theoretical concepts from a practical point of view and provide a solid foundation in the field of audio analysis. Audio feature extraction, audio classification, audio segmentation, and music information retrieval are all addressed in detail, along with material on basic audio processing and frequency domain representations and filtering. Throughout the text, reproducible MATLAB® examples are accompanied by theoretical descriptions, illustrating how concepts and equations can be applied to the development of audio analysis systems and components. A blend of reproducible MATLAB® code and essential theory provides enable the reader to delve into the world of audio signals and develop real-world audio applications in various domains.
  • Basic Mechanical Vibrations

    • 1st Edition
    • A J Pretlove
    • English
    BASIC Mechanical Vibrations deals with vibrations and combines basic theory with the development of useful computer programs to make design calculations. The programs in the book are written in BASIC. This book is comprised of six chapters and begins with a brief introduction to computing, with special emphasis on the fundamentals of the BASIC computer language. The chapters that follow give concise elements of vibration theory followed by problem solving examples making use of BASIC programs. The vibration analysis of engineering systems, which may be modeled by a single degree of freedom, is presented. Simple systems with damping and no damping are considered, along with systems having two and several degrees of freedom. The final chapter is concerned with bending vibrations. The text includes some subroutines for performing simple matrix operations on two-dimensional arrays that can be used in vibration calculations. This monograph will be useful to engineers who need to make vibration design calculations and to students of mechanical engineering.
  • CUDA Fortran for Scientists and Engineers

    Best Practices for Efficient CUDA Fortran Programming
    • 1st Edition
    • Gregory Ruetsch + 1 more
    • English
    CUDA Fortran for Scientists and Engineers shows how high-performance application developers can leverage the power of GPUs using Fortran, the familiar language of scientific computing and supercomputer performance benchmarking. The authors presume no prior parallel computing experience, and cover the basics along with best practices for efficient GPU computing using CUDA Fortran. To help you add CUDA Fortran to existing Fortran codes, the book explains how to understand the target GPU architecture, identify computationally intensive parts of the code, and modify the code to manage the data and parallelism and optimize performance. All of this is done in Fortran, without having to rewrite in another language. Each concept is illustrated with actual examples so you can immediately evaluate the performance of your code in comparison.
  • Basic Fluid Mechanics

    • 1st Edition
    • J J Sharp
    • English
    BASIC Fluid Mechanics combines the application of BASIC programming with fluid mechanics. Topics covered in this book include the fundamentals of the BASIC computer language, properties of fluids, fluid statics, kinematics, and conservation of energy. Force and momentum, viscous flow, flow measurement, and dimensional analysis and similarity are also considered. This book is comprised of nine chapters and begins with a brief introduction to the application of BASIC. The discussion then turns to the various properties of a fluid and the differences between fluids and solids. The chapters that follow explore fluid statics, kinematics, and conservation of energy. The Euler and Bernoulli equations that are used to express the principle of conservation of energy when applied to fluids are highlighted, and calculations for force and momentum are presented. The text also considers laminar flow between parallel plates and in circular tubes, as well as the techniques for measuring flow. The final chapter describes the principles of dimensional analysis and similarity methods. Worked examples developing programs for the solution of typical problems are provided at the end of each chapter. This monograph will be useful to students in an undergraduate program and practicing engineers who are attempting to get to grips with modern computational procedures.
  • Matlab

    A Practical Introduction to Programming and Problem Solving
    • 3rd Edition
    • Dorothy C. Attaway
    • English
    MatLab, Third Edition is the only book that gives a full introduction to programming in MATLAB combined with an explanation of the software’s powerful functions, enabling engineers to fully exploit its extensive capabilities in solving engineering problems. The book provides a systematic, step-by-step approach, building on concepts throughout the text, facilitating easier learning. Sections on common pitfalls and programming guidelines direct students towards best practice. The book is organized into 14 chapters, starting with programming concepts such as variables, assignments, input/output, and selection statements; moves onto loops; and then solves problems using both the ‘programming concept’ and the ‘power of MATLAB’ side-by-side. In-depth coverage is given to input/output, a topic that is fundamental to many engineering applications. Vectorized Code has been made into its own chapter, in order to emphasize the importance of using MATLAB efficiently. There are also expanded examples on low-level file input functions, Graphical User Interfaces, and use of MATLAB Version R2012b; modified and new end-of-chapter exercises; improved labeling of plots; and improved standards for variable names and documentation. This book will be a valuable resource for engineers learning to program and model in MATLAB, as well as for undergraduates in engineering and science taking a course that uses (or recommends) MATLAB.
  • Essential MATLAB for Engineers and Scientists

    • 5th Edition
    • Daniel T. Valentine + 1 more
    • English
    The fifth edition of Essential MATLAB for Engineers and Scientists provides a concise, balanced overview of MATLAB's functionality that facilitates independent learning, with coverage of both the fundamentals and applications. The essentials of MATLAB are illustrated throughout, featuring complete coverage of the software's windows and menus. Program design and algorithm development are presented clearly and intuitively, along with many examples from a wide range of familiar scientific and engineering areas. This is an ideal book for a first course on MATLAB or for an engineering problem-solving course using MATLAB, as well as a self-learning tutorial for professionals and students expected to learn and apply MATLAB.
  • Violent Python

    A Cookbook for Hackers, Forensic Analysts, Penetration Testers and Security Engineers
    • 1st Edition
    • TJ O'Connor
    • English
    Violent Python shows you how to move from a theoretical understanding of offensive computing concepts to a practical implementation. Instead of relying on another attacker’s tools, this book will teach you to forge your own weapons using the Python programming language. This book demonstrates how to write Python scripts to automate large-scale network attacks, extract metadata, and investigate forensic artifacts. It also shows how to write code to intercept and analyze network traffic using Python, craft and spoof wireless frames to attack wireless and Bluetooth devices, and how to data-mine popular social media websites and evade modern anti-virus.
  • Tcl/Tk

    A Developer's Guide
    • 3rd Edition
    • Clif Flynt
    • English
    Newly updated with over 150 pages of material on the latest Tcl extensions, Tcl/Tk: A Developer’s Guide is a unique practical tutorial for professional programmers and beginners alike. Starting with a clear picture of the basics, Tcl/Tk covers the variety of tools in this "Swiss army knife" of programming languages, giving you the ability to enhance your programs, extend your application's capabilities, and become a more effective programmer. This updated edition covers all of the new features of version 8.6, including object-oriented programming and the creation of megawidgets, existing data structure implementations, themed widgets and virtual events. Extensive code snippets and online tutorials in various languages will give you a firm grasp on how to use the Tcl/Tk libraries and interpreters and, most importantly, on what constitutes an effective strategy for using Tcl/Tk.
  • Coding for Penetration Testers

    Building Better Tools
    • 1st Edition
    • Jason Andress + 1 more
    • English
    Coding for Penetration Testers discusses the use of various scripting languages in penetration testing. The book presents step-by-step instructions on how to build customized penetration testing tools using Perl, Ruby, Python, and other languages. It also provides a primer on scripting including, but not limited to, Web scripting, scanner scripting, and exploitation scripting. It guides the student through specific examples of custom tool development that can be incorporated into a tester's toolkit as well as real-world scenarios where such tools might be used. This book is divided into 10 chapters that explores topics such as command shell scripting; Python, Perl, and Ruby; Web scripting with PHP; manipulating Windows with PowerShell; scanner scripting; information gathering; exploitation scripting; and post-exploitation scripting. This book will appeal to penetration testers, information security practitioners, and network and system administrators.
  • API Design for C++

    • 1st Edition
    • Martin Reddy
    • English
    API Design for C++ provides a comprehensive discussion of Application Programming Interface (API) development, from initial design through implementation, testing, documentation, release, versioning, maintenance, and deprecation. It is the only book that teaches the strategies of C++ API development, including interface design, versioning, scripting, and plug-in extensibility. Drawing from the author's experience on large scale, collaborative software projects, the text offers practical techniques of API design that produce robust code for the long term. It presents patterns and practices that provide real value to individual developers as well as organizations. API Design for C++ explores often overlooked issues, both technical and non-technical, contributing to successful design decisions that product high quality, robust, and long-lived APIs. It focuses on various API styles and patterns that will allow you to produce elegant and durable libraries. A discussion on testing strategies concentrates on automated API testing techniques rather than attempting to include end-user application testing techniques such as GUI testing, system testing, or manual testing. Each concept is illustrated with extensive C++ code examples, and fully functional examples and working source code for experimentation are available online. This book will be helpful to new programmers who understand the fundamentals of C++ and who want to advance their design skills, as well as to senior engineers and software architects seeking to gain new expertise to complement their existing talents. Three specific groups of readers are targeted: practicing software engineers and architects, technical managers, and students and educators.
  • Engineering a Compiler

    • 2nd Edition
    • Keith D. Cooper + 1 more
    • English
    This entirely revised second edition of Engineering a Compiler is full of technical updates and new material covering the latest developments in compiler technology. In this comprehensive text you will learn important techniques for constructing a modern compiler. Leading educators and researchers Keith Cooper and Linda Torczon combine basic principles with pragmatic insights from their experience building state-of-the-art compilers. They will help you fully understand important techniques such as compilation of imperative and object-oriented languages, construction of static single assignment forms, instruction scheduling, and graph-coloring register allocation.
  • Design Patterns for Embedded Systems in C

    An Embedded Software Engineering Toolkit
    • 1st Edition
    • Bruce Powel Douglass
    • English
    A recent survey stated that 52% of embedded projects are late by 4-5 months. This book can help get those projects in on-time with design patterns. The author carefully takes into account the special concerns found in designing and developing embedded applications specifically concurrency, communication, speed, and memory usage. Patterns are given in UML (Unified Modeling Language) with examples including ANSI C for direct and practical application to C code. A basic C knowledge is a prerequisite for the book while UML notation and terminology is included. General C programming books do not include discussion of the contraints found within embedded system design. The practical examples give the reader an understanding of the use of UML and OO (Object Oriented) designs in a resource-limited environment. Also included are two chapters on state machines. The beauty of this book is that it can help you today. .
  • A Practical Guide to SysML

    The Systems Modeling Language
    • 1st Edition
    • Sanford Friedenthal + 2 more
    • English
    A Practical Guide to SysML: The Systems Modeling Language is a comprehensive guide to SysML for systems and software engineers. It provides an advanced and practical resource for modeling systems with SysML. The source describes the modeling language and offers information about employing SysML in transitioning an organization or project to model-based systems engineering. The book also presents various examples to help readers understand the OMG Systems Modeling Professional (OCSMP) Certification Program. The text is organized into four parts. The first part provides an overview of systems engineering. It explains the model-based approach by comparing it with the document-based approach and providing the modeling principles. The overview of SYsML is also discussed. The second part of the book covers a comprehensive description of the language. It discusses the main concepts of model organization, parametrics, blocks, use cases, interactions, requirements, allocations, and profiles. The third part presents examples that illustrate how SysML supports different model-based procedures. The last part discusses how to transition and deploy SysML into an organization or project. It explains the integration of SysML into a systems development environment. Furthermore, it describes the category of data that are exchanged between a SysML tool and other types of tools, and the types of exchange mechanisms that can be used. It also covers the criteria that must be considered when selecting a SysML. Software and systems engineers, programmers, IT practitioners, experts, and non-experts will find this book useful.
  • Programming Language Pragmatics

    • 3rd Edition
    • Michael Scott
    • English
    Programming Language Pragmatics, Third Edition, is the most comprehensive programming language book available today. Taking the perspective that language design and implementation are tightly interconnected and that neither can be fully understood in isolation, this critically acclaimed and bestselling book has been thoroughly updated to cover the most recent developments in programming language design, inclouding Java 6 and 7, C++0X, C# 3.0, F#, Fortran 2003 and 2008, Ada 2005, and Scheme R6RS. A new chapter on run-time program management covers virtual machines, managed code, just-in-time and dynamic compilation, reflection, binary translation and rewriting, mobile code, sandboxing, and debugging and program analysis tools. Over 800 numbered examples are provided to help the reader quickly cross-reference and access content. This text is designed for undergraduate Computer Science students, programmers, and systems and software engineers.
  • Matlab

    A Practical Introduction to Programming and Problem Solving
    • 1st Edition
    • Dorothy C. Attaway
    • English
    MATLAB: A Practical Introduction to Programming and Problem Solving discusses the basic programming concepts and skills needed for problem solving using MATLAB software. It is the only book that gives a full introduction to programming in MATLAB combined with an explanation of MATLAB’s powerful functions. The book differs from other texts in that it teaches programming concepts and the use of the built-in functions in MATLAB simultaneously. It presents programming concepts and MATLAB built-in functions side-by-side, giving students the ability to program efficiently and exploit the power of MATLAB to solve problems. The systematic, step-by-step approach, building on concepts throughout the book, facilitates easier learning. Starting with basic programming concepts, such as variables, assignments, input/output, selection, and loop statements, problems are introduced and solved throughout the book. The book is organized into two parts. Part I covers the programming constructs and demonstrates programming versus efficient use of built-in functions to solve problems. Part II describes the applications, including plotting, image processing, and mathematics, needed in basic problem solving. The chapters feature sections called "Quick Question!" as well as practice problems designed to test knowledge about the material covered. Problems are solved using both "The Programming Concept" and "The Efficient Method," which facilitates understanding the efficient ways of using MATLAB, and also the programming concepts used in these efficient functions and operators. There are also sections on ‘common pitfalls’ and ‘programming guidelines’ that direct students towards best practice. This book is ideal for engineers learning to program and model in MATLAB, as well as undergraduates in engineering and science taking a course on MATLAB.
  • Learning Processing

    A Beginner's Guide to Programming Images, Animation, and Interaction
    • 1st Edition
    • Daniel Shiffman
    • English
    The free, open-source Processing programming language environment was created at MIT for people who want to develop images, animation, and sound. Based on the ubiquitous Java, it provides an alternative to daunting languages and expensive proprietary software. This book gives graphic designers, artists and illustrators of all stripes a jump start to working with processing by providing detailed information on the basic principles of programming with the language, followed by careful, step-by-step explanations of select advanced techniques.The author teaches computer graphics at NYU's Tisch School of the Arts, and his book has been developed with a supportive learning experience at its core. From algorithms and data mining to rendering and debugging, it teaches object-oriented programming from the ground up within the fascinating context of interactive visual media.Previously announced as "Pixels, Patterns, and Processing"
  • A Practical Guide to SysML

    The Systems Modeling Language
    • 1st Edition
    • Sanford Friedenthal + 2 more
    • English
    Systems engineers must understand how all the parts of a digital system work together, including hardware AND software. SysML is the first design language to cover both hardware and software, allowing engineers to consider how all the parts of a system will successfully interact, from the very beginning of a project. This can prevent huge problems and delays down the line. Therefore, SysML use is becoming a widespread phenomenon, and many companies, especially in the defense, automotive, aerospace, medical device and telecommunications industries, are already using SysML, or are planning to switch over in the near future. Until now, little consolidated information has been available on the market regarding SysML. However, this book changes all that! It provides the hundreds of thousands of new users with a comprehensive guide to SysML, including a full description of the language itself, detailed instructions on how to implement it, exercises to help readers gain practical experience working with SysML, and extensive, real-world examples of actual successful projects, demonstrating all the benefits SysML can provide.
  • The Designer's Guide to VHDL

    • 3rd Edition
    • Volume 3
    • Peter J. Ashenden
    • English
    VHDL, the IEEE standard hardware description language for describing digital electronic systems, has recently been revised. The Designer's Guide to VHDL has become a standard in the industry for learning the features of VHDL and using it to verify hardware designs. This third edition is the first comprehensive book on the market to address the new features of VHDL-2008.
  • Bluetooth Application Programming with the Java APIs Essentials Edition

    • 1st Edition
    • Timothy J. Thompson + 2 more
    • English
    Adoption of Bluetooth wireless technology has become ubiquitous in the last few years. One of the biggest steps forward is the standardization of Java APIs for Bluetooth wireless technology (JABWT). The latest updates to this standard is explained in detail in this book. The JABWT standard, defined by the JSR-82 Java Specification Request, supports rapid development of Bluetooth applications that are portable, secure, and highly-usable. Wireless device manufacturers have responded overwhelmingly to the JABWT specification by implementing JABWT applications in mobile phones and other personal wireless communications products. Bluetooth Application Programming Essentials: Programming with the Java APIs explains in detail how to write Bluetooth applications using the Java APIs to exploit the power of both technologies. Written by the specification lead for JSR-82 and two other key participants in developing the standards of JABWT, this book provides the authoritative explanations and concrete examples needed to get started right away.This book provides embedded Java developers with to-the-point information on the APIs in the specification with detailed programmatic examples of the APIs in use. A NEW chapter on the Push Registry definition (a new feature in the 1.1 version of JSR-82) has been added. Finally, the new Essentials version of the book will update the remaining chapters to reflect changes in the latest Bluetooth spec (2.1) and the industry as a whole.