For Database Systems and Database Design and Application courses offered at the junior, senior and graduate levels in Computer Science departments. Written by well-known computer scientists, this introduction to database systems offers a comprehensive approach, focusing on database design, database use, and implementation of database applications and database management systems. The first half of the book provides in-depth coverage of databases from the point of view of the database designer, user, and application programmer. It covers the latest database standards SQL:1999, SQL/PSM, SQL/CLI, JDBC, ODL, and XML, with broader coverage of SQL than most other texts. The second half of the book provides in-depth coverage of databases from the point of view of the DBMS implementor. It focuses on storage structures, query processing, and transaction management. The book covers the main techniques in these areas with broader coverage of query optimization than most other texts, along with advanced topics including multidimensional and bitmap indexes, distributed transactions, and information integration techniques. Resources: Open access Author Website ¿http://infolab.stanford.edu/~ullman/dscb.html ¿includes Power Point slides, teaching notes, assignments, projects, Oracle Programming Guidelines, and solutions to selected exercises. Instructor only Pearson Resources: Complete Solutions Manual (click on the Resources tab above to view downloadable files) Features + Benefits Many real-world examples. Offers a readable and engaging presentation. Extensive treatment of database modeling?Includes detailed and separate explanations of how to use E/R and ODL to design databases. Teaches about this important first step of the planning process. Excellent, up-to-date and detailed coverage of SQL?Includes coverage of object-relational systems and many aspects of the new SQL:1999 standard. Provides a more extensive treatment of query processing than other books on the market. Discussion of the technologies used to connect database programming with C or Java code?Includes discussions of SQL/PSM, SQL/CLI, and JDBC. Gives students practical advice on integrating state-of-the-art technologies with databases. Coverage of advanced issues important to database designers and users. Includes discussions of views, integrity constraints, assertions, triggers, transactions, authorization, and recursion in SQL:1999. Discussions of how to successfully plan a database application before building it. Reflects how these plans are developed in the real world. Coverage of topics such as designing storage structures and implementing a variety of indexing schemes. Shows students how to build efficient database management systems. Extensive coverage of query processing and optimization. Shows students how to fine tune database systems to improve performance. Comprehensive coverage of transaction processing mechanisms for concurrency control and recovery, including distributed and long-duration transactions. Shows how to design complex database systems that can handle real-world business applications. Coverage of information integration, including data warehousing, mediation, OLAP, data-cube systems, and data mining. Exposes readers to cutting edge technology used in business applications. Extensive exercises?In almost every section. Provides students with the opportunity to practice and apply the concepts they´ve learned in each chapter. Please note that GOAL/Gradiance is no longer available with this book. TABLE OF CONTENTS 1 The Worlds of Database Systems 1.1 The Evolution of Database Systems 1.1.1 Early Database Management Systems 1.1.2 Relational Database Systems 1.1.3 Smaller and Smaller Systems 1.1.4 Bigger and Bigger Systems 1.1.5 Information Integration 1.2 Overview of a Database Management System 1.2.1 Data-Definition Language Commands 1.2.2 Overview of Query Processing 1.2.3 Storage and Buffer Management 1.2.4 Transaction Processing 1.2.5 The Query Processor 1.3 Outline of Database-System Studies 1.4 References for Chapter 1 PART I: Relational Database Modeling 2 The Relational Model of Data 2.1 An Overview of Data Models 2.1.1 What is a Data Model? 2.1.2 Important Data Models 2.1.3 The Relational Model in Brief 2.1.4 The Semistructured Model in Brief 2.1.5 Other Data Models 2.1.6 Comparison of Modeling Approaches 2.2 Basics of the Relational Model 2.2.1 Attributes 2.2.2 Schemas 2.2.3 Tuples 2.2.4 Domains 2.2.5 Equivalent Representations of a
For courses in Object-Oriented Design, C++ Intermediate Programming, and Object-Oriented Programming. Written for software engineers ?in the trenches,? this text focuses on the technology?the principles, patterns, and process?that help software engineers effectively manage increasingly complex operating systems and applications. There is also a strong emphasis on the people behind the technology. This text will prepare students for a career in software engineering and serve as an on-going education for software engineers. Features + Benefits Comprehensive, pragmatic tutorial on Agile Development and eXtreme programming written by one of the founding father of Agile Development. Teaches software developers how to get projects done on time, and on budget using the power of Agile Development. Uses real-world case studies to show how to of plan, test, refactor, and pair program using eXtreme programming. Focuses on solving customer oriented systems problems using UML and Design Patterns I. AGILE DEVELOPMENT. 1. Agile Practices. 2. Overview of Extreme Programming. 3. Planning. 4. Testing. 5. Refactoring. 6. A Programming Episode. II. AGILE DESIGN. 7. What Is Agile Design? 8. SRP: The Single-Responsibility Principle. 9. OCP: The Open-Closed Principle. 10. LSP: The Liskov Substitution Principle. 11. DIP: The Dependency-Inversion Principle. 12. ISP: The Interface-Segregation Principle. III. THE PAYROLL CASE STUDY. 13. Command and Active Object. 14. Template Method & Strategy: Inheritance vs. Delegation. 15. Facade and Mediator. 16. Singleton and Monostate. 17. Null Object. 18. The Payroll Case Study: Iteration One Begins. 19. The Payroll Case Study: Implementation. IV. PACKAGING THE PAYROLL SYSTEM. 20. Principles of Package Design. 21. Factory. 22. The Payroll Case Study (Part 2). V. THE WEATHER STATION CASE STUDY. 23. Composite. 24. Observer?Backing into a Pattern. 25. Abstract Server, Adapter, and Bridge. 26. Proxy and Stairway to Heaven: Managing Third Party APIs. 27. Case Study: Weather Station. VI. THE ETS CASE STUDY. 28. Visitor. 29. State. 30. The ETS Framework. Appendix A. UML Notation I: The CGI Example. Appendix B. UML Notation II: The Statmux. Appendix C. A Satire of Two Companies. Index. For courses in Object-Oriented Design, C++ Intermediate Programming, and Object-Oriented Programming. Written for software engineers ´´in the trenches,´´ this text focuses on the technology - the principles, patterns, and process - that help software engineers effectively manage increasingly complex operating systems and applications. There is also a strong emphasis on the people behind the technology. This text will prepare students for a career in software engineering and serve as an on-going education for software engineers.
For courses in Software Engineering, Software Development, or Object-Oriented Design and Analysis at the Junior/Senior or Graduate level. This text can also be utilized in short technical courses or in short, intensive management courses. Shows students how to use both the principles of software engineering and the practices of various object-oriented tools, processes, and products. Using a step-by-step case study to illustrate the concepts and topics in each chapter, Bruegge and Dutoit emphasize learning object-oriented software engineer through practical experience: students can apply the techniques learned in class by implementing a real-world software project. The third edition addresses new trends, in particular agile project management (Chapter 14 Project Management) and agile methodologies (Chapter 16 Methodologies).
The new edition of bestselling CCNA Cert Library by Wendell Odom is a comprehensive review and practice package for the latest CCNA exams. The two books contained in this package, CCENT/CCNA ICND1 Official Cert Guide, and CCNA ICND2 Official Cert Guide, present complete reviews and a more challenging and realistic preparation experience. The books will be fully updated to cover the latest CCNA exam topics. The companion DVDs contains the powerful Pearson IT Certification Practice Test engine, complete with hundreds of well-reviewed, exam-realistic questions. The assessment engine offers you a wealth of customization options and reporting features, laying out a complete assessment of your knowledge to help you focus your study where it is needed most. This new edition also includes a free copy of the CCNA Network Simulator Lite edition complete with meaningful lab exercises, which help you hone your hands-on skills with the Cisco user interface for routers and switches. The DVDs also contain more than 60 minutes of personal video mentoring from the author focused on subnetting. Well-regarded for its level of detail, assessment features, and challenging review questions and exercises, these official study guides help you master the concepts and techniques that will enable you to succeed on the exam the first time. This package includes the following two products: 1. CCENT/CCNA ICND1 Official Cert Guide 2. CCNA ICND2 Official Cert Guide
For courses in Computer Science and Programming Computer systems: A Programmer?s Perspective explains the underlying elements common among all computer systems and how they affect general application performance. Written from the programmer?s perspective, this book strives to teach students how understanding basic elements of computer systems and executing real practice can lead them to create better programs. Spanning across computer science themes such as hardware architecture, the operating system, and systems software, the Third Edition serves as a comprehensive introduction to programming. This book strives to create programmers who understand all elements of computer systems and will be able to engage in any application of the field--from fixing faulty software, to writing more capable programs, to avoiding common flaws. It lays the groundwork for students to delve into more intensive topics such as computer architecture, embedded systems, and cybersecurity. This book focuses on systems that execute an x86-64 machine code, and recommends that students have access to a Linux system for this course. Students should have basic familiarity with C or C++. MasteringEngineering ® not included. Students, if MasteringEngineering is a recommended/mandatory component of the course, please ask your instructor for the correct ISBN and course ID. MasteringEngineering should only be purchased when required by an instructor. Instructors, contact your Pearson representative for more information. MasteringEngineering is an online homework, tutorial, and assessment product designed to personalize learning and improve results. With a wide range of interactive, engaging, and assignable activities, students are encouraged to actively learn and retain tough course concepts. Features + Benefits This title is a Pearson Global Edition. The Editorial team at Pearson has worked closely with educators around the world to include content which is especially relevant to students outside the United States. Computer Systems: A Programmer?s Perspective uses the following features to facilitate learning: NEW! The book now exclusively bases its presentation on x86-64 A carefully planned 12 chapter layout that covers all of the core topics of computer programming Chapter 1 uses a simple ?hello world? program to introduce the major concepts and themes of computer programming. Chapter 2 dives into the topic of computer arithmetic, considering how numbers are represented in computer programs and how they affect value coding. The chapter places a special emphasis on the properties of unsigned and two?s-compliment number representations. It gives students necessary insight into arithmetic from the programmers perspective and why it?s so important. Chapter 3 teaches students how to read the x86-64 code generated by a C compiler, covering the basic instruction patterns for different control constructs, implementation procedures, and the allocation of different data structures. This chapter also discusses the implementation of integer and floating point arithmetic and takes a machine-level view of programs to understand certain code vulnerabilities. Chapter 4 introduces students to basic combinational and sequential logic elements and shows how they can be used in a simplified subset of the x86-64 instruction set called Y86-64. It starts with a single-cycle datapath and moves onto a discussion of pipelining. Chapter 5 gives students techniques for improving code performance with transformations that reduce work and enhance instruction-level parallelism. Chapter 6 covers different types of RAM and ROM memory systems, describing their hierarchical arrangement. The chapter makes the abstract concept tangible by using the analogy of a ?memory mountain? with ridges of temporal locality and slopes of spatial locality. Students learn that improving temporal and spatial locality improves performance. Chapter 7 discusses both static and dynamic linking, areas included in most systems text where programmers make their most confusing errors. Chapter 8 explains exceptional control flow at all levels of the system, from simple hardware interrupts to nonlocal jumps in C that break the stack discipline. This chapter introduces the fundamental idea of a process by teaching students how it works and how it is created and manipulated from application programs. Chapter 9 shows students key characteristics of the virtual memory system and how it works, addressing issues such
Proven strategies for maintaining and optimizing legacy code to get the most out of your existing applications. Examples in C-sharp, C++, and Java, as well as strategies for better using the industry standard modeling language: UML 2.0 Addresses the very concrete problems that programmers face working in the context of large untested code bases Based on successful classes for Object Mentor, the author helps organizations maintain older systems rather than go to the cost of developing new ones This book provides programmers with the ability to cost effectively handle common legacy code problems without having to go through the hugely expensive task of rewriting all existing code. It describes a series of practical strategies that developers can employ to bring their existing software applications under control. The author provides useful guidance about how to use these strategies when refactoring or making functional changes to code bases. One of the book´s key points is that it teaches developers to write tests that can be used to make sure they are not unintentionally changing the application as they optimize it. Examples are provided in Java, C++, and Csharp, and the book assumes that the reader has some knowledge of UML notation. Strategies using UML and code in C++ and Java primarily while language independent advice will be delivered in side bars and appendices for language specific users. Product Description This book provides programmers with the ability to cost effectively handlecommon legacy code problems without having to go through the hugelyexpensive task of rewriting all existing code. It describes a series of practicalstrategies that developers can employ to bring their existing softwareapplications under control. The author provides useful guidance about how touse these strategies when refactoring or making functional changes to codebases. One of the book´s key points is that it teaches developers to write teststhat can be used to make sure they are not unintentionally changing theapplication as they optimize it. Examples are provided in Java, C++, and Csharp,and the book assumes that the reader has some knowledge of UMLnotation. Strategies using UML and code in C++ and Java primarily whilelanguage independent advice will be delivered in side bars and appendices forlanguage specific users. Backcover Get more out of your legacy systems: more performance, functionality, reliability, and manageability Is your code easy to change? Can you get nearly instantaneous feedback when you do change it? Do you understand it? If the answer to any of these questions is no, you have legacy code, and it is draining time and money away from your development efforts. In this book, Michael Feathers offers start-to-finish strategies for working more effectively with large, untested legacy code bases. This book draws on material Michael created for his renowned Object Mentor seminars: techniques Michael has used in mentoring to help hundreds of developers, technical managers, and testers bring their legacy systems under control. The topics covered include Understanding the mechanics of software change: adding features, fixing bugs, improving design, optimizing performance Getting legacy code into a test harness Writing tests that protect you against introducing new problems Techniques that can be used with any language or platform-with examples in Java, C++, C, and C# Accurately identifying where code changes need to be made Coping with legacy systems that aren´t object-oriented Handling applications that don´t seem to have any structure This book also includes a catalog of twenty-four dependency-breaking techniques that help you work with program elements in isolation and make safer changes. © Copyright Pearson Education. All rights reserved. Preface. Introduction. I. THE MECHANICS OF CHANGE. 1. Changing Software. 2. Working with Feedback. 3. Sensing and Separation. 4. The Seam Model. 5. Tools. II. CHANGING SOFTWARE. 6. I Don´t Have Much Time and I Have To Change It. 7. It Takes Forever To Make a Change. 8. How Do I Add a Feature? 9. I Can´t Get This Class into a Test Harness. 10. I Can´t Run This Method into a Test Harness. 11. I Need to Make a Change. What Methods Should I Test? 12. I Need to Make Many Changes In One Area Do I Have To Break. 13. I Need To Make a Change but I Don´t Know What Tests To Write. 14. Dependencies on Libraries Are Killing Me. 15. My Application Is All API Calls. 16. I Don´t Understand the Code
Informatik für Schule und Ausbildung:Pearson Schule Rainer Hattenhauer
Grundlagen der Informatik:it Informatik Pearson Studium - IT. 3., aktualisierte Auflage Helmut Herold, Bruno Lurz, Jürgen Wohlrab, Matthias Hopf
Informatik macchiato:Cartoonkurs für Schüler und Studenten Studium Scientific Tools Always Learning. 2. Auflage Johannes Magenheim, Thomas A. Müller, Michael Dohmen
Programmieren mit Java II:it Informatik Always Learning Pearson Studium Reinhard Schiedermeier