![]() |
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)
Object Oriented Data Analysis is a framework that facilitates inter-disciplinary research through new terminology for discussing the often many possible approaches to the analysis of complex data. Such data are naturally arising in a wide variety of areas. This book aims to provide ways of thinking that enable the making of sensible choices.
Purpose of the Book This book presents an approach to improve the standard object-oriented pro gramming model. The proposal is aimed at supporting a larger range of incre mental behavior variations and thus promises to be more effective in mastering the complexity of today's software. The ability of dealing with the evolutionary nature of software is one of main merits of object-oriented data abstraction and inheritance. Object-orientation allows to organize software in a structured way by separating the description of different kinds of an abstract data type into different classes and loosely connecting them by the inheritance hierarchy. Due to this separation, the soft ware becomes free of conditional logics previously needed for distinguishing between different kinds of abstractions and can thus more easily be incremen tally extended to support new kinds of abstractions. In other words, classes and inheritance are means to properly model variations of behavior related to the existence of different kinds of an abstract data type. The support for extensi bility and reuse with respect to such kind-specific behavior variations is among the main reasons for the increasing popularity of object-oriented programming in the last two decades. However, this popularity does not prevent us from questioning the real effec tiveness of current object-oriented techniques in supporting incremental vari ations. In fact, this popularity makes a critical investigation of the variations that can actually be performed incrementally even more important."
For courses in introductory C# programming. Motivate students with clear, down-to-earth explanations and familiar graphical elements Starting Out With Visual C# is an ideal introductory Visual C# text for students with no prior programming experience. Students who are new to programming will appreciate the clear, down-to-earth explanations and the detailed walk-throughs that are provided by the hands-on tutorials. Gaddis's hallmark, step-by-step instructions are supported by a GUI-based approach that motivates students as they learn to create GUI-based, event-driven, Visual C# applications. Topics are examined progressively in each chapter, with objects taught before classes. The 5th Edition adds an abundance of new material and improvements with updates for compatibility with Visual Studio 2017. Two new chapters include Chapter 13: Delegates and Lambda Expressions and Chapter 14: Language-Integrated Query (LINQ).
C++ is now established as one of the leading industry programming languages for object-oriented software development. Its advantages over other languages include speed and flexibility. It is used as the base for many commercial software products and for performance solutions to complex problems. Not often taught as the primary programming language, students are frequently expected to pick up the language for themselves. This book is an ideal student self-learning guide. As a step-by-step tutorial, this book teaches all language features and explains their practical usage. Intuitive examples are used that are neither too complex to distract, nor oversimplified. A key concept in C++ is programming with templates, which can help to program generic solutions - for example implementing polymorphism. Nicolai Josuttis teaches how to combine templates with object-oriented programming to produce the power of modern C++ development for high performance programs. It is a book that goes well beyond the basics. A supplementary website, including source code, can be found at www.josuttis.com/cppbook Features:
The Unified Modeling Language (UML) is an evolutionary general-purpose, tool-supported, and industry-standardized (OMG) modeling language for specifying, visualizing, constructing, and documenting the artifacts of a system-intensive process. "Guide to Applying the UML" offers a practical bridge between tutorials and reference works, demonstrating how all of the elements of the UML fit together holistically and cohesively. It closes the gap between the UML and process using a ¿roadmap¿ that addresses the key decision points and their relationships, providing a comprehensive framework. The focus is on rules of usage and principles of composition, style guidelines, practical real-world examples, and a tool-, process-, and technology-independent roadmap for effectively and successfully applying the UML. Topics and features: * Essential rules for using the UML and composing UML models are collated around important UML constructs *Presents a broad introduction to applying the UML, without having to prematurely adopt a particular process *Provides detailed examples, enabling readers to make informed decisions when modeling across the system development life cycle *Demonstrates how UML elements are related and how the UML supports traceability and scales for the life cycle process *Clear, well-developed diagrams simplify learning and applying core concepts and techniques With its focused, yet highly accessible approach, this guide strikes an integrated balance between UML rules and practices. It is an authoritative and comprehensive reference for software practitioners and professionals involved in the design, development, and management of UML-related software projects. About the author: Sinan Si Alhir is a highly respected consultant and has extensive information systems/technology experience, and breadth and depth in all phases of the system development life cycle. With experience in both high- and low-level project work, and broad and deep knowledge of technology and methodology, he endeavors to deliver quality solution-oriented results within various application domains using a multitude of technologies and approaches. He specializes in object-orientation, methodology/process, the Unified Modeling Language (UML), and various other disciplines and subjects, and focuses on empowering organizations to benefit from their application.
Coming to grips with C++11 and C++14 is more than a matter of familiarizing yourself with the features they introduce (e.g., auto type declarations, move semantics, lambda expressions, and concurrency support). The challenge is learning to use those features effectively - so that your software is correct, efficient, maintainable, and portable. That's where this practical book comes in. It describes how to write truly great software using C++11 and C++14 - i.e. using modern C++. Topics include: The pros and cons of braced initialization, noexcept specifications, perfect forwarding, and smart pointer make functions The relationships among std::move, std::forward, rvalue references, and universal references Techniques for writing clear, correct, effective lambda expressions How std::atomic differs from volatile, how each should be used, and how they relate to C++'s concurrency API How best practices in "old" C++ programming (i.e., C++98) require revision for software development in modern C++ Effective Modern C++ follows the proven guideline-based, example-driven format of Scott Meyers' earlier books, but covers entirely new material.
For undergraduate students in Computer Science and Computer Programming courses A solid foundation in the basics of C++ programming will allow students to create efficient, elegant code ready for any production environment. Learning basic logic and fundamental programming techniques is essential for new programmers to succeed. A distinctive fundamentals-first approach and clear, concise writing style characterize Introduction to Programming with C++, 3/e. Basic programming concepts are introduced on control statements, loops, functions, and arrays before object-oriented programming is discussed. Abstract concepts are carefully and concretely explained using simple, short, and stimulating examples. Explanations are presented in brief segments, with many figures and tables. NEW! This edition is available with MyProgrammingLab, an innovative online homework and assessment tool. Through the power of practice and immediate personalized feedback, MyProgrammingLab helps students fully grasp the logic, semantics, and syntax of programming. Note: If you are purchasing the standalone text or electronic version, MyProgrammingLab does not come automatically packaged with the text. To purchase MyProgrammingLab, please visit: myprogramminglab.com or you can purchase a package of the physical text + MyProgrammingLab by searching the Pearson Higher Education web site. MyProgrammingLab is not a self-paced technology and should only be purchased when required by an instructor. Teaching and Learning Experience To provide a better teaching and learning experience, for both instructors and students, this program offers: *Fundamentals-First: Basic programming concepts are introduced on control statements, loops, functions, and arrays before object-oriented programming is discussed. *Problem-Driven Motivation: The examples and exercises throughout the book emphasize problem solving and foster the concept of developing reusable components and using them to create practical projects. *Support for Instructors and Students: The author maintains a website at http://www.cs.armstrong.edu/liang/cpp3e that includes multiple interactive resources.
If you are new to computer programming then this book is for you! Starting from scratch, it assumes no prior knowledge of programming and is written in a simple, direct style for maximum clarity. C# ('C Sharp') is an object-oriented, network-enabled programming language, developed expressly for Microsoft's .Net platform. C# provides the features that are the most important to programmers: object-orientation, graphics, GUI components, multimedia, internet-based client/server networking and distributed computing. 'C# for Students' explains key programming concepts and the central ideas of object oriented programming, using C# as the vehicle language.
Data Structures and Abstractions with Java is suitable for one- or two-semester courses in data structures (CS-2) in the departments of Computer Science, Computer Engineering, Business, and Management Information Systems. This book is also useful for programmers and software engineers interested in learning more about data structures and abstractions. This is the most student-friendly data structures text available that introduces ADTs in individual, brief chapters - each with pedagogical tools to help students master each concept. Using the latest features of Java, this unique object-oriented presentation makes a clear distinction between specification and implementation to simplify learning, while providing maximum classroom flexibility. Teaching and Learning Experience This book will provide a better teaching and learning experience-for you and your students. It will help: Aid comprehension and facilitate teaching with an approachable format and content organization: Material is organized into small segments that focus a reader's attention and provide greater instructional flexibility. Support learning with student-friendly pedagogy: In-text and online features help students master the material.
The fourth edition of Java Software Structuresembraces the enhancements of the latest version of Java, where all structures and collections are based on generics. The framework of the text walks the reader through three main areas: conceptualization, explanation, and implementation, allowing for a consistent and coherent introduction to data structures. Readers will learn how to develop high-quality software systems using well-designed collections and algorithms.
This volume presents a programming model, similar to object-oriented programming, that imposes a strict discipline on the form of the constituent objects and interactions among them. Concurrency considerations have been eliminated from the model itself and are introduced only during implementation, thereby freeing programmers from dealing with concurrency explicitly. Moreover, the resulting software designs are typically more modular and easier to analyze than the more traditional ones. Numerous examples illustrate various aspects of the model and reveal that a few simple, integrated features are adequate for designing complex applications. Topics and features: * Presents a simple, easy-to-understand multiprogramming model * Provides extensive development of the underlying theory * Emphasizes program composition, thereby making possible programming of large systems through modular designs * Eliminates explicit concurrency considerations during program design * Supplies efficient implementation schemes for distributed platforms. This book addresses the problem of developing complex distributed applications on wide-area networks, such as the Internet and World Wide Web, by using effective program design principles. Computer scientists, computer engineers, and software engineers will find the book an authoritative guide to large-scale multiprogramming.
What will you learn from this book? Ready to learn Java? This book combines puzzles, strong visuals, mysteries, and soul-searching interviews with famous Java objects to engage you in many different ways. It's fast, it's fun, and it's effective. And despite its playful appearance, Head First Java is serious stuff: a complete introduction to object-oriented programming and Java. You'll learn everything from the fundamentals to advanced topics. The new third edition brings the book up-to-date for Java 8-17, including major recent updates to the Java language and development platform. Java has seen some deep code-level changes and more modern approaches, requiring even more careful study and implementation. So learning the Head First way is more important than ever. What's so special about this book? If you've read a Head First book, you know what to expect--a visually rich format designed for the way your brain works. If you haven't, you're in for a treat. With this book, you'll learn Java through a multi-sensory experience that engages your mind rather than a text-heavy approach that puts you to sleep.
Create your first 2D, 3D, and AR/VR games with the awesome Unity game platform. With this hands-on beginner's guide, you'll start building games fast! In Unity in Action, Third Edition, you will learn how to: Create characters that run, jump, and bump into things Build 3D first-person shooters and third-person action games Construct 2D card games and side-scrolling platformers Script enemies with AI Improve game graphics by importing models and images Design an intuitive user interface for your games Play music and spatially-aware sound effects Connect your games to the internet for online play Deploy your games to desktop, mobile, and the web Thousands of new game developers have chosen Joe Hocking's Unity in Action as their first step toward Unity mastery. This fully updated third edition comes packed with fully refreshed graphics, Unity's latest features, and coverage of the augmented and virtual reality toolkits. Using your existing coding skills, you'll write custom code instead of just clicking together premade scripts. You'll master the Unity toolset from the ground up, adding the skills you need to go from application coder to game developer. Build your next game without sweating the low-level details. The Unity game engine handles the heavy lifting, so you can focus on game play, graphics, and user experience. With support for C#, a huge ecosystem of production-quality prebuilt assets, and a strong dev community, Unity will get your game idea off the drawing board and onto the screen! You can even use Unity for more than game development, with new tools for VR and augmented reality that are perfect for developing useful apps.
Object oriented programming is a way of thinking about problems. Smalltalk is one of the purest incarnations of an object-oriented programming language. Using a pedagogical approach, this book covers all aspects of object oriented programming: first through the study of various preexisting Smalltalk classes, their implementation and use; then through a detailed description of an implementation of an interactive Lindenmayer system and through implementation of a series of calculators. The author addresses such subjects as graphics programming, dependency mechanisms and hierarchical specialization. This book fills the gap for an in-depth self-study reference, permitting the reader to master all aspects of object-oriented programming through a large set of exercises with highly detailed resources.
Management of the Object-Oriented Development Process consists of a series of high-level discussions on technical and managerial issues related to object-oriented development. This book introduces object-oriented development techniques, including modeling languages, programming languages, reusable patterns and software development processes. It discusses the ongoing trends of object-oriented development, including emerging e-business development frameworks, executable UML and requirements engineering. There is also a focus on managerial issues such as project management and software evaluation, and how to manage the paradigm shift from structured to object-oriented development. Management of the Object-Oriented Development Process offers systems developers, project managers, information systems students and researchers technical skills as well as strategic insights on how to manage software projects, deploy object-oriented software development processes, understand the current trends and make the transition from structured to object-oriented techniques.
by Luea Cardelli Ever since Strachey's work in the 1960's, polymorphism has been classified into the parametric and overloading varieties. Parametric polymorphism has been the subject of extensive study for over two decades. Overloading, on the other hand, has often been considered too ad hoc to deserve much attention even though it has been, in some form, an ingredient of virtually every programming lan guage (much more so than parametric polymorphism). With the introduction of object-oriented languages, and in particular with multiple-dispatch object-oriented languages, overloading has become less of a programming convenience and more of a fundamental feature in need of proper explanation. This book provides a compelling framework for the study of run-time over loading and of its interactions with subtyping and with parametric polymorphism. The book also describes applications to object-oriented programming. This new framework is motivated by the relatively recent spread of programming languages that are entirely based on run-time overloading; this fact probably explains why this subject was not investigated earlier. Once properly understood, overloading reveals itself relevant also to the study of older and more conventional (single dispatch) object-oriented languages, clarifying delicate issues of covariance and contravariance of method types, and of run-time type analysis. In the final chapters, a synthesis is made between parametric and overloading polymorphism."
Access the power of bare-metal systems programming with Scala Native, an ahead-of-time Scala compiler. Without the baggage of legacy frameworks and virtual machines, Scala Native lets you re-imagine how your programs interact with your operating system. Compile Scala code down to native machine instructions; seamlessly invoke operating system APIs for low-level networking and IO; control pointers, arrays, and other memory management techniques for extreme performance; and enjoy instant start-up times. Skip the JVM and improve your code performance by getting close to the metal. Developers generally build systems on top of the work of those who came before, accumulating layer upon layer of abstraction. Scala Native provides a rare opportunity to remove layers. Without the JVM, Scala Native uses POSIX and ANSI C APIs to build concise, expressive programs that run unusually close to bare metal. Scala Native compiles Scala code down to native machine instructions instead of JVM bytecode. It starts up fast, without the sluggish warm-up phase that's common for just-in-time compilers. Scala Native programs can seamlessly invoke operating system APIs for low-level networking and IO. And Scala Native lets you control pointers, arrays, and other memory layout types for extreme performance. Write practical, bare-metal code with Scala Native, step by step. Understand the foundations of systems programming, including pointers, arrays, strings, and memory management. Use the UNIX socket API to write network client and server programs without the sort of frameworks higher-level languages rely on. Put all the pieces together to design and implement a modern, asynchronous microservice-style HTTP framework from scratch. Take advantage of Scala Native's clean, modern syntax to write lean, high-performance code without the JVM. What You Need: A modern Windows, Mac OS, or Linux system capable of running Docker. All code examples in the book are designed to run on a portable Docker-based build environment that runs anywhere. If you don't have Docker yet, see the Appendix for instructions on how to get it.
A Perl expert can solve a problem in a few lines of well-tested code. Now you can unlock these powers for yourself. Modern Perl teaches you how Perl really works. It's the only book that explains Perl thoroughly, from its philosophical roots to the pragmatic decisions that help you solve real problems--and keep them solved. You'll understand how the language fits together and discover the secrets used by the global Perl community. This beloved guide is now completely updated for Perl 5.22. When you have to solve a problem now, reach for Perl. When you have to solve a problem right, reach for Modern Perl. Discover how to scale your skills from one-liners to asynchronous Unicode-aware web services and everything in between. Modern Perl will take you from novice to proficient Perl hacker. You'll see which features of modern Perl will make you more productive, and which features of this well-loved language are best left in the past. Along the way, you'll take advantage of Perl to write well-tested, clear, maintainable code that evolves with you.Learn how the language works, how to take advantage of the CPAN's immense trove of time-tested solutions, and how to write clear, concise, powerful code that runs everywhere. Specific coverage explains how to use Moose, how to write testable code, and how to deploy and maintain real-world Perl applications. This new edition covers the new features of Perl 5.20 and Perl 5.22, including all the new operators, standard library changes, bug and security fixes, and productivity enhancements. It gives you what you need to use the most up-to-date Perl most effectively, all day, every day. What You Need: Perl 5.16 or newer (Perl 5.20 or 5.22 preferred). Installation/upgrade instructions included.
Validation of computer systems is the process that assures the formal assessment and report of quality and performance measures for all the life-cycle stages of software and system development, its implementation, qualification and acceptance, operation, modification, requalification, maintenance and retirement (PICS CSV PI 011-3). It is a process that demonstrates the compliance of computer systems functional and non-functional requirements, data integrity, regulated company procedures and safety requirements, industry standards, and applicable regulatory authority's requirements. Compliance is a state of being in adherence to application-related standards or conventions or regulations in laws and similar prescriptions. This book, which is relevant to the pharmaceutical and medical devices regulated operations, provides practical information to assist in the computer validation to production systems, while highlighting and efficiently integrating worldwide regulation into the subject. A practical approach is presented to increase efficiency and to ensure that the validation of computer systems is correctly achieved.
This book is the follow-up of the Boost Volume I book and it has been written for software developers who use Boost C++ libraries to create flexible applications. We discuss approximately 20 advanced libraries that can be classified into the following major categories: Mathematics: special functions, statistical distributions, interval arithmetic and matrix algebra. Special data structures: date and time, circular buffer, UUID, dynamic bitsets, pool memory. TCP and UDP portable network programming using the software interface. Interprocess communication and shared memory programming models. Three chapters on graphs, graph algorithms and their implementation in Boost. The focus is hands-on and each library is discussed in detail and numerous working examples are given to get the reader up to speed as soon as possible. Each library is described in a step-by-step fashion and you can use the corresponding code as a basis for more advanced applications. These libraries are the ideal basis for new applications. We shall use them in Volume III of the current series when we discuss applications to engineering, science and computational finance. About the Authors Robert Demming is software designer, developer and trainer and he has been involved with software projects in the areas of optical technology, process control, CAD and order processing systems since 1993. He has a BSc degree in technical computerscience from Amsterdam Hogeschool. Daniel J. Duffy is founder of Datasim Education BV and has been working with C++ and its applications since 1989 and with software development since 1979. He is designer, algorithm builder and trainer. He has a PhD in numerical analysis from Trinity College, Dublin. One of the projects that he is involved in is applying the Boost libraries to computational finance."
Handbook of Neuroevolution Through Erlang presents both the theory behind, and the methodology of, developing a neuroevolutionary-based computational intelligence system using Erlang. With a foreword written by Joe Armstrong, this handbook offers an extensive tutorial for creating a state of the art Topology and Weight Evolving Artificial Neural Network (TWEANN) platform. In a step-by-step format, the reader is guided from a single simulated neuron to a complete system. By following these steps, the reader will be able to use novel technology to build a TWEANN system, which can be applied to Artificial Life simulation, and Forex trading. Because of Erlang's architecture, it perfectly matches that of evolutionary and neurocomptational systems. As a programming language, it is a concurrent, message passing paradigm which allows the developers to make full use of the multi-core & multi-cpu systems. Handbook of Neuroevolution Through Erlang explains how to leverage Erlang's features in the field of machine learning, and the system's real world applications, ranging from algorithmic financial trading to artificial life and robotics.
Attacks against computer systems can cause considerable economic or physical damage. High-quality development of security-critical systems is difficult, mainly because of the conflict between development costs and verifiable correctness. JA1/4rjens presents the UML extension UMLsec for secure systems development. It uses the standard UML extension mechanisms, and can be employed to evaluate UML specifications for vulnerabilities using a formal semantics of a simplified fragment of UML. Established rules of security engineering can be encapsulated and hence made available even to developers who are not specialists in security. As one example, JA1/4rjens uncovers a flaw in the Common Electronic Purse Specification, and proposes and verifies a correction. With a clear separation between the general description of his approach and its mathematical foundations, the book is ideally suited both for researchers and graduate students in UML or formal methods and security, and for advanced professionals writing critical applications.
Requirements Modeling and Coding attempts to bridge the gap between modeling and coding and serves the growing trend of agile development better than existing textbooks in the area. Instead of using toy tools to create modeling and coding examples, the author teaches IBM Rational Rhapsody as a modeling tool and Microsoft Visual C# as a programming tool. C# is the purest object-oriented programming language and the best tool for developing graphical user interfaces, while Rhapsody is a visual development environment that real software developers use to create real-time or embedded systems.This book serves as a text for a capstone course on Systems Analysis and Design in Information Systems programs. It conceptualizes business objects and functions, develops business models and software architectures, and enriches the models and the architectures by storyboarding use cases along with user interface designs.Instructor's resources are provided for free to instructors who adopt the book as textbook. Please send your request to [email protected].
Requirements Modeling and Coding attempts to bridge the gap between modeling and coding and serves the growing trend of agile development better than existing textbooks in the area. Instead of using toy tools to create modeling and coding examples, the author teaches IBM Rational Rhapsody as a modeling tool and Microsoft Visual C# as a programming tool. C# is the purest object-oriented programming language and the best tool for developing graphical user interfaces, while Rhapsody is a visual development environment that real software developers use to create real-time or embedded systems.This book serves as a text for a capstone course on Systems Analysis and Design in Information Systems programs. It conceptualizes business objects and functions, develops business models and software architectures, and enriches the models and the architectures by storyboarding use cases along with user interface designs.Instructor's resources are provided for free to instructors who adopt the book as textbook. Please send your request to [email protected].
System developers have used modeling languages for decades to specify, visualize, construct, and document systems. The Unified Modeling Language (UML) is one of those languages. UML makes it possible for team members to collaborate by providing a common language that applies to a multitude of different systems. Essentially, it enables you to communicate solutions in a consistent, tool-supported language. Today, UML has become the standard method for modeling software systems, which means you're probably confronting this rich and expressive language more than ever before. And even though you may not write UML diagrams yourself, you'll still need to interpret diagrams written by others. "UML 2.0 in a Nutshell" from O'Reilly feels your pain. It's been crafted for professionals like you who must read, create, and understand system artifacts expressed using UML. Furthermore, it's been fully revised to cover version 2.0 of the language. This comprehensive new edition not only provides a quick-reference to all UML 2.0 diagram types, it also explains key concepts in a way that appeals to readers already familiar with UML or object-oriented programming concepts. Topics include: The role and value of UML in projects The object-oriented paradigm and its relation to the UML An integrated approach to UML diagrams Class and Object, Use Case, Sequence, Collaboration, Statechart, Activity, Component, and Deployment Diagrams Extension Mechanisms The Object Constraint Language (OCL) If you're new to UML, a tutorial with realistic examples has even been included to help you quickly familiarize yourself with the system. |
You may like...
What To Do When You Don't Know What To…
David Jeremiah
Paperback
(2)
Demand-Driven Web Services - Theory…
Zhaohao Sun, John Yearwood
Hardcover
R8,127
Discovery Miles 81 270
Think, Learn, Succeed - Understanding…
Dr. Caroline Leaf, Peter Amua-Quarshie, …
Paperback
(1)
Java for Bioinformatics and Biomedical…
Harshawardhan Bal, Johnny Hujol
Hardcover
R4,070
Discovery Miles 40 700
The Garden Within - Where The War With…
Dr. Anita Phillips
Hardcover
Gold Nuggets from God's Mine - 366 Daily…
Denise Smith-Lewis
Paperback
|