|
Books > Computing & IT > Computer programming > Object-oriented programming (OOP)
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.
Written by internationally-acclaimed trainer and developer Scott Ambler, this book is a must-have resource for designers, programmers and testers of today's OO applications. The author takes you through the entire process of building object applications, from analyzing the project, to designing a user-friendly interface, to testing your approaches to make sure your applications work properly. Building Object Applications That Work includes sections on: how to use the Unified Modeling Language effectively; analysis, so you know what you need to build; design techniques, so that you know how you are going to build your application; collecting the right metrics to improve your development approach; applying OO patterns to improve the quality of your applications; creating applications for stand-alone, client/server and distributed environments; using both relational and object-oriented databases to make your objects persistent; and architecting your applications so they are maintainable and extensible.
Use the computational thinking philosophy to solve complex problems
by designing appropriate algorithms to produce optimal results
across various domains Key Features Develop logical reasoning and
problem-solving skills that will help you tackle complex problems
Explore core computer science concepts and important computational
thinking elements using practical examples Find out how to identify
the best-suited algorithmic solution for your problem Book
DescriptionComputational thinking helps you to develop logical
processing and algorithmic thinking while solving real-world
problems across a wide range of domains. It's an essential skill
that you should possess to keep ahead of the curve in this modern
era of information technology. Developers can apply their knowledge
of computational thinking to solve problems in multiple areas,
including economics, mathematics, and artificial intelligence. This
book begins by helping you get to grips with decomposition, pattern
recognition, pattern generalization and abstraction, and algorithm
design, along with teaching you how to apply these elements
practically while designing solutions for challenging problems.
You'll then learn about various techniques involved in problem
analysis, logical reasoning, algorithm design, clusters and
classification, data analysis, and modeling, and understand how
computational thinking elements can be used together with these
aspects to design solutions. Toward the end, you will discover how
to identify pitfalls in the solution design process and how to
choose the right functionalities to create the best possible
algorithmic solutions. By the end of this algorithm book, you will
have gained the confidence to successfully apply computational
thinking techniques to software development. What you will learn
Find out how to use decomposition to solve problems through visual
representation Employ pattern generalization and abstraction to
design solutions Build analytical skills required to assess
algorithmic solutions Use computational thinking with Python for
statistical analysis Understand the input and output needs for
designing algorithmic solutions Use computational thinking to solve
data processing problems Identify errors in logical processing to
refine your solution design Apply computational thinking in various
domains, such as cryptography, economics, and machine learning Who
this book is forThis book is for students, developers, and
professionals looking to develop problem-solving skills and tactics
involved in writing or debugging software programs and
applications. Familiarity with Python programming is required.
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.
The definitive guide to Java programming-thoroughly revised for
Java SE 17 Fully updated for the current version of Java, Java SE
17, this practical guide from Oracle Press shows, step by step, how
to design, write, troubleshoot, run, and maintain high-performance
Java programs. Inside, bestselling author Herbert Schildt covers
the entire Java language, including its syntax, keywords, and
libraries. The book lays out cutting-edge programming techniques
and best practices. Java: The Complete Reference, Twelfth Edition
features clear explanations, detailed code samples, and real-world
examples that demonstrate how Java can be put to work in the real
world. JavaBeans, servlets, applets, Swing, lambda expressions,
multithreading, and the default interface method are thoroughly
discussed. You will get full details on all of the new features and
functions available in Java SE 17. Designed for novice,
intermediate, and professional programmers alike Source code for
all examples and projects are available for download Written in the
clear, uncompromising style for which Herb Schildt is famous
Software engineering has surfaced as an industrial field that is
continually evolving due to the emergence of advancing technologies
and innovative methodologies. Scrum is the most recent revolution
that is transforming traditional software procedures, which has
researchers and practitioners scrambling to find the best
techniques for implementation. The continued development of this
agile process requires an extensive level of research on up-to-date
findings and applicable practices. Agile Scrum Implementation and
Its Long-Term Impact on Organizations is a collection of innovative
research on the methods and applications of scrum practices in
developing agile software systems. The book combines perspectives
from both the academic and professional communities as the
challenges and solutions expressed by each group can create a
better understanding of how practice must be applied in the real
world of software development. While highlighting topics including
scrum adoption, iterative deployment, and human impacts, this book
is ideally designed for researchers, developers, engineers,
practitioners, academicians, programmers, students, and educators
seeking current research on practical improvements in agile
software progression using scrum methodologies.
Object-Oriented Design with Applications has long been the
essential reference to object-oriented technology, which, in turn,
has evolved to join the mainstream of industrial-strength software
development. In this third edition--the first revision in 13
years--readers can learn to apply object-oriented methods using new
paradigms such as Java, the Unified Modeling Language (UML) 2.0,
and .NET.The authors draw upon their rich and varied experience to
offer improved methods for object development and numerous examples
that tackle the complex problems faced by software engineers,
including systems architecture, data acquisition, cryptoanalysis,
control systems, and Web development. They illustrate essential
concepts, explain the method, and show successful applications in a
variety of fields. You'll also find pragmatic advice on a host of
issues, including classification, implementation strategies, and
cost-effective project management.New to this new edition areAn
introduction to the new UML 2.0, from the notation's most
fundamental and advanced elements with an emphasis on key
changesNew domains and contextsA greatly enhanced focus on
modeling--as eagerly requested by readers--with five chapters that
each delve into one phase of the overall development
lifecycle.Fresh approaches to reasoning about complex systemsAn
examination of the conceptual foundation of the widely
misunderstood fundamental elements of the object model, such as
abstraction, encapsulation, modularity, and hierarchyHow to
allocate the resources of a team of developers and mange the risks
associated with developing complex software systemsAn appendix on
object-oriented programming languagesThis is the seminal text for
anyone who wishes to use object-oriented technology to manage the
complexity inherent in many kinds of systems.
"Sidebars
Preface
Acknowledgments
About the Authors "
Section I: Concepts
Chapter 1: Complexity
Chapter 2: The Object Model
Chapter 3: Classes and Objects
Chapter 4: Classification
Section II: Method
Chapter 5: Notation
Chapter 6: Process
Chapter 7: Pragmatics
Chapter 8: System Architecture: Satellite-Based Navigation
Chapter 9: Control System: Traffic Management
Chapter 10: Artificial Intelligence: Cryptanalysis
Chapter 11: Data Acquisition: Weather Monitoring Station
Chapter 12: Web Application: Vacation Tracking System
Appendix A: Object-Oriented Programming Languages
Appendix B: Further Reading "
Notes
Glossary
Classified Bibliography
Index ""
"
A comprehensive guide to exploring modern Python through data
structures, design patterns, and effective object-oriented
techniques Key Features Build an intuitive understanding of
object-oriented design, from introductory to mature programs Learn
the ins and outs of Python syntax, libraries, and best practices
Examine a machine-learning case study at the end of each chapter
Book DescriptionObject-oriented programming (OOP) is a popular
design paradigm in which data and behaviors are encapsulated in
such a way that they can be manipulated together. Python
Object-Oriented Programming, Fourth Edition dives deep into the
various aspects of OOP, Python as an OOP language, common and
advanced design patterns, and hands-on data manipulation and
testing of more complex OOP systems. These concepts are
consolidated by open-ended exercises, as well as a real-world case
study at the end of every chapter, newly written for this edition.
All example code is now compatible with Python 3.9+ syntax and has
been updated with type hints for ease of learning. Steven and Dusty
provide a comprehensive, illustrative tour of important OOP
concepts, such as inheritance, composition, and polymorphism, and
explain how they work together with Python's classes and data
structures to facilitate good design. In addition, the book also
features an in-depth look at Python's exception handling and how
functional programming intersects with OOP. Two very powerful
automated testing systems, unittest and pytest, are introduced. The
final chapter provides a detailed discussion of Python's concurrent
programming ecosystem. By the end of the book, you will have a
thorough understanding of how to think about and apply
object-oriented principles using Python syntax and be able to
confidently create robust and reliable programs. What you will
learn Implement objects in Python by creating classes and defining
methods Extend class functionality using inheritance Use exceptions
to handle unusual situations cleanly Understand when to use
object-oriented features, and more importantly, when not to use
them Discover several widely used design patterns and how they are
implemented in Python Uncover the simplicity of unit and
integration testing and understand why they are so important Learn
to statically type check your dynamic code Understand concurrency
with asyncio and how it speeds up programs Who this book is forIf
you are new to object-oriented programming techniques, or if you
have basic Python skills and wish to learn how and when to
correctly apply OOP principles in Python, this is the book for you.
Moreover, if you are an object-oriented programmer coming from
other languages or seeking a leg up in the new world of Python, you
will find this book a useful introduction to Python. Minimal
previous experience with Python is necessary.
Get ready to learn Java the fun way by developing games for the
Android platform with this new and updated third edition Key
Features Learn Java, Android, and object-oriented programming from
scratch Find out how to build games including Sub Hunter, Retro
Pong, Bullet Hell, Classic Snake, and Scrolling Shooters Create and
design your own games by learning all the concepts that a game
developer must know Book DescriptionAndroid is one of the most
popular mobile operating systems today. It uses the most popular
programming language, Java, as one of the primary languages for
building apps of all types. Unlike most other Android books, this
book doesn't assume that you have any prior knowledge of Java
programming, instead helps you get started with building Android
games as a beginner. This new, improved, and updated third edition
of Learning Java by Building Android Games helps you to build
Android games from scratch. Once you've got to grips with the
fundamentals, the difficulty level increases steadily as you
explore key Java topics, such as variables, loops, methods,
object-oriented programming (OOP), and design patterns while
working with up-to-date code and supporting examples. At each
stage, you'll be able to test your understanding by implementing
the concepts that you've learned to develop a game. Toward the end,
you'll build games such as Sub Hunter, Retro Pong, Bullet Hell,
Classic Snake, and Scrolling Shooter. By the end of this Java book,
you'll not only have a solid understanding of Java and Android
basics but will also have developed five cool games for the Android
platform. What you will learn Set up a game development environment
in Android Studio Respond to a player's touch and program
intelligent enemies who can challenge the player in different ways
Explore collision detection, sprite sheets animation, simple
tracking and following, AI, parallax backgrounds, and particle
explosions Animate objects at 60 FPS and manage multiple
independent objects using OOP Work with design patterns such as
OOP, singleton, strategy, and entity-component Work with the
Android API, the SoundPool API, Paint, Canvas, Bitmap classes, and
detect version numbers Who this book is forLearning Java by
Building Android Games is for anyone who is new to Java, Android,
or game programming and wants to develop Android games. The book
will also serve as a refresher for those who already have
experience using Java on Android or any other platform but are new
to game development.
|
|