![]() |
Welcome to Loot.co.za!
Sign in / Register |Wishlists & Gift Vouchers |Help | Advanced search
|
Your cart is empty |
||
|
Books > Computing & IT > Computer programming > Object-oriented programming (OOP)
The design and analysis of efficient data structures has long been recognized as a key component of the Computer Science curriculum. Goodrich and Tomassia's approach to this classic topic is based on the object-oriented paradigm as the framework of choice for the design of data structures. For each ADT presented in the text, the authors provide an associated Java interface. Concrete data structures realizing the ADTs are provided as Java classes implementing the interfaces. The Java code implementing fundamental data structures in this book is organized in a single Java package, net.datastructures. This package forms a coherent library of data structures and algorithms in Java specifically designed for educational purposes in a way that is complimentary with the Java Collections Framework.
Series: The Addison-Wesley Object Technology Series The long-awaited third edition of the best-selling UML book on the market; fully-updated and compliant with UML 2.0. This eagerly-anticipated third edition gets students thinking about efficient object-oriented software design using the latest version of the industry-standard for modeling software: UML 2.0. The author has retained the book's convenient, concise format that has made it an essential resource in courses introducing UML. The book describes all the major UML 2.0 diagram types, what they are intended to do, and the basic notation involved in creating and deciphering them. A true treasure for the software engineering community.
This book begins by explaining key concepts in programming, and elaborates on characteristic of class, including inheritance, derivation and polymorphism. It also introduces generic programming and Standard Template Library, I/O Stream Library and Exception Handling. The concepts and methods are illustrated via examples step by step, making the book an essential reading for beginners to C++ programming.
Take container cluster management to the next level; learn how to administer and configure Kubernetes on CoreOS; and apply suitable management design patterns such as Configmaps, Autoscaling, elastic resource usage, and high availability. Some of the other features discussed are logging, scheduling, rolling updates, volumes, service types, and multiple cloud provider zones. The atomic unit of modular container service in Kubernetes is a Pod, which is a group of containers with a common filesystem and networking. The Kubernetes Pod abstraction enables design patterns for containerized applications similar to object-oriented design patterns. Containers provide some of the same benefits as software objects such as modularity or packaging, abstraction, and reuse. CoreOS Linux is used in the majority of the chapters and other platforms discussed are CentOS with OpenShift, Debian 8 (jessie) on AWS, and Debian 7 for Google Container Engine. CoreOS is the main focus becayse Docker is pre-installed on CoreOS out-of-the-box. CoreOS: Supports most cloud providers (including Amazon AWS EC2 and Google Cloud Platform) and virtualization platforms (such as VMWare and VirtualBox) Provides Cloud-Config for declaratively configuring for OS items such as network configuration (flannel), storage (etcd), and user accounts Provides a production-level infrastructure for containerized applications including automation, security, and scalability Leads the drive for container industry standards and founded appc Provides the most advanced container registry, Quay Docker was made available as open source in March 2013 and has become the most commonly used containerization platform. Kubernetes was open-sourced in June 2014 and has become the most widely used container cluster manager. The first stable version of CoreOS Linux was made available in July 2014 and since has become one of the most commonly used operating system for containers. What You'll Learn Use Kubernetes with Docker Create a Kubernetes cluster on CoreOS on AWS Apply cluster management design patterns Use multiple cloud provider zones Work with Kubernetes and tools like Ansible Discover the Kubernetes-based PaaS platform OpenShift Create a high availability website Build a high availability Kubernetes master cluster Use volumes, configmaps, services, autoscaling, and rolling updates Manage compute resources Configure logging and scheduling Who This Book Is For Linux admins, CoreOS admins, application developers, and container as a service (CAAS) developers. Some pre-requisite knowledge of Linux and Docker is required. Introductory knowledge of Kubernetes is required such as creating a cluster, creating a Pod, creating a service, and creating and scaling a replication controller. For introductory Docker and Kubernetes information, refer to Pro Docker (Apress) and Kubernetes Microservices with Docker (Apress). Some pre-requisite knowledge about using Amazon Web Services (AWS) EC2, CloudFormation, and VPC is also required.
Prepare for Microsoft Certification Exam 70-483: Programming in C#. The "What, Why, and How" of each concept is presented along with quick summaries, code challenges, and exam questions to review and practice key concepts. You will learn how to use: Lambda expressions to write LINQ query expressions Asynchronous programming with the Async and Await keywords to maximize performance of slow applications Regular expressions to validate user input Reflection to create and handle types at runtime and much more The source code in the book will be available in the form of iCanCSharp notebooks and scripts that allow you to try out examples and extend them in interesting ways. What You Will Learn Understand the necessary knowledge and skill set to prepare for Microsoft Exam 70-483 Study the code challenges and practice questions on C# that are relevant to the exam Master the C# programming language Who This Book Is For Experienced C# and .NET programmers and developers who are ready to take and pass the exam in order to get certified
The Definitive Java Programming Guide In "Java: The Complete Reference, Eighth Edition," bestselling programming author Herb Schildt shows you everything you need to develop, compile, debug, and run Java programs. Updated for Java Platform, Standard Edition 7 (Java SE 7), this comprehensive volume covers the entire Java language, including its syntax, keywords, and fundamental programming principles. You'll also find information on key elements of the Java API library. JavaBeans, servlets, applets, and Swing are examined and real-world examples demonstrate Java in action. In addition, new Java SE 7 features such as try-with-resources, strings in switch, type inference with the diamond operator, NIO.2, and the Fork/Join Framework are discussed in detail. Coverage includes: Data types and operators Control statements Classes and objects Constructors and methods Method overloading and overriding Interfaces and packages Inheritance Exception handling Generics Autoboxing Enumerations Annotations The try-with-resources statement Varargs Multithreading The I/O classes Networking The Collections Framework Applets and servlets JavaBeans AWT and Swing The Concurrent API Much, much more
Groovy brings you the best of both worlds: a flexible, highly productive, agile, dynamic language that runs on the rich framework of the Java Platform. Groovy preserves the Java semantics and extends the JDK to give you true dynamic language capabilities. "Programming Groovy 2" will help you, the experienced Java developer, learn and take advantage of the latest version of this rich dynamic language. You'll go from the basics of Groovy to the latest advances in the language, including options for type checking, tail-call and memoization optimizations, compile time metaprogramming, and fluent interfaces to create DSLs. You don't have to leave the rich Java Platform to take advantage of Groovy. Groovy preserves Java's semantics and extends the JDK, so programming in Groovy feels like the Java language has been augmented; it's like working with a lighter, more elegant Java. If you're an experienced Java developer who wants to learn how Groovy works, you'll find exactly what you need in this book. You'll start with the fundamentals of programming in Groovy and how it works with Java, and then you'll explore advanced concepts such as unit testing with mock objects, using Builders, working with databases and XML, and creating DSLs. You'll master Groovy's powerful yet complex run-time and compile-time metaprogramming features. Much has evolved in the Groovy language since the publication of the first edition of "Programming Groovy." "Programming Groovy 2" will help you learn and apply Groovy's new features. Creating DSLs is easier now, and Groovy's already-powerful metaprogramming facilities have improved even more. You'll see how to work with closures, including tail call optimization and memoization. The book also covers Groovy's new static compilation feature. Whether you're learning the basics of the language or interested in getting proficient with the new features, "Programming Groovy 2" has you covered.What You Need To work on the examples in the book you need Groovy 2.0.5 and Java JDK 5 or higher.
The second part of a yearly series on simulation technology, OBJECT-ORIENTED SIMULATION presents an outstanding variety of the very latest advances in simulation techniques. This leading-edge volume contains a cohesive selection of presentations written by the world-renowned experts in a broad range of topics. OBJECT-ORIENTED SIMULATION is a key resource for anyone involved in computer simulator research and design as well as developers, producers, scholars, and managers. It is an excellent tool for preparing proposals for simulation in commercial and military fields.
Data clustering is a highly interdisciplinary field, the goal of which is to divide a set of objects into homogeneous groups such that objects in the same group are similar and objects in different groups are quite distinct. Thousands of theoretical papers and a number of books on data clustering have been published over the past 50 years. However, few books exist to teach people how to implement data clustering algorithms. This book was written for anyone who wants to implement or improve their data clustering algorithms. Using object-oriented design and programming techniques, Data Clustering in C++ exploits the commonalities of all data clustering algorithms to create a flexible set of reusable classes that simplifies the implementation of any data clustering algorithm. Readers can follow the development of the base data clustering classes and several popular data clustering algorithms. Additional topics such as data pre-processing, data visualization, cluster visualization, and cluster interpretation are briefly covered. This book is divided into three parts-- Data Clustering and C++ Preliminaries: A review of basic concepts of data clustering, the unified modeling language, object-oriented programming in C++, and design patterns A C++ Data Clustering Framework: The development of data clustering base classes Data Clustering Algorithms: The implementation of several popular data clustering algorithms A key to learning a clustering algorithm is to implement and experiment the clustering algorithm. Complete listings of classes, examples, unit test cases, and GNU configuration files are included in the appendices of this book as well as in the downloadable resources. The only requirements to compile the code are a modern C++ compiler and the Boost C++ libraries.
This creative approach to learning C++ programming introduces readers to Karel the Robot and then shows them how to design programs that instruct Karel to perform complex tasks. Karel's world is essentially a practice field on which readers learn valuable lessons about creating and debugging program. The programs instruct the robot to move and manipulate its environment using object orientation.
Learn how to use the core Hibernate APIs and tools as part of the Spring Framework. This book illustrates how these two frameworks can be best utilized. Other persistence solutions available in Spring are also shown including the Java Persistence API (JPA). Spring Persistence with Hibernate, Second Edition has been updated to cover Spring Framework version 4 and Hibernate version 5. After reading and using this book, you'll have the fundamentals to apply these persistence solutions into your own mission-critical enterprise Java applications that you build using Spring. Persistence is an important set of techniques and technologies for accessing and using data, and ensuring that data is mobile regardless of specific applications and contexts. In Java development, persistence is a key factor in enterprise, e-commerce, and other transaction-oriented applications. Today, the agile and open source Spring Framework is the leading out-of-the-box, open source solution for enterprise Java developers; in it, you can find a number of Java persistence solutions. What You'll Learn Use Spring Persistence, including using persistence tools in Spring as well as choosing the best Java persistence frameworks outside of Spring Take advantage of Spring Framework features such as Inversion of Control (IoC), aspect-oriented programming (AOP), and more Work with Spring JDBC, use declarative transactions with Spring, and reap the benefits of a lightweight persistence strategy Harness Hibernate and integrate it into your Spring-based enterprise Java applications for transactions, data processing, and more Integrate JPA for creating a well-layered persistence tier in your enterprise Java application Who This Book Is For This book is ideal for developers interested in learning more about persistence framework options on the Java platform, as well as fundamental Spring concepts. Because the book covers several persistence frameworks, it is suitable for anyone interested in learning more about Spring or any of the frameworks covered. Lastly, this book covers advanced topics related to persistence architecture and design patterns, and is ideal for beginning developers looking to learn more in these areas.
Introduces the basic concepts and characteristics of string pattern matching strategies and provides numerous references for further reading. The text describes and evaluates the BF, KMP, BM, and KR algorithms, discusses improvements for string pattern matching machines, and details a technique for detecting and removing the redundant operation of the AC machine. Also explored are typical problems in approximate string matching . In addition, the reader will find a description for applying string pattern matching algorithms to multidimensional matching problems, an investigation of numerous hardware-based solutions for pattern matching, and an examination of hardware approaches for full text search. The first chapter's survey paper describes the basic concepts of algorithm classifications. The five chapters that follow include 15 papers further illustrating these classifications: Single keyword matching Matching sets of keywords Approximate string matching Multidimensional matching Hardware matching
Hibernate Recipes, Second Edition contains a collection of code recipes and templates for learning and building Hibernate solutions for you and your clients, including how to work with the Spring Framework and the JPA. This book is your pragmatic day-to-day reference and guide for doing all things involving Hibernate. There are many books focused on learning Hibernate, but this book takes you further and shows how you can apply it practically in your daily work. Hibernate Recipes, Second Edition is a must have book for your library. Hibernate 4.x continues to be the most popular out-of-the-box, open source framework solution for Java persistence and data/database accessibility techniques and patterns and it works well with the most popular open source enterprise Java framework of all, the Spring Framework. Hibernate is used for e-commerce-based web applications as well as heavy-duty transactional systems for the enterprise.
Programming Finite Elements in Java (TM) teaches the reader how to programme the algorithms of the finite element method (FEM) in Java (TM). The compact, simple code helps the student to read the algorithms, to understand them and thus to be able to refine them. All of the main aspects of finite element techniques are considered: finite element solution; generation of finite element meshes; and visualization of finite element models and results with Java 3D (TM). The step-by-step presentation includes algorithm programming and code explanation at each point. Problems and exercises are provided for each chapter, with Java (TM) source code and problem data sets available from http://extras.springer.com/2010/978-1-84882-971-8.
Fortran has been the premier language for scientific computing since its introduction in 1957. Fortran originally was designed to allow programmers to evaluate for- las-FORmula TRANslation-easily on large computers. Fortran compilers are now available on all sizes of machines, from small desktop computers to huge multiproc- sors. The Guide to Fortran 2003 Programming is an informal, tutorial introduction to the most important features of Fortran 2003 (also known as Fortran 03), the latest standard version of Fortran. Fortran has many modern features that will assist the programmer in writing efficient, portable, and maintainable programs that are useful for everything from "hard science" to text processing. Target Audience This book is intended for anyone who wants to learn Fortran 03, including those fam- iar with programming language concepts but unfamiliar with Fortran. Experienced Fortran 95 programmers will be able to use this volume to assimilate quickly those f- tures in Fortran 03 that are not in Fortran 95 (Fortran 03 contains all of the features of Fortran 95). This guide is not a complete reference work for the entire Fortran l- guage; it covers the basic features needed to be a good Fortran programmer and an - troduction to the important new features of Fortran 03. Many older error-prone features have been omitted and some of the more esoteric features that are new to F- tran 03 also are not discussed.
Java I/O, NIO and NIO.2 is a power-packed book that is an accelerated guide and reference on buffers, files, sockets, datagrams, and pipe channels as found in the Java I/O, NIO, and NIO.2 reference implementations. In this book, you'll also learn how and when to use selectors, regular expressions, including patterns, matchers and more. You'll learn how to work with Charsets, formatters and scanners. You'll - all in all - learn how to use and apply NIO, NIO.2 and the enhancements available. After reading and using this book, you'll gain the accelerated knowledge and skill level to really build applications with efficient data access, especially for today's cloud computing streaming data needs.
In just 24 sessions of one hour or less, you'll learn how to build complete, reliable, and modern Windows applications with Microsoft (R) Visual Basic (R) 2015. Using a straightforward, step-by-step approach, each lesson builds on what you've already learned, giving you a strong foundation for success with every aspect of VB 2015 development. Notes present interesting pieces of information. Tips offer advice or teach an easier way to do something. Cautions advise you about potential problems and help you steer clear of disaster. Learn How To Master VB 2015 by building a complete feature-rich application Navigate VB 2015 and discover its new shortcuts Work with objects, collections, and events Build attractive, highly-functional user interfaces Make the most of forms, controls, modules, and procedures Efficiently store data and program databases Make decisions in code Use powerful object-oriented techniques Work with graphics and text files Manipulate filesystems and the Registry Add email support Create efficient modules and reusable procedures Interact effectively with users Write code to preview and print documents Debug with VB 2015's improved breakpoint features Distribute your software Download all examples and source code presented in this book from informit.com/title/9780672337451 as they become available. Who Should Read This Book Those who have little or no programming experience or who might be picking up Visual Basic as a second language. Bug Alert Description: Changing the startup form's name in a VB WinForms app does not update the "Startup form" #4517 Explanation: In the latest Visual Basic update on GitHub, Microsoft accidentally introduced a significant bug that you should be aware of. In the Visual Basic project properties dialog on one of the tabs (Application), is a drop down box for selecting the "startup object". This can be either a Main method or a System.Windows.Forms instance (or System.Windows.Window for WPF). When you do a rename on a form (say from the code editor in source or from the solution explorer) currently set as the startup form the rename doesn't cascade to the startup object project property cause the project to enter an invalid state where the user must now manually reset this project property from the now nonexistent Form to the new name. This is a huge annoyance. The fix for the bug (until Microsoft addresses) can be found here: http://www.jamesfo
Over the period of last few decades, the 'C' language has become an icon for computer programmers. The field of computer science has undergone tremendous change, and the rate of obsolescence of concepts, programming platforms, tools and utilities is extremely high. However, in spite of such vast changes, the only thing that has retained its stability is the 'C' language. Even today, millions of students, hobbyists and professional programmers enjoy the sturdiness, reliability and user friendliness of the 'C' language. Today 'C' enjoys the undisputable recognition in the computing paradigm for diversified applications, from the basic programming, microcontrollers, and spreadsheets to system programming. In this book, most of the usual theoretical features have been skipped, for these have been widely published in previous books. Rather than introducing the underpinning theory, the authors approach has been "learning-through-doing", which is one that often appeals to programmers. Theory is followed by practical implementation, and in this way the book will cover programming aspects in a self-tutor manner providing an excellent overview, from basic to advance programming. Topics discussed include: * GCC interface * First time 'C' User * Decision and looping structures * Arrays and pointers * Functions, structures and union * Linear data structures
Expert C# 5.0 is a book about getting the best from C#. It's based on the principle that to write good, high-performance, robust applications you need to understand whats going on deep under the hood. If you are already experienced with writing managed applications and want to learn more about how to get the best from the language at an advanced level, then this is the book for you. Expert C# 5.0 discusses the familiar C# language in forensic detail. Examining familiar elements closely to reveal how they really work. Key language features that you are already familiar with, such as Enums, Strings and Collections, are teased apart and examined under the twin microscopes of MSIL (Intermediate Language) and the Windbg debugger to see what's really going on behind the scenes as your code is compiled and passed to the CLR. This unparalleled depth of explanation will help you to become a true master of the C# language and architect better crafted applications that work in the most efficient and reliable way possible. It will also give you the insight you need to rapidly identify and fix the stubborn coding faults that others may be unable to diagnose.What you'll learn * Learn the detailed workings behind common language elements such as Enum, readonly, Anonymous and Func. * Understand how to work with Strings and StringBuilder in the most effective way. * Master Exception management far beyond the basics. * See how components such as LINQ and Async interact with the C# language beneath the surface. Who this book is for This book is for experienced C# developers who are comfortable working with the language. You should be happy creating non-trivial code samples and ready to delve into the detail of the language's workings in order to truly master the concepts.
A straightforward, step-by-step introduction to clear and elegant object-oriented programming. Using a language that's perfect for this kind of programming, the book has been tested in numerous courses and workshops over ten years. Programming Smalltalk is particularly suited for readers with no prior programming knowledge. Starting from the first principles of programming, it teaches you how to use and create algorithms (reusable rules for problem-solving) and the basic building blocks of software. It goes on to explain how to develop complete applications and has a whole chapter on web applications as well as case studies. Now translated into English, this edition was completely revised to be consistent with the latest version of Cincom (R) VisualWorks (R), a professional Smalltalk environment. All examples were created using VisualWorks, which is available without cost for educational purposes, and can be downloaded and installed on any up-to-date computer.
Researches and developers of simulation models state that the Java program ming language presents a unique and significant opportunity for important changes in the way we develop simulation models today. The most important characteristics of the Java language that are advantageous for simulation are its multi-threading capabilities, its facilities for executing programs across the Web, and its graphics facilities. It is feasible to develop compatible and reusable simulation components that will facilitate the construction of newer and more complex models. This is possible with Java development environments. Another important trend that begun very recently is web-based simulation, i.e., and the execution of simulation models using Internet browser software. This book introduces the application of the Java programming language in discrete-event simulation. In addition, the fundamental concepts and prac tical simulation techniques for modeling different types of systems to study their general behavior and their performance are introduced. The approaches applied are the process interaction approach to discrete-event simulation and object-oriented modeling. Java is used as the implementation language and UML as the modeling language. The first offers several advantages compared to C++, the most important being: thread handling, graphical user interfaces (QUI) and Web computing. The second language, UML (Unified Modeling Language) is the standard notation used today for modeling systems as a collection of classes, class relationships, objects, and object behavior.
Originally published in 2002, this book presents techniques in the application of formal methods to object-based distributed systems. A major theme of the book is how to formally handle the requirements arising from OO distributed systems, such as dynamic reconfiguration, encapsulation, subtyping, inheritance, and real-time aspects. These may be supported either by enhancing existing notations, such as UML, LOTOS, SDL and Z, or by defining fresh notations, such as Actors, Pi-calculus and Ambients. The major specification notations and modelling techniques are introduced and compared by leading researchers. The book also includes a description of approaches to the specification of non-functional requirements, and a discussion of security issues. Researchers and practitioners in software design, object-oriented computing, distributed systems, and telecommunications systems will gain an appreciation of the relationships between the major areas of concerns and learn how the use of object-oriented based formal methods provides workable solutions.
This collection of articles by well-known experts was originally published in 2000 and is intended for researchers in computer science, practitioners of formal methods, and computer programmers working in safety-critical applications or in the technology of component-based systems. The work brings together several elements of this area that were fast becoming the focus of much research and practice in computing. The introduction by Clemens Szyperski gives a snapshot of research in the field. About half the articles deal with theoretical frameworks, models, and systems of notation; the rest of the book concentrates on case studies by researchers who have built prototype systems and present findings on architectures verification. The emphasis is on advances in the technological infrastructure of component-based systems; how to design and specify reusable components; and how to reason about, verify, and validate systems from components. Thus the book shows how theory might move into practice.
This book provides a broad coverage of fundamental and advanced con cepts of data structures and algorithms. The material presented includes a treatment of elementary data structures such as arrays, lists, stacks, and trees, as well as newer structures that have emerged to support the process ing of multidimensional or spatial data files. These newer structures and algorithms have received increasing attention in recent years in conjunc tion with the rapid growth in computer-aided design, computer graphics, and related fields in which multidimensional data structures are of great interest. Our main objective is to mesh the underlying concepts with application examples that are of practical use and are timely in their implementations. To this end, we have used mainly the Abstract Data Structure (or Abstract Data Type (ADT)) approach to define structures for data and operations. Object-oriented programming (OOP) methodologies are employed to im plement these ADT concepts. In OOP, data and operations for an ADT are combined into a single entity (object). ADTs are used to specifiy the objects-arrays, stacks, queues, trees, and graphs. OOP allows the pro grammer to more closely mimic the real-world applications. This OOP is more structured and modular than previous attempts. OOP has become de facto state-of-the-art in the 1990s. |
You may like...
Agile Scrum Implementation and Its…
Kenneth R Walsh, Sathiadev Mahesh, …
Hardcover
R5,994
Discovery Miles 59 940
Object-oriented Design Knowledge…
Mario Piattini, Javier Garzas
Hardcover
R2,507
Discovery Miles 25 070
Object-Oriented Analysis and Design for…
Raul Sidnei Wazlawick
Paperback
R1,120
Discovery Miles 11 200
Behaviourism in Studying Swarms: Logical…
Andrew Schumann
Hardcover
|